Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 75587200D08 for ; Thu, 21 Sep 2017 23:43:05 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 706281609E1; Thu, 21 Sep 2017 21:43:05 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id B7A5A1609DB for ; Thu, 21 Sep 2017 23:43:04 +0200 (CEST) Received: (qmail 27023 invoked by uid 500); 21 Sep 2017 21:43:03 -0000 Mailing-List: contact notifications-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: jira@apache.org Delivered-To: mailing list notifications@accumulo.apache.org Received: (qmail 27009 invoked by uid 99); 21 Sep 2017 21:43:03 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Sep 2017 21:43:03 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 5302518FD2B for ; Thu, 21 Sep 2017 21:43:03 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -100.002 X-Spam-Level: X-Spam-Status: No, score=-100.002 tagged_above=-999 required=6.31 tests=[RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id RjirOZCl8jQq for ; Thu, 21 Sep 2017 21:43:01 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 208A25F5A5 for ; Thu, 21 Sep 2017 21:43:01 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 6048DE0D4E for ; Thu, 21 Sep 2017 21:43:00 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 1D3F323E7B for ; Thu, 21 Sep 2017 21:43:00 +0000 (UTC) Date: Thu, 21 Sep 2017 21:43:00 +0000 (UTC) From: "Christopher Tubbs (JIRA)" To: notifications@accumulo.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (ACCUMULO-4706) Create official Accumulo Docker image MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Thu, 21 Sep 2017 21:43:05 -0000 [ https://issues.apache.org/jira/browse/ACCUMULO-4706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16175507#comment-16175507 ] Christopher Tubbs commented on ACCUMULO-4706: --------------------------------------------- In the past, we had RPMs and DEBs built upstream as "official" packaging of Accumulo. We ended up abandoning those "official" RPMs and DEBs, and stripped out downstream packaging elements, in favor of delegating that maintenance to the proper downstream communities (if they desired to pick it up). There is an analogy here with Docker. I see Docker as another downstream packaging effort. That said, I think there are some important differences with Docker that differentiate it from the RPM/DEB packaging that we did before. * First, it's clear that the way this would happen is as a separate, sibling module from the main upstream Accumulo build. This is different from what we did before, by baking in the RPM/DEB builds into our main artifact builds. Keeping this as a separate git repo, which depends on the main build is a great idea. * Second, unlike RPM/DEB, which are tightly coupled to the downstream packaging conventions of FedoraDocker is somewhat independent of any particular downstream environment. It makes sense that if a community of people want to work on that (even if that is just one person), that we could host that effort, since there's no other logical place for it to exist. Overall, I'm in favor of this effort, and support it as long as there is somebody interested in doing the work. As for the idea of uploading config to ZK during init, I think that's sensible. I think we could hijack the existing "SystemConfiguration" mechanism to push configuration there. We'll need a bootstrap mechanism to get these services connected to ZK in the first place, though. For that, I think we should seriously consider revamping our configuration mechanisms, to use commons-configuration2's CompositeConfiguration with the composition being: accumulo-site.properties file, overridden by java system properties, which we can set on the command-line. Then, we can simply inject the command line args for the system properties which provide ZK connection details into the workers. I've wanted this change (or something like it) for a while, and I think it would easily help with this case. > Create official Accumulo Docker image > ------------------------------------- > > Key: ACCUMULO-4706 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4706 > Project: Accumulo > Issue Type: New Feature > Components: scripts, start > Affects Versions: 2.0.0 > Reporter: Mike Walch > Assignee: Mike Walch > > While there are some [Accumulo images|https://hub.docker.com/search/?isAutomated=0&isOfficial=0&page=1&pullCount=0&q=accumulo&starCount=0] on DockerHub, it looks the majority of the them are designed to run a single-node Accumulo instance in a Docker container for development and testing. > It would be great if Accumulo had an official image for running Accumulo processes in containers on a production cluster. The image could be be published as an official image 'apache/accumulo' to DockerHub. > In order to make this possible, I think work needs to be done to allow configuration to be passed to the Accumulo process in the docker container without using configuration files (as passing files to a running container is hard in Docker). One way to do this is to add an option called {{--upload-accumulo-site}} to 'accumulo init' command which is called outside of Docker by the user. This would set properties in accumulo-site.xml as system properties in Zookeeper during Accumulo initialization. Accumulo processes in Docker containers could be started with minimal configuration by updating 'accumulo ' commands to have a {{-o key=value}} option to override configuration. These changes to Accumulo would enable the following commands to start an Accumulo cluster in Docker: > {noformat} > accumulo init --upload-accumulo-site > docker pull apache/accumulo > docker run apache/accumulo master -o instance.zookeeper.host=zkhost:2181 > docker run apache/accumulo tserver -o instance.zookeeper.host=zkhost:2181 > docker run apache/accumulo monitor -o instance.zookeeper.host=zkhost:2181 > docker run apache/accumulo tracer -o instance.zookeeper.host=zkhost:2181 > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)