Accumulo
  1. Accumulo
  2. ACCUMULO-196

Add command and control features to the Monitor

    Details

      Description

      Spinning off of ACCUMULO-123, the premise here is the ability to have a monitor page that is interactive. This originally came to me with the ability for a user to authenticate themselves with it and then make system/table level configuration changes via the monitor instead of having them go through the shell. Essentially, make use of the monitor to provide a GUI for real-time configuration changes. Initial steps should be for displaying current configuration information and then steps could be made to provide user level access. This may go so far as providing a web interfaced Accumulo shell. But for now this is a bit of a toy idea.

        Issue Links

          Activity

          Hide
          Mike Drob added a comment -

          When implementing this, please keep the dashboard visually distinct from the control panel. What I mean here is that it should be very obvious to the users whether they are in a read-only state or have the potential to do some damage.

          Show
          Mike Drob added a comment - When implementing this, please keep the dashboard visually distinct from the control panel. What I mean here is that it should be very obvious to the users whether they are in a read-only state or have the potential to do some damage.
          Hide
          jv added a comment -

          Well, there will be explicit user logins, but I'm thinking we will
          segregate the spaces into the current stuff and new stuff.

          Sent from my phone, so pardon the typos and brevity.

          Show
          jv added a comment - Well, there will be explicit user logins, but I'm thinking we will segregate the spaces into the current stuff and new stuff. Sent from my phone, so pardon the typos and brevity.
          Hide
          Billie Rinaldi added a comment -

          I've started work on making the shell accessible through the monitor page via SSL. We may want to have additional control buttons, but I figured the shell would be a good start.

          Show
          Billie Rinaldi added a comment - I've started work on making the shell accessible through the monitor page via SSL. We may want to have additional control buttons, but I figured the shell would be a good start.
          Hide
          jv added a comment -

          That's an awesome start. I think the sessionization is the trickiest part. If you can sessionize the entire interaction with the monitor (including some sort of guest account?), then everything else should fall in place nicely.

          Show
          jv added a comment - That's an awesome start. I think the sessionization is the trickiest part. If you can sessionize the entire interaction with the monitor (including some sort of guest account?), then everything else should fall in place nicely.
          Hide
          Billie Rinaldi added a comment -

          Here are some instructions for enabling shell access in the monitor page.

          Generate keystore and truststore:
          keytool -genkey -alias <serverAlias> -keyalg RSA -keypass <keyPass> -storepass <storePass> -keystore keystore.jks
          keytool -export -alias <serverAlias> -storepass <storePass> -file server.cer -keystore keystore.jks
          keytool -import -v -trustcacerts -alias <serverAlias> -file server.cer -keystore cacerts.jks -keypass <keyPass> -storepass <storePass>
          Enter "yes" when prompted "Trust this certificate?"

          Set the following properties in accumulo-site.xml:
          monitor.ssl.keyStore - /path/to/keystore.jks
          monitor.ssl.keyStorePassword - keyPass
          monitor.ssl.trustStore - /path/to/cacerts.jks
          monitor.ssl.trustStorePassword - storePass

          (Re)Start the monitor and there will be a link for the shell. You can use it in mock mode, or log in as an Accumulo user.

          Show
          Billie Rinaldi added a comment - Here are some instructions for enabling shell access in the monitor page. Generate keystore and truststore: keytool -genkey -alias <serverAlias> -keyalg RSA -keypass <keyPass> -storepass <storePass> -keystore keystore.jks keytool -export -alias <serverAlias> -storepass <storePass> -file server.cer -keystore keystore.jks keytool -import -v -trustcacerts -alias <serverAlias> -file server.cer -keystore cacerts.jks -keypass <keyPass> -storepass <storePass> Enter "yes" when prompted "Trust this certificate?" Set the following properties in accumulo-site.xml: monitor.ssl.keyStore - /path/to/keystore.jks monitor.ssl.keyStorePassword - keyPass monitor.ssl.trustStore - /path/to/cacerts.jks monitor.ssl.trustStorePassword - storePass (Re)Start the monitor and there will be a link for the shell. You can use it in mock mode, or log in as an Accumulo user.
          Hide
          Billie Rinaldi added a comment -

          I've also made an attempt at a script that will generate the keystore and truststore with random passwords, then print out the properties you need to add to accumulo-site.xml. The script is bin/generate_monitor_certificate.sh.

          Show
          Billie Rinaldi added a comment - I've also made an attempt at a script that will generate the keystore and truststore with random passwords, then print out the properties you need to add to accumulo-site.xml. The script is bin/generate_monitor_certificate.sh.
          Hide
          Billie Rinaldi added a comment -

          New versions of hadoop have notices about their use of cryptographic software (i.e. SSL libraries) in their README files, so we may need to do so as well.

          Show
          Billie Rinaldi added a comment - New versions of hadoop have notices about their use of cryptographic software (i.e. SSL libraries) in their README files, so we may need to do so as well.
          Hide
          Billie Rinaldi added a comment -

          Assigning this to Christopher for additional testing.

          Show
          Billie Rinaldi added a comment - Assigning this to Christopher for additional testing.
          Hide
          Mike Drob added a comment -

          Need to make sure that this works through a proxy, as I can't think of anybody that just runs a hadoop cluster open to the world.

          Show
          Mike Drob added a comment - Need to make sure that this works through a proxy, as I can't think of anybody that just runs a hadoop cluster open to the world.
          Hide
          Billie Rinaldi added a comment -

          I would want additional people to test the shell interface through the monitor to verify it works reasonably and safely if we're going to include it in 1.5.0. Otherwise I would recommend removing it.

          Show
          Billie Rinaldi added a comment - I would want additional people to test the shell interface through the monitor to verify it works reasonably and safely if we're going to include it in 1.5.0. Otherwise I would recommend removing it.
          Hide
          Eric Newton added a comment -

          I've marked the configuration properties as experimental so they can be removed if this turns out to be a bad idea.

          Show
          Eric Newton added a comment - I've marked the configuration properties as experimental so they can be removed if this turns out to be a bad idea.
          Hide
          Hudson added a comment -

          Integrated in Accumulo-1.5 #82 (See https://builds.apache.org/job/Accumulo-1.5/82/)
          ACCUMULO-196 marking the SSL properties as experimental (Revision 1468993)

          Result = SUCCESS
          ecn :
          Files :

          • /accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/conf/Property.java
          Show
          Hudson added a comment - Integrated in Accumulo-1.5 #82 (See https://builds.apache.org/job/Accumulo-1.5/82/ ) ACCUMULO-196 marking the SSL properties as experimental (Revision 1468993) Result = SUCCESS ecn : Files : /accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/conf/Property.java
          Hide
          Hudson added a comment -

          Integrated in Accumulo-1.5-Hadoop-2.0 #81 (See https://builds.apache.org/job/Accumulo-1.5-Hadoop-2.0/81/)
          ACCUMULO-196 marking the SSL properties as experimental (Revision 1468993)

          Result = FAILURE
          ecn :
          Files :

          • /accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/conf/Property.java
          Show
          Hudson added a comment - Integrated in Accumulo-1.5-Hadoop-2.0 #81 (See https://builds.apache.org/job/Accumulo-1.5-Hadoop-2.0/81/ ) ACCUMULO-196 marking the SSL properties as experimental (Revision 1468993) Result = FAILURE ecn : Files : /accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/conf/Property.java
          Hide
          Hudson added a comment -

          Integrated in Accumulo-Trunk #835 (See https://builds.apache.org/job/Accumulo-Trunk/835/)
          ACCUMULO-196 marking the SSL properties as experimental (Revision 1468994)

          Result = SUCCESS
          ecn :
          Files :

          • /accumulo/trunk
          • /accumulo/trunk/assemble
          • /accumulo/trunk/core
          • /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java
          • /accumulo/trunk/examples
          • /accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java
          • /accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java
          • /accumulo/trunk/pom.xml
          • /accumulo/trunk/server
          • /accumulo/trunk/src
          Show
          Hudson added a comment - Integrated in Accumulo-Trunk #835 (See https://builds.apache.org/job/Accumulo-Trunk/835/ ) ACCUMULO-196 marking the SSL properties as experimental (Revision 1468994) Result = SUCCESS ecn : Files : /accumulo/trunk /accumulo/trunk/assemble /accumulo/trunk/core /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java /accumulo/trunk/examples /accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java /accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java /accumulo/trunk/pom.xml /accumulo/trunk/server /accumulo/trunk/src
          Hide
          Hudson added a comment -

          Integrated in Accumulo-Trunk-Hadoop-2.0 #193 (See https://builds.apache.org/job/Accumulo-Trunk-Hadoop-2.0/193/)
          ACCUMULO-196 marking the SSL properties as experimental (Revision 1468994)

          Result = SUCCESS
          ecn :
          Files :

          • /accumulo/trunk
          • /accumulo/trunk/assemble
          • /accumulo/trunk/core
          • /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java
          • /accumulo/trunk/examples
          • /accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java
          • /accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java
          • /accumulo/trunk/pom.xml
          • /accumulo/trunk/server
          • /accumulo/trunk/src
          Show
          Hudson added a comment - Integrated in Accumulo-Trunk-Hadoop-2.0 #193 (See https://builds.apache.org/job/Accumulo-Trunk-Hadoop-2.0/193/ ) ACCUMULO-196 marking the SSL properties as experimental (Revision 1468994) Result = SUCCESS ecn : Files : /accumulo/trunk /accumulo/trunk/assemble /accumulo/trunk/core /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java /accumulo/trunk/examples /accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java /accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java /accumulo/trunk/pom.xml /accumulo/trunk/server /accumulo/trunk/src

            People

            • Assignee:
              Christopher Tubbs
              Reporter:
              John Vines
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development