ASTERIXDB-1357: installation docs now require JDK8
also
- fixed the indentation of the code blocks in markdown
- removed end of line whitespace
Change-Id: Ie46d38fdf9393cfb2bcda3d879cdbfd25fd8145f
Reviewed-on: https://asterix-gerrit.ics.uci.edu/746
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: abdullah alamoudi <bamousaa@gmail.com>
diff --git a/asterix-doc/src/site/markdown/install.md b/asterix-doc/src/site/markdown/install.md
index 7c707d1..888d4d3 100644
--- a/asterix-doc/src/site/markdown/install.md
+++ b/asterix-doc/src/site/markdown/install.md
@@ -33,62 +33,57 @@
## <a id="PrerequisitesForInstallingAsterixDB">Prerequisites for Installing AsterixDB</a> <font size="4"><a href="#toc">[Back to TOC]</a></font> ##
Prerequisite:
- * [JDK>=7](http://www.oracle.com/technetwork/java/javase/downloads/index.html) (Otherwise known as JDK>=1.7).
+ * [JDK>=8](http://www.oracle.com/technetwork/java/javase/downloads/index.html).
To know the version of Java installed on your system, execute the following:
- $ java -version
+ $ java -version
-If your version is at least 1.7.0_x, similar to the output shown below, you are good to proceed.
+If your version is at least 1.8.0_x, similar to the output shown below, you are good to proceed.
+ java version "1.8.0_60"
+ Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
+ Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
- java version "1.7.0_13"
- Java(TM) SE Runtime Environment (build 1.7.0_13-b20)
- Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
+If you need to upgrade or install java, please follow [Oracle's instructions](http://docs.oracle.com/javase/8/docs/technotes/guides/install/install_overview.html).
+The installation directory for
-If you need to upgrade or install java, please follow the instructions below.
+ * Linux would be at a path under `/usr/lib/jvm/[jdk-version]`.
- * For Linux: [JDK 7 Linux Install](http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html)
-JDK would be installed at a path under /usr/lib/jvm/jdk-version .
+ * Mac would be `/Library/Java/JavaVirtualMachines/[jdk-version]/Contents/Home`.
- * For Mac: [JDK 7 Mac Install](http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html)
-JDK would be installed at /Library/Java/JavaVirtualMachines/jdk-version/Contents/Home .
+The java installation directory is referred as `JAVA_HOME`. Since we upgraded/installed Java, we need to ensure `JAVA_HOME` points to the installation directory of JDK. Modify your ~/.bash_profile (or ~/.bashrc) and define `JAVA_HOME` accordingly. After the modification, execute the following:
-The java installation directory is referred as JAVA_HOME. Since we upgraded/installed Java, we need to ensure JAVA_HOME points to the installation directory of JDK. Modify your ~/.bash_profile (or ~/.bashrc) and define JAVA_HOME accordingly. After the modification, execute the following:
+ $ java -version
+If the version information you obtain does not show 1.8, you need to update the PATH variable. To do so, execute the following:
- $ java -version
-
-If the version information you obtain does not show 1.7, you need to update the PATH variable. To do so, execute the following:
-
-
- $ echo "PATH=$JAVA_HOME/bin:$PATH" >> ~/.bash_profile (or ~/.bashrc)
- $ source ~/.bash_profile (or ~/.bashrc)
-
+ $ echo "PATH=$JAVA_HOME/bin:$PATH" >> ~/.bash_profile (or ~/.bashrc)
+ $ source ~/.bash_profile (or ~/.bashrc)
## <a id="Section1SingleMachineAsterixDBInstallation">Section 1: Single-Machine AsterixDB installation</a> <font size="4"><a href="#toc">[Back to TOC]</a></font> ##
We assume a user called "Joe" with a home directory as /home/joe. On a Mac, the home directory for user Joe would be /Users/joe.
### Configuring Environment ###
-Ensure that JAVA_HOME variable is defined and points to the the java installation directory on your machine. To verify, execute the following:
+Ensure that `JAVA_HOME` variable is defined and points to the the java installation directory on your machine. To verify, execute the following:
- $ echo $JAVA_HOME
+ $ echo $JAVA_HOME
-If you do not see any output, JAVA_HOME is not defined. We need to add the following line to your profile located at /home/joe/.bash_profile or /home/joe/.bashrc, whichever you are using. If you do not have any of these files, create a ~/.bash_profile file.
+If you do not see any output, `JAVA_HOME` is not defined. We need to add the following line to your profile located at /home/joe/.bash_profile or /home/joe/.bashrc, whichever you are using. If you do not have any of these files, create a ~/.bash_profile file.
- export JAVA_HOME=<Path to Java installation directory>
+ export JAVA_HOME=<Path to Java installation directory>
After you have edited ~/.bash_profile (or ~/.bashrc), execute the following to make the changes effective in current shell:
- $ source /home/joe/.bash_profile (or /home/joe/.bashrc)
+ $ source /home/joe/.bash_profile (or /home/joe/.bashrc)
-Before proceeding, verify that JAVA_HOME is defined by executing the following:
+Before proceeding, verify that `JAVA_HOME` is defined by executing the following:
- $ echo $JAVA_HOME
+ $ echo $JAVA_HOME
### Configuring SSH ###
If SSH is not enabled on your system, please follow the instruction below to enable/install it or else skip to the section [Configuring Password-less SSH](#Configuring_Password-less_SSH).
@@ -98,7 +93,7 @@
#### Enabling SSH on Linux ####
- sudo apt-get install openssh-server
+ sudo apt-get install openssh-server
Assumming that you have enabled SSH on your system, let us proceed.
@@ -107,101 +102,97 @@
For our single-machine setup of AsterixDB, we need to configure password-less SSH access to localhost. We assume that you are on the machine where you want to install AsterixDB. To verify if you already have password-less SSH configured, execute the following:
- $ ssh 127.0.0.1
+ $ ssh 127.0.0.1
If you get an output similar to one shown below, type "yes" and press enter.
- The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
- RSA key fingerprint is aa:7b:51:90:74:39:c4:f6:28:a2:9d:47:c2:8d:33:31.
- Are you sure you want to continue connecting (yes/no)?
+ The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
+ RSA key fingerprint is aa:7b:51:90:74:39:c4:f6:28:a2:9d:47:c2:8d:33:31.
+ Are you sure you want to continue connecting (yes/no)?
-If you are not prompted for a password, that is if you get an output similar to one shown below, it signifies that you already
-have password-less SSH configured.
+If you are not prompted for a password, that is if you get an output similar to one shown below, it signifies that you already
+have password-less SSH configured.
- $ ssh 127.0.0.1
- Last login: Sat Mar 23 22:52:49 2013
+ $ ssh 127.0.0.1
+ Last login: Sat Mar 23 22:52:49 2013
-[Important: Password-less SSH requires the use of a (public,private) key-pair. The key-pair is located as a pair of files under
- $HOME/.ssh directory. It is required that the (public,private) key-pair files have default names (id_rsa.pub, id_rsa) respectively.
- If you are using different names, please rename the files to use the default names]
+[Important: Password-less SSH requires the use of a (public,private) key-pair. The key-pair is located as a pair of files under $HOME/.ssh directory.
+It is required that the (public,private) key-pair files have default names (id_rsa.pub, id_rsa) respectively.
+If you are using different names, please rename the files to use the default names]
Skip to the next section [Configuring Managix](#Configuring_Managix).
-You are here because you were prompted for a password. You need to configure password-less SSH.
+You are here because you were prompted for a password. You need to configure password-less SSH.
We shall generate a (public,private) key-pair as id_rsa.pub and id_rsa respectively. If $HOME/.ssh already
contains a (public,private) key-pair, please ensure the files are renamed before proceeding.
Follow the instructions below.
- $ ssh-keygen -t rsa -P ""
- Generating public/private rsa key pair.
- Enter file in which to save the key (/home/joe/.ssh/id_rsa):
- [Important: Please ensure that we use the default value, so simply press enter]
+ $ ssh-keygen -t rsa -P ""
+ Generating public/private rsa key pair.
+ Enter file in which to save the key (/home/joe/.ssh/id_rsa):
+ [Important: Please ensure that we use the default value, so simply press enter]
If a key already exists, you should get an output similar to what is shown below. Press 'y' to overwrite the existing key.
It is required to use the default name. If you wish to not overwrite a pre-existing key, ensure that the pre-existing key is saved with a different name.
- /home/joe/.ssh/id_rsa already exists.
- Overwrite (y/n)?
+ /home/joe/.ssh/id_rsa already exists.
+ Overwrite (y/n)?
You should see an output similar to one shown below:
- The key fingerprint is:
- 4d:b0:30:14:45:cc:99:86:15:48:17:0b:39:a0:05:ca joe@joe-machine
- The key's randomart image is:
- +--[ RSA 2048]----+
- | ..o+B@O= |
- |.. o ==*+ |
- |.E. oo . |
- | o |
- | S . |
- | |
- | |
- | |
- | |
- +-----------------+
+ The key fingerprint is:
+ 4d:b0:30:14:45:cc:99:86:15:48:17:0b:39:a0:05:ca joe@joe-machine
+ The key's randomart image is:
+ +--[ RSA 2048]----+
+ | ..o+B@O= |
+ |.. o ==*+ |
+ |.E. oo . |
+ | o |
+ | S . |
+ | |
+ | |
+ | |
+ | |
+ +-----------------+
Note: for Linux users, you may not get an image representation of the key, but this is not an error. Next, execute the following:
- $ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
- $ chmod 700 $HOME/.ssh/authorized_keys
+ $ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
+ $ chmod 700 $HOME/.ssh/authorized_keys
We shall now retry SSH without password.
- $ ssh 127.0.0.1
+ $ ssh 127.0.0.1
You may see an output similar to one shown below:
-
- The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
- RSA key fingerprint is aa:7b:51:90:74:39:c4:f6:28:a2:9d:47:c2:8d:33:31.
- Are you sure you want to continue connecting (yes/no)?
+ The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
+ RSA key fingerprint is aa:7b:51:90:74:39:c4:f6:28:a2:9d:47:c2:8d:33:31.
+ Are you sure you want to continue connecting (yes/no)?
Type 'yes' and press the enter key. You should see an output similar to one shown below:
-
- Warning: Permanently added '127.0.0.1' (RSA) to the list of known hosts.
- Last login: Thu Mar 28 12:27:10 2013
+ Warning: Permanently added '127.0.0.1' (RSA) to the list of known hosts.
+ Last login: Thu Mar 28 12:27:10 2013
You should now be able to log in without being prompted for a password or a response.
-
- ssh 127.0.0.1
- Last login: Sat Mar 23 22:54:40 2013
+ ssh 127.0.0.1
+ Last login: Sat Mar 23 22:54:40 2013
Execute 'exit' to close the session.
-
- $ exit
- logout
- Connection to 127.0.0.1 closed.
+ $ exit
+ logout
+ Connection to 127.0.0.1 closed.
### Configuring Managix ###
You will need the AsterixDB installer (a.k.a. Managix). Download Managix from [here](http://asterixdb.ics.uci.edu/download.html); this includes the bits for Managix as well as AsterixDB.
@@ -213,52 +204,45 @@
Since we intend to run AsterixDB on a single node, Managix can auto-configure itself and populate the above configuration files. To auto-configure Managix, execute the following in the MANAGIX_HOME directory:
-
- /home/joe/asterix-mgmt> $ managix configure
+ /home/joe/asterix-mgmt> $ managix configure
Let us do a sample run to validate the set of configuration files auto-generated by Managix.
+ /home/joe/asterix-mgmt> $ managix validate
+ INFO: Environment [OK]
+ INFO: Managix Configuration [OK]
- /home/joe/asterix-mgmt> $ managix validate
- INFO: Environment [OK]
- INFO: Managix Configuration [OK]
-
-
- /home/joe/asterix-mgmt> $ managix validate -c clusters/local/local.xml
- INFO: Environment [OK]
- INFO: Cluster configuration [OK]
+ /home/joe/asterix-mgmt> $ managix validate -c clusters/local/local.xml
+ INFO: Environment [OK]
+ INFO: Cluster configuration [OK]
### Creating an AsterixDB instance ###
Now that we have configured Managix, we shall next create an AsterixDB instance. An AsterixDB instance is identified by a unique name and is created using the `create` command. The usage description for the `create` command can be obtained by executing the following:
-
- $ managix help -cmd create
- Creates an AsterixDB instance with a specified name. Post creation, the instance is in ACTIVE state,
- indicating its availability for executing statements/queries.
- Usage arguments/options:
- -n Name of the AsterixDB instance.
- -c Path to the cluster configuration file
+ $ managix help -cmd create
+ Creates an AsterixDB instance with a specified name. Post creation, the instance is in ACTIVE state,
+ indicating its availability for executing statements/queries.
+ Usage arguments/options:
+ -n Name of the AsterixDB instance.
+ -c Path to the cluster configuration file
We shall now use the `create` command to create an AsterixDB instance by the name "my_asterix". In doing so, we shall use the cluster configuration file that was auto-generated by Managix.
-
- $ managix create -n my_asterix -c clusters/local/local.xml
+ $ managix create -n my_asterix -c clusters/local/local.xml
A sample output of the above command is shown below:
-
- INFO: Name:my_asterix
- Created:Thu Mar 07 11:14:13 PST 2013
- Web-Url:http://127.0.0.1:19001
- State:ACTIVE
+ INFO: Name:my_asterix
+ Created:Thu Mar 07 11:14:13 PST 2013
+ Web-Url:http://127.0.0.1:19001
+ State:ACTIVE
The third line above shows the web-url http://127.0.0.1:19001 for an AsterixDB's web interface. The AsterixDB instance is in the 'ACTIVE' state, indicating that you may access the web interface by navigating to the web url.
Type in the following "Hello World" query in the box:
-
- let $message := 'Hello World!'
- return $message
+ let $message := 'Hello World!'
+ return $message
Press the "Run" button. If the query result shows on the output box, then Congratulations! You have successfully created an AsterixDB instance!
@@ -272,31 +256,31 @@
As observed earlier, Managix can auto-configure itself for a single-machine setup. As part of auto-configuration, Managix generated the cluster XML file. Let us understand the components of the generated cluster XML file. If you have configured Managix (via the `configure` command), you can find a similar cluster XML file as $MANAGIX_HOME/clusters/local/local.xml. The following is a sample XML file generated on a Ubuntu (Linux) setup:
- <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
- <cluster xmlns="cluster">
- <name>local</name>
- <java_home>/usr/lib/jvm/jdk1.7.0</java_home>
- <log_dir>/home/joe/asterix-mgmt/clusters/local/working_dir/logs</log_dir>
- <txn_log_dir>/home/joe/asterix-mgmt/clusters/local/working_dir/logs</txn_log_dir>
- <iodevices>/home/joe/asterix-mgmt/clusters/local/working_dir</iodevices>
- <store>storage</store>
- <working_dir>
- <dir>/home/joe/asterix-mgmt/clusters/local/working_dir</dir>
- <NFS>true</NFS>
- </working_dir>
- <master_node>
- <id>master</id>
- <client_ip>127.0.0.1</client_ip>
- <cluster_ip>127.0.0.1</cluster_ip>
- <client_port>1098</client_port>
- <cluster_port>1099</cluster_port>
- <http_port>8888</http_port>
- </master_node>
- <node>
- <id>node1</id>
- <cluster_ip>127.0.0.1</cluster_ip>
- </node>
- </cluster>
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+ <cluster xmlns="cluster">
+ <name>local</name>
+ <java_home>/usr/lib/jvm/jdk1.8.0</java_home>
+ <log_dir>/home/joe/asterix-mgmt/clusters/local/working_dir/logs</log_dir>
+ <txn_log_dir>/home/joe/asterix-mgmt/clusters/local/working_dir/logs</txn_log_dir>
+ <iodevices>/home/joe/asterix-mgmt/clusters/local/working_dir</iodevices>
+ <store>storage</store>
+ <working_dir>
+ <dir>/home/joe/asterix-mgmt/clusters/local/working_dir</dir>
+ <NFS>true</NFS>
+ </working_dir>
+ <master_node>
+ <id>master</id>
+ <client_ip>127.0.0.1</client_ip>
+ <cluster_ip>127.0.0.1</cluster_ip>
+ <client_port>1098</client_port>
+ <cluster_port>1099</cluster_port>
+ <http_port>8888</http_port>
+ </master_node>
+ <node>
+ <id>node1</id>
+ <cluster_ip>127.0.0.1</cluster_ip>
+ </node>
+ </cluster>
We shall next explain the components of the cluster configuration XML file.
@@ -304,18 +288,18 @@
The single-machine AsterixDB instance configuration that is auto-generated by Managix (using the `configure` command) involves a master node (CC) and a worker node (NC). Each node is assigned a unique id and provided with an ip address (called ''cluster_ip'') that maps a node to a physical machine. The following snippet from the above XML file captures the master/worker nodes in our AsterixDB installation.
- <master_node>
- <id>master</id>
- <client_ip>127.0.0.1</client_ip>
- <cluster_ip>127.0.0.1</cluster_ip>
- <client_port>1098</client_port>
- <cluster_port>1099</cluster_port>
- <http_port>8888</http_port>
- </master_node>
- <node>
- <id>node1</id>
- <cluster_ip>127.0.0.1</cluster_ip>
- </node>
+ <master_node>
+ <id>master</id>
+ <client_ip>127.0.0.1</client_ip>
+ <cluster_ip>127.0.0.1</cluster_ip>
+ <client_port>1098</client_port>
+ <cluster_port>1099</cluster_port>
+ <http_port>8888</http_port>
+ </master_node>
+ <node>
+ <id>node1</id>
+ <cluster_ip>127.0.0.1</cluster_ip>
+ </node>
The following is a description of the different elements in the cluster configuration xml file.
@@ -388,28 +372,26 @@
Next we explain the following setting in the file $MANAGIX_HOME/clusters/local/local.xml.
- <working_dir>
- <dir>/Users/joe/asterix-mgmt/clusters/local/working_dir</dir>
- <NFS>true</NFS>
- </working_dir>
-
+ <working_dir>
+ <dir>/Users/joe/asterix-mgmt/clusters/local/working_dir</dir>
+ <NFS>true</NFS>
+ </working_dir>
Managix associates a working directory with an AsterixDB instance and uses this directory for transferring binaries to each node. If there is a directory that is readable by each node, Managix can use it to place binaries that can be accessed and used by all the nodes in the AsterixDB set up. A network file system (NFS) provides such a functionality for a cluster of physical machines so that a path on NFS is accessible from each machine in the cluster. In the single-machine set up described above, all nodes correspond to a single physical machine. Each path on the local file system is accessible to all the nodes in the AsterixDB setup and the boolean value for NFS above is thus set to `true`.
### Managix Configuration ###
Managix allows creation and management of multiple AsterixDB instances and uses Zookeeper as its back-end database to keep track of information related to each instance. We need to provide a set of one or more hosts that Managix can use to run a Zookeeper instance. Zookeeper runs as a daemon process on each of the specified hosts. At each host, Zookeeper stores data under the Zookeeper home directory specified as part of the configuration. The following is an example configuration `$MANAGIX_HOME/conf/managix-conf.xml` that has Zookeeper running on the localhost (127.0.0.1) :
-
- <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
- <configuration xmlns="installer">
- <zookeeper>
- <homeDir>/home/joe/asterix/.installer/zookeeper</homeDir>
- <clientPort>2900</clientPort>
- <servers>
- <server>127.0.0.1</server>
- </servers>
- </zookeeper>
- </configuration>
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+ <configuration xmlns="installer">
+ <zookeeper>
+ <homeDir>/home/joe/asterix/.installer/zookeeper</homeDir>
+ <clientPort>2900</clientPort>
+ <servers>
+ <server>127.0.0.1</server>
+ </servers>
+ </zookeeper>
+ </configuration>
It is possible to have a single host for Zookeeper. A larger number of hosts would use Zookeeper's replication and fault-tolerance feature such that a failure of a host running Zookeeper would not result in loss of information about existing AsterixDB instances.
@@ -428,153 +410,138 @@
On the master machine, do the following:
-
- machineA> ssh 127.0.0.1
-
+ machineA> ssh 127.0.0.1
If you get an output similar to one shown below, type "yes" and press enter.
+ The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
+ RSA key fingerprint is aa:7b:51:90:74:39:c4:f6:28:a2:9d:47:c2:8d:33:31.
+ Are you sure you want to continue connecting (yes/no)?
- The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
- RSA key fingerprint is aa:7b:51:90:74:39:c4:f6:28:a2:9d:47:c2:8d:33:31.
- Are you sure you want to continue connecting (yes/no)?
+If you are not prompted for a password, that is if you get an output similar to one shown below, it signifies that you already
+have password-less SSH configured.
-If you are not prompted for a password, that is if you get an output similar to one shown below, it signifies that you already
-have password-less SSH configured.
+ $ ssh 127.0.0.1
+ Last login: Sat Mar 23 22:52:49 2013
-
- $ ssh 127.0.0.1
- Last login: Sat Mar 23 22:52:49 2013
-
-
-[Important: Password-less SSH requires the use of a (public,private) key-pair. The key-pair is located as a pair of files under
- $HOME/.ssh directory. It is required that the (public,private) key-pair files have default names (id_rsa.pub, id_rsa) respectively.
- If you are using different names, please rename the files to use the default names]
+[Important: Password-less SSH requires the use of a (public,private) key-pair. The key-pair is located as a pair of files under $HOME/.ssh directory.
+It is required that the (public,private) key-pair files have default names (id_rsa.pub, id_rsa) respectively. If you are using different names, please rename the files to use the default names]
If you are prompted for a password, execute the following
-
- machineA> ssh-keygen -t rsa -P ""
- machineA> cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
- machineA> chmod 700 $HOME/.ssh/authorized_keys
-
+ machineA> ssh-keygen -t rsa -P ""
+ machineA> cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
+ machineA> chmod 700 $HOME/.ssh/authorized_keys
If $HOME is not on the NFS, copy the id_rsa.pub to the directory ~/.ssh (login with the same account) on each machine, and then do the following on each machine. (Notice that this step is not needed if the folder ".ssh" is on the NFS and can be accessed by all the nodes.)
-
- cd ~/.ssh
- cat id_rsa.pub >> authorized_keys
- chmod 700 $HOME/.ssh/authorized_keys
-
+ cd ~/.ssh
+ cat id_rsa.pub >> authorized_keys
+ chmod 700 $HOME/.ssh/authorized_keys
Then run the following step again and type "yes" if prompted:
-
- machineA> ssh 127.0.0.1
+ machineA> ssh 127.0.0.1
### Step (2): Define the AsterixDB cluster ###
We first log into the master machine as the user "joe". On this machine, download Managix from [here](http://asterixdb.ics.uci.edu/download.html) (save as above), then do the following steps similar to the single-machine case described above:
-
- machineA> cd ~
- machineA> mkdir asterix-mgmt
- machineA> cd asterix-mgmt
- machineA> unzip <path to the Managix zip bundle>
+ machineA> cd ~
+ machineA> mkdir asterix-mgmt
+ machineA> cd asterix-mgmt
+ machineA> unzip <path to the Managix zip bundle>
Note that it is recommended that MANAGIX_HOME is not located on a network file system (NFS). Managix creates artifacts/logs that are not required to be shared. Any overhead
associated with creating artifacts/logs on the NFS should be avoided.
We also need an AsterixDB configuration XML file for the cluster. We give the name to the cluster, say, "rainbow". We create a folder for the configuration of this cluster:
-
- machineA> mkdir asterix-mgmt/rainbow_cluster
-
+ machineA> mkdir asterix-mgmt/rainbow_cluster
For this cluster we create a configuration file `$MANAGIX_HOME/rainbow_cluster/rainbow.xml`. The following is a sample file with explanation of the properties:
- <cluster xmlns="cluster">
+ <cluster xmlns="cluster">
- <!-- Name of the cluster -->
- <name>rainbow</name>
+ <!-- Name of the cluster -->
+ <name>rainbow</name>
- <!-- username, which should be valid for all the three machines -->
- <username>joe</username>
+ <!-- username, which should be valid for all the three machines -->
+ <username>joe</username>
- <!-- The working directory of Managix. It is recommended for the working
- directory to be on a network file system (NFS) that can accessed by
- all machines.
- Managix creates the directory if it it doesn't exist. -->
- <working_dir>
- <dir>/home/joe/managix-workingDir</dir>
- <NFS>true</NFS>
- </working_dir>
+ <!-- The working directory of Managix. It is recommended for the working
+ directory to be on a network file system (NFS) that can accessed by
+ all machines.
+ Managix creates the directory if it it doesn't exist. -->
+ <working_dir>
+ <dir>/home/joe/managix-workingDir</dir>
+ <NFS>true</NFS>
+ </working_dir>
- <!-- Directory for Asterix to store worker logs information for each machine.
- Needs to be on the local file system of each machine.
- Managix creates the directory if it doesn't exist.
- This property can be overriden for a node by redefining at the node level. -->
- <log_dir>/mnt/joe/logs</log_dir>
+ <!-- Directory for Asterix to store worker logs information for each machine.
+ Needs to be on the local file system of each machine.
+ Managix creates the directory if it doesn't exist.
+ This property can be overriden for a node by redefining at the node level. -->
+ <log_dir>/mnt/joe/logs</log_dir>
- <!-- Directory for Asterix to store transaction log information for each machine.
- Needs to be on the local file system of each machine.
- Managix creates the directory if it doesn't exist.
- This property can be overriden for a node by redefining at the node level. -->
- <txn_log_dir>/mnt/joe/txn_logs</txn_log_dir>
+ <!-- Directory for Asterix to store transaction log information for each machine.
+ Needs to be on the local file system of each machine.
+ Managix creates the directory if it doesn't exist.
+ This property can be overriden for a node by redefining at the node level. -->
+ <txn_log_dir>/mnt/joe/txn_logs</txn_log_dir>
- <!-- Mount point of an iodevice. Use a comma separated list for a machine that
- has multiple iodevices (disks).
- This property can be overriden for a node by redefining at the node level. -->
- <iodevices>/mnt/joe</iodevices>
+ <!-- Mount point of an iodevice. Use a comma separated list for a machine that
+ has multiple iodevices (disks).
+ This property can be overriden for a node by redefining at the node level. -->
+ <iodevices>/mnt/joe</iodevices>
- <!-- Path on each iodevice where Asterix will store its data -->
- <store>storage</store>
+ <!-- Path on each iodevice where Asterix will store its data -->
+ <store>storage</store>
- <!-- Java home for each machine -->
- <java_home>/usr/lib/jvm/jdk1.7.0</java_home>
+ <!-- Java home for each machine -->
+ <java_home>/usr/lib/jvm/jdk1.8.0</java_home>
- <!-- IP addresses of the master machine A -->
- <master_node>
- <id>master</id>
- <client_ip>128.195.52.177</client_ip>
- <cluster_ip>192.168.100.0</cluster_ip>
- <client_port>1098</client_port>
- <cluster_port>1099</cluster_port>
- <http_port>8888</http_port>
- </master_node>
+ <!-- IP addresses of the master machine A -->
+ <master_node>
+ <id>master</id>
+ <client_ip>128.195.52.177</client_ip>
+ <cluster_ip>192.168.100.0</cluster_ip>
+ <client_port>1098</client_port>
+ <cluster_port>1099</cluster_port>
+ <http_port>8888</http_port>
+ </master_node>
- <!-- IP address(es) of machine B -->
- <node>
- <id>nodeB</id>
- <cluster_ip>192.168.100.1</cluster_ip>
- </node>
+ <!-- IP address(es) of machine B -->
+ <node>
+ <id>nodeB</id>
+ <cluster_ip>192.168.100.1</cluster_ip>
+ </node>
- <!-- IP address(es) of machine C -->
- <node>
- <id>nodeC</id>
- <cluster_ip>192.168.100.2</cluster_ip>
- </node>
- </cluster>
-
+ <!-- IP address(es) of machine C -->
+ <node>
+ <id>nodeC</id>
+ <cluster_ip>192.168.100.2</cluster_ip>
+ </node>
+ </cluster>
As stated before, each of the above properties can be defined at the cluster level, in which case it applies to all the nodes in the system. Each property can also be defined at a node level.
Once we have formed the cluster XML file, we can validate the configuration by doing the following:
- managix validate -c rainbow_cluster/rainbow.xml
+ managix validate -c rainbow_cluster/rainbow.xml
This will verify the contents of the file, and also attempt to ssh to each node in the cluster to ensure that password-less SSH is configured correctly. You may see output like
- The authenticity of host '192.168.100.1 (192.168.100.1)' can't be established.
- RSA key fingerprint is 89:80:31:1f:be:51:16:d7:2b:f5:e0:b3:2c:bd:83:94.
- Are you sure you want to continue connecting (yes/no)?
+ The authenticity of host '192.168.100.1 (192.168.100.1)' can't be established.
+ RSA key fingerprint is 89:80:31:1f:be:51:16:d7:2b:f5:e0:b3:2c:bd:83:94.
+ Are you sure you want to continue connecting (yes/no)?
and this output may be repeated for each node in the cluster. Answer "yes" each time.
If the final output contains the following lines (possibly separated by the RSA prompts mentione above):
- INFO: Environment [OK]
- INFO: Cluster configuration [OK]
+ INFO: Environment [OK]
+ INFO: Cluster configuration [OK]
it means that the XML configuration file is correct!
@@ -582,16 +549,13 @@
Managix uses a configuration XML file at `$MANAGIX_HOME/conf/managix-conf.xml` to configure its own properties, such as its Zookeeper service. We can use the `configure` command to auto-generate this configuration file:
-
- machineA> managix configure
-
+ machineA> managix configure
We use the `validate` command to validate the Managix configuration. To do so, execute the following.
- machineA> managix validate
- INFO: Environment [OK]
- INFO: Managix Configuration [OK]
-
+ machineA> managix validate
+ INFO: Environment [OK]
+ INFO: Managix Configuration [OK]
Note that the `configure` command also generates a cluster configuration XML file at $MANAGIX_HOME/clusters/local/local.xml. This file is not needed in the case of a cluster of machines.
@@ -599,21 +563,17 @@
Now that we have configured Managix, we shall next create an AsterixDB instance, which is identified by a unique name and is created using the `create` command. The usage description for the `create` command can be obtained by executing the following:
+ machineA> managix help -cmd create
- machineA> managix help -cmd create
-
- Creates an AsterixDB instance with a specified name. Post creation, the instance is in ACTIVE state,
- indicating its availability for executing statements/queries.
- Usage arguments/options:
- -n Name of the AsterixDB instance.
- -c Path to the cluster configuration file
-
+ Creates an AsterixDB instance with a specified name. Post creation, the instance is in ACTIVE state,
+ indicating its availability for executing statements/queries.
+ Usage arguments/options:
+ -n Name of the AsterixDB instance.
+ -c Path to the cluster configuration file
We shall now use the `create` command to create an AsterixDB instance called "rainbow_asterix". In doing so, we shall use the cluster configuration file that was auto-generated by Managix.
-
- machineA> managix create -n rainbow_asterix -c clusters/rainbow.xml
-
+ machineA> managix create -n rainbow_asterix -c clusters/rainbow.xml
If the response message does not have warning, then Congratulations! You have successfully installed AsterixDB on this cluster of machines!
@@ -642,120 +602,111 @@
You may obtain the above listing by simply executing 'managix' :
-
- $ managix
+ $ managix
We already talked about `create` and `validate` commands. We shall next explain the rest of the commands listed above. We also provide sample output messages of these commands assuming we are running an AsterixDB instance on a single machine.
##### Describe Command #####
The `describe` command provides information about an AsterixDB instance. The usage can be looked up by executing the following:
+ $ managix help -cmd describe
- $ managix help -cmd describe
-
- Provides information about an AsterixDB instance.
- The following options are available:
- [-n] Name of the AsterixDB instance.
- [-admin] Provides a detailed description
+ Provides information about an AsterixDB instance.
+ The following options are available:
+ [-n] Name of the AsterixDB instance.
+ [-admin] Provides a detailed description
The brackets indicate optional flags.
The output of the `describe` command when used without the `admin` flag contains minimal information and is similar to the output of the `create` command. Let us try running the describe command in "admin" mode.
+ $ managix describe -n my_asterix -admin
+ INFO: Name:my_asterix
+ Created:Thu Mar 07 19:07:00 PST 2013
+ Web-Url:http://127.0.0.1:19001
+ State:ACTIVE
+ Master node:master:127.0.0.1
+ node1:127.0.0.1
- $ managix describe -n my_asterix -admin
- INFO: Name:my_asterix
- Created:Thu Mar 07 19:07:00 PST 2013
- Web-Url:http://127.0.0.1:19001
- State:ACTIVE
- Master node:master:127.0.0.1
- node1:127.0.0.1
-
- Asterix version:0.0.5
- Asterix Configuration
- output_dir = /tmp/asterix_output/
- Metadata Node:node1
- Processes
- NC at 127.0.0.1 [ 22195 ]
- CC at 127.0.0.1 [ 22161 ]
-
- Asterix Configuration
- nc.java.opts :-Xmx1024m
- cc.java.opts :-Xmx1024m
- storage.buffercache.pagesize :32768
- storage.buffercache.size :33554432
- storage.buffercache.maxopenfiles :214748364
- storage.memorycomponent.pagesize :32768
- storage.memorycomponent.numpages :1024
- storage.memorycomponent.globalbudget :536870192
- storage.lsm.mergethreshold :3
- storage.lsm.bloomfilter.falsepositiverate:0.01
- txn.log.buffer.numpages :8
- txn.log.buffer.pagesize :131072
- txn.log.partitionsize :2147483648
- txn.log.disksectorsize :4096
- txn.log.groupcommitinterval :1
- txn.log.checkpoint.lsnthreshold :67108864
- txn.log.checkpoint.pollfrequency :120
- txn.log.checkpoint.history :0
- txn.lock.escalationthreshold :1000
- txn.lock.shrinktimer :5000
- txn.lock.timeout.waitthreshold :60000
- txn.lock.timeout.sweepthreshold :10000
- compiler.sortmemory :33554432
- compiler.joinmemory :33554432
- compiler.framesize :32768
- web.port :19001
- api.port :19002
- log.level :INFO
+ Asterix version:0.0.5
+ Asterix Configuration
+ output_dir = /tmp/asterix_output/
+ Metadata Node:node1
+ Processes
+ NC at 127.0.0.1 [ 22195 ]
+ CC at 127.0.0.1 [ 22161 ]
+
+ Asterix Configuration
+ nc.java.opts :-Xmx1024m
+ cc.java.opts :-Xmx1024m
+ storage.buffercache.pagesize :32768
+ storage.buffercache.size :33554432
+ storage.buffercache.maxopenfiles :214748364
+ storage.memorycomponent.pagesize :32768
+ storage.memorycomponent.numpages :1024
+ storage.memorycomponent.globalbudget :536870192
+ storage.lsm.mergethreshold :3
+ storage.lsm.bloomfilter.falsepositiverate:0.01
+ txn.log.buffer.numpages :8
+ txn.log.buffer.pagesize :131072
+ txn.log.partitionsize :2147483648
+ txn.log.disksectorsize :4096
+ txn.log.groupcommitinterval :1
+ txn.log.checkpoint.lsnthreshold :67108864
+ txn.log.checkpoint.pollfrequency :120
+ txn.log.checkpoint.history :0
+ txn.lock.escalationthreshold :1000
+ txn.lock.shrinktimer :5000
+ txn.lock.timeout.waitthreshold :60000
+ txn.lock.timeout.sweepthreshold :10000
+ compiler.sortmemory :33554432
+ compiler.joinmemory :33554432
+ compiler.framesize :32768
+ web.port :19001
+ api.port :19002
+ log.level :INFO
As seen above, the instance 'my_asterix' is configured such that all processes running at the localhost (127.0.0.1). The process id for each process (JVM) is shown next to it.
##### Stop Command #####
The `stop` command can be used for shutting down an AsterixDB instance. After that, the instance is unavailable for executing queries. The usage can be looked up by executing the following.
+ $ managix help -cmd stop
- $ managix help -cmd stop
-
- Shuts an AsterixDB instance that is in ACTIVE state. After executing the stop command, the AsterixDB instance transits
- to the INACTIVE state, indicating that it is no longer available for executing queries.
-
- Available arguments/options
- -n name of the AsterixDB instance.
+ Shuts an AsterixDB instance that is in ACTIVE state. After executing the stop command, the AsterixDB instance transits
+ to the INACTIVE state, indicating that it is no longer available for executing queries.
+
+ Available arguments/options
+ -n name of the AsterixDB instance.
To stop the AsterixDB instance.
+ $ managix stop -n my_asterix
+ INFO: Stopped AsterixDB instance: my_asterix
- $ managix stop -n my_asterix
- INFO: Stopped AsterixDB instance: my_asterix
-
-
- $ managix describe -n my_asterix
- INFO: Name: my_asterix
- Created:Thu Mar 07 19:07:00 PST 2013
- Web-Url:http://127.0.0.1:19001
- State:INACTIVE (Fri Mar 08 09:49:00 PST 2013)
-
+ $ managix describe -n my_asterix
+ INFO: Name: my_asterix
+ Created:Thu Mar 07 19:07:00 PST 2013
+ Web-Url:http://127.0.0.1:19001
+ State:INACTIVE (Fri Mar 08 09:49:00 PST 2013)
##### Start Command #####
The `start` command starts an AsterixDB instance that is in the INACTIVE state. The usage can be looked up by executing the following:
+ $ managix help -cmd start
- $ managix help -cmd start
-
- Starts an AsterixDB instance that is in INACTIVE state. After executing the start command, the AsterixDB instance transits to the ACTIVE state, indicating that it is now available for executing statements/queries.
-
- Available arguments/options
- -n name of the AsterixDB instance.
+ Starts an AsterixDB instance that is in INACTIVE state. After executing the start command, the AsterixDB instance transits to the ACTIVE state, indicating that it is now available for executing statements/queries.
+
+ Available arguments/options
+ -n name of the AsterixDB instance.
Let us now start the AsterixDB instance.
-
- $ managix start -n my_asterix
- INFO: Name:my_asterix
- Created:Thu Mar 07 19:07:00 PST 2013
- Web-Url:http://127.0.0.1:19001
- State:ACTIVE (Fri Mar 08 09:49:00 PST 2013)
+ $ managix start -n my_asterix
+ INFO: Name:my_asterix
+ Created:Thu Mar 07 19:07:00 PST 2013
+ Web-Url:http://127.0.0.1:19001
+ State:ACTIVE (Fri Mar 08 09:49:00 PST 2013)
##### Backup Command #####
@@ -766,63 +717,54 @@
We need to provide a path to a backup directory on the local file system. The backup directory can be configured be editing the Managix configuration XML, found at `$MANAGIX_HOME/conf/managix-conf.xml`.
-
- <backup>
- <backupDir>Provide path to the backup directory here</backupDir>
- </backup>
+ <backup>
+ <backupDir>Provide path to the backup directory here</backupDir>
+ </backup>
Prior to taking a backup of an AsterixDB instance, it is required for the instance to be in the INACTIVE state. We do so by using the `stop` command, as shown below:
-
- $ managix stop -n my_asterix
- INFO: Stopped AsterixDB instance: my_asterix
+ $ managix stop -n my_asterix
+ INFO: Stopped AsterixDB instance: my_asterix
We can now take the backup by executing the following:
-
- $ managix backup -n my_asterix
- INFO: my_asterix backed up 0_Fri Mar 08 16:16:34 PST 2013 (LOCAL)
-
+ $ managix backup -n my_asterix
+ INFO: my_asterix backed up 0_Fri Mar 08 16:16:34 PST 2013 (LOCAL)
*Configuring backup on an HDFS instance*
To configure a backup to be taken on an HDFS instance, we need to provide required information about the running HDFS instance. This information includes the HDFS version and the HDFS url. Simply edit the Managix configuration file and provide the required information.
-
- <backup>
- <backupDir>Provide path to the backup directory here</backupDir>
- <hdfs>
- <version>0.20.2</version>
- <url></url>
- </hdfs>
- </backup>
+ <backup>
+ <backupDir>Provide path to the backup directory here</backupDir>
+ <hdfs>
+ <version>0.20.2</version>
+ <url></url>
+ </hdfs>
+ </backup>
A sample output when a backup is taken on an HDFS is shown below:
-
- $ managix backup -n my_asterix
- INFO: my_asterix backed up 1_Fri Mar 08 17:10:38 PST 2013 (HDFS)
-
+ $ managix backup -n my_asterix
+ INFO: my_asterix backed up 1_Fri Mar 08 17:10:38 PST 2013 (HDFS)
Each time we take a backup, we are provided with a unique id (a monotonically increasing value starting with 0). This id is required when we need to restore from a previously taken backup. Information about all available backup snapshots can be obtained by using the `describe` command in the admin mode, as shown below:
+ $ managix describe -n my_asterix -admin
+ INFO: Name:my_asterix
+ Created:Fri Mar 08 15:11:12 PST 2013
+ Web-Url:http://127.0.0.1:19001
+ State:INACTIVE (Fri Mar 08 16:14:20 PST 2013)
+ Master node:master:127.0.0.1
+ node1:127.0.0.1
- $ managix describe -n my_asterix -admin
- INFO: Name:my_asterix
- Created:Fri Mar 08 15:11:12 PST 2013
- Web-Url:http://127.0.0.1:19001
- State:INACTIVE (Fri Mar 08 16:14:20 PST 2013)
- Master node:master:127.0.0.1
- node1:127.0.0.1
-
- Backup:0 created at Fri Mar 08 16:16:34 PST 2013 (LOCAL)
- Backup:1 created at Fri Mar 08 17:10:38 PST 2013 (HDFS)
-
- Asterix version:0.0.5
- Asterix Configuration
- Metadata Node:node1
- Processes
+ Backup:0 created at Fri Mar 08 16:16:34 PST 2013 (LOCAL)
+ Backup:1 created at Fri Mar 08 17:10:38 PST 2013 (HDFS)
+ Asterix version:0.0.5
+ Asterix Configuration
+ Metadata Node:node1
+ Processes
The above output shows the available backup identified by it's id (0). We shall next describe the method for restoring an AsterixDB instance from a backup snapshot.
@@ -830,78 +772,68 @@
The `restore` command allows you to restore an AsterixDB instance's data from a previously taken backup. The usage description can be obtained as follows:
+ $ managix help -cmd restore
- $ managix help -cmd restore
-
- Restores an AsterixDB instance's data from a previously taken backup.
- Available arguments/options
-
- -n name of the AsterixDB instance
- -b id of the backup snapshot
+ Restores an AsterixDB instance's data from a previously taken backup.
+ Available arguments/options
+ -n name of the AsterixDB instance
+ -b id of the backup snapshot
The following command restores our AsterixDB instance from the backup snapshot identified by the id (0). Prior to restoring an instance from a backup, it is required that the instance is in the INACTIVE state.
-
- $ managix restore -n my_asterix -b 0
- INFO: AsterixDB instance: my_asterix has been restored from backup
+ $ managix restore -n my_asterix -b 0
+ INFO: AsterixDB instance: my_asterix has been restored from backup
You can start the AsterixDB instance by using the start command.
##### Log Command #####
-The `log` command allows you to collect the log files coresponding to each node of an AsterixDB instance into a zip archive.
-The zip archive is produced on the local file system of the machine running managix.
+The `log` command allows you to collect the log files coresponding to each node of an AsterixDB instance into a zip archive.
+The zip archive is produced on the local file system of the machine running managix.
- $ managix help -cmd log
-
- Creates a zip archive containing log files corresponding to each worker node (NC) and the master (CC) for an AsterixDB instance
+ $ managix help -cmd log
- Available arguments/options
- -n name of the AsterixDB instance.
- -d destination directory for producing the zip archive. Defaults to $MANAGIX_HOME/logdump.
-
-The following is an example showing the use of the log command.
+ Creates a zip archive containing log files corresponding to each worker node (NC) and the master (CC) for an AsterixDB instance
- $ managix log -n my_asterix -d /Users/joe/logdump
- INFO: Log zip archive created at /Users/joe/logdump/log_Thu_Jun_06_00:53:51_PDT_2013.zip
+ Available arguments/options
+ -n name of the AsterixDB instance.
+ -d destination directory for producing the zip archive. Defaults to $MANAGIX_HOME/logdump.
+The following is an example showing the use of the log command.
+
+ $ managix log -n my_asterix -d /Users/joe/logdump
+ INFO: Log zip archive created at /Users/joe/logdump/log_Thu_Jun_06_00:53:51_PDT_2013.zip
##### Delete Command #####
As the name suggests, the `delete` command permanently removes an AsterixDB instance by cleaning up all associated data/artifacts. The usage can be looked up by executing the following:
+ $ managix help -cmd delete
+ Permanently deletes an AsterixDB instance. The instance must be in the INACTIVE state.
- $ managix help -cmd delete
- Permanently deletes an AsterixDB instance. The instance must be in the INACTIVE state.
-
- Available arguments/options
- -n name of the AsterixDB instance.
+ Available arguments/options
+ -n name of the AsterixDB instance.
- $ managix delete -n my_asterix
- INFO: AsterixDB instance my_asterix deleted.
-
+ $ managix delete -n my_asterix
+ INFO: AsterixDB instance my_asterix deleted.
##### Shutdown Command #####
Managix uses Zookeeper service for storing all information about created AsterixDB instances. The Zookeeper service runs in the background and can be shut down using the `shutdown` command.
-
- $ managix shutdown
-
+ $ managix shutdown
##### Help Command #####
The `help` command provides a usage description of a Managix command.
-
- $ managix help -cmd <command name>
+ $ managix help -cmd <command name>
As an example, for looking up the help for the `configure` command, execute the following
+ $ managix help -cmd configure
- $ managix help -cmd configure
-
- Auto-generates the AsterixDB installer configruation settings and AsterixDB cluster
- configuration settings for a single node setup.
+ Auto-generates the AsterixDB installer configruation settings and AsterixDB cluster
+ configuration settings for a single node setup.
## <a id="Section5FAQ">Section 5: Frequently Asked Questions</a> <font size="4"><a href="#toc">[Back to TOC]</a></font> ##
@@ -912,40 +844,39 @@
##### Answer #####
When a node leaves the Asterix cluster, the AsterixDB instance transits to an 'UNUSABLE' state, indicating that it is no longer
-available for serving queries. To know which set of node(s) left the cluster, run the describe command with -admin flag.
+available for serving queries. To know which set of node(s) left the cluster, run the describe command with -admin flag.
- $ $MANAGIX_HOME/bin/managix describe -n <name of the AsterixDB instance>-admin
-
-Above command will show the state of AsterixDB instance and list the set of nodes that have left the cluster.
+ $ $MANAGIX_HOME/bin/managix describe -n <name of the AsterixDB instance>-admin
-The failed node must be brought back to re-join the cluster. Once done, you may bring back the
-instance to an 'ACTIVE' state by executing the following sequence.
+Above command will show the state of AsterixDB instance and list the set of nodes that have left the cluster.
+
+The failed node must be brought back to re-join the cluster. Once done, you may bring back the
+instance to an 'ACTIVE' state by executing the following sequence.
1) Get rid of the Asterix processes running on the nodes in the cluster:-
- managix stop -n my_asterix
-
+ managix stop -n my_asterix
The processes associated with the instance are terminated and the instance moves to the INACTIVE state.
2) Start the AsterixDB instance using the start command.
- managix start -n <name of your AsterixDB instance>
+ managix start -n <name of your AsterixDB instance>
##### Question #####
Do I need to create all the directories/paths I put into the cluster configuration XML ?
##### Answer #####
-Managix will create a path if it is not existing. It does so using the user account mentioned in the cluster configuration xml.
-Please ensure that the user account has appropriate permissions for creating the missing paths.
+Managix will create a path if it is not existing. It does so using the user account mentioned in the cluster configuration xml.
+Please ensure that the user account has appropriate permissions for creating the missing paths.
##### Question #####
Should MANAGIX_HOME be on the network file system (NFS) ?
##### Answer #####
-It is recommended that MANAGIX_HOME is not on the NFS. Managix produces artifacts/logs on disk which are not required to be shared.
+It is recommended that MANAGIX_HOME is not on the NFS. Managix produces artifacts/logs on disk which are not required to be shared.
As such an overhead in creating the artifacts/logs on the NFS should be avoided.
##### Question #####