-
Notifications
You must be signed in to change notification settings - Fork 1.8k
How to Install
- Download release package from Downloads
- Deploy Zookeeper cluster
- Install Python 2.6
- Install JDK
- Install zeromq
- Install Jzmq
- Configuration $ JSTORM_HOME / conf / storm.yaml
- Deploy web ui
- Start JStorm cluster
Zookeeper installation procedure is not described here
- Please refer to the "zookeeper installation steps" instructions.
- Please refer to the "zookeeper Configuration Description" instructions.
If the current system python version is 2.6 or 2.7, it's no need to install python. Refer python
You can also use https://github.com/utahta/pythonbrew to install python> curl-kL http://xrl.us/pythonbrewinstall | bash -s $HOME/.pythonbrew/etc/bashrc && source $HOME/.pythonbrew/etc/bashrc pythonbrew install 2.6.7 pythonbrew switch 2.6.7
Note that, if the current system is a 64-bit system, you need to download jdk for 64 bit, and if it is 32-bit system, then download jdk for 32 bit.
wget http://download.zeromq.org/zeromq-2.1.7.tar.gz
tar zxf zeromq-2.1.7.tar.gz
cd zeromq-2.1.7
make
sudo make install
sudo ldconfig
If you do not have root privileges, or the current user does not have sudo privileges, execute "/configure -- Prefix=/home/xxxxx" replace "/configure", /home/xxxx is the installation target directory.
git clone git://github.com/nathanmarz/jzmq.git
cd jzmq
./autogen.sh
./configure
make
make install
If you do not have root privileges, or the current user does not have sudo privileges, execute "/configure -- Prefix=/home/xxxxx" replace "/configure", /home/xxxx is the installation target directory.
Take jstorm-0.9.1.zip as an example
unzip jstorm-0.9.1.zip
vi ~/.bashrc
export JSTORM_HOME=/XXXXX/XXXX
export PATH=$PATH:$JSTORM_HOME/bin
Configure $ JSTORM_HOME /conf/storm.yaml
Configuration items:
storm.zookeeper.servers: zookeeper address.
nimbus.host: nimbus address.
storm.zookeeper.root: root directory of JStorm in zookeeper. When multiple JStorm share a ZOOKEEPER, you need to set this option. the default is "/jstorm".
storm.local.dir: JStorm temporary data storage directory. You need to ensure JStorm program has written privilege.
java.library.path: zeromq and java zeromq library installation directory, the default is "/usr/local/lib:/opt/local/lib:/usr/lib".
supervisor.slots.ports: a list of ports provided by the supervisors. Be careful not to conflict with other ports. The default is 68xx, while storm is 67xx.
supervisor.disk.slot: providing data directory, when a machine has more than one disk, the disk can provide read and write slot, easy to heavy IO operation application.
topology.enable.classloader: false, classloader is disabled by default. If the jar of the application conflicts with the one JStorm depends on, for example, an application depends on thrift9, but JStorm uses thrift7, then you need to enable this configure item.
nimbus.groupfile.path: if you need to make resource isolation, for example when you need isolate resource between some departments, such as data warehouse department, technology department, and the wireless department, then you need to enable the grouping feature, set the absolute path to a configuration file, which refers to group_file.ini.
Execute following commands on the node where the jar packages are submitted.
#mkdir ~/.jstorm
#cp –f $JSTORM_HOME/conf/storm.yaml ~/.jstorm
Note: web ui and nimbus can not the same node.
mkdir ~/.jstorm cp -f $JSTORM_HOME/conf/storm.yaml ~/.jstorm
Download tomcat 7.x (take apache-tomcat-7.0.37 as an example)
tar -xzf apache-tomcat-7.0.37.tar.gz
cd apache-tomcat-7.0.37
cd webapps
cp $JSTORM_HOME/jstorm-ui-0.9.0.war ./
mv ROOT ROOT.old
ln -s jstorm-ui-0.9.0 ROOT
cd ../bin
./startup.sh
- Execute "nohup jstorm nimbus &" in the nimbus node, view $JSTORM_HOME/logs/nimbus.log to check if any errors.
- Execute "nohup jstorm supervisor &" in the supervisor node view $JSTORM_HOME/logs/supervisor.log to check if any errors.