-
Notifications
You must be signed in to change notification settings - Fork 6
build
Download the source code as well as the 2 dependency jar files. Alternatively, we provide a docker deployment that creates a 2 node HRDBMS cluster for test and development deployments. When you build your project, you need to create a single output jar file called HRDBMS.jar that includes all of the stuff from the 2 dependency jar files within it.
Now we also support building with ant:
ant createJar
which generates a HRDBMS.jar in the build folder.
Create a file called nodes.cfg that has this format.
cc082.cooley, C, rack1, /home/hrdbms
cc123.cooley, W, rack1, /home/hrdbms
cc077.cooley, W, rack1, /home/hrdbms
...
The first field is the hostname or ip of the node. The second field is C or W for whether the node is a coordinator or a worker. The third field is the name of the rack that the node is on. The fourth field is the "install directory" for HRDBMS on that node. This is the directory where the HRDBMS.jar file exists on that node. Distribute this nodes.cfg file to all nodes. It needs to exist in the install directory on each node and it needs to be identical on all nodes.
Distribute the HRDBMS.jar file and the huffman.dat file to all nodes. Make sure to put it in whatever the install directory is for each node.
Set up passwordless ssh for the userid that you will run HRDBMS under between each coordinator node and each worker node.
Make sure each node supports a hard limit in ulimit for the HRDBMS userid for max processes of 100000. We will never get anywhere near that, but I just picked a really high number.
On each node you also need to have a file called hparms in the install directory. This file specifies the value for system parameters that you wish to override from the defaults. There are a few that you will definitely need to override. In a simple installation, you can get by with having this file be identical on all nodes. In more complex installations, that might not work. The format for the file is keyword=value, with one keyword per line and no space between the keyword, the equals sign, and the value.
Log on to any of the coordinator nodes as the HRDBMS user. Go to the install directory for that node. Issue the following commands...
ulimit -n <your max_open_files value>
ulimit -u 100000
nohup java -XX:+UseG1GC -XX:G1HeapRegionSize=32m -XX:+ParallelRefProcEnabled -XX:MaxDirectMemorySize=327772160000 -XX:+AggressiveOpts -Xmx<your heap size> -Xms<your heap size> -Xss<your stack size> -cp HRDBMS.jar:. com.exascale.managers.HRDBMSWorker 0 &
Each node will write a debug log in its install directory called hrdbms.log.