普通部署
192.168.16.8, 192.168.16.9,192.168.16.10为例
一.Zookeeper
1.下载zookeeper
下载地址http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/
2.解压到/home/hadoop/
tar -zxvfzookeeper-3.4.6.tar.gz
3.配置
cd /home/hadoop/zookeeper-3.4.6/conf/
cp zoo_sample.cfg zoo.cfg
修改zoo.cfg配置:
dataDir=/home/hadoop/zookeeper-3.4.6/data
server.1=192.168.16.8:2888:3888
server.2=192.168.16.9:2888:3888
server.3=192.168.16.10:2888:3888
4.创建myid文件,并将内容改成对应服务器数字(例如192.168.16.8:,改成1)
5.启动
./zkServer.sh start启动zookeeper
jps #查看启动的服务名称,确认是否启动成功
scp/home/hadoop/.dsh/machines.list hadoop@192.168.16.9:/home/hadoop/.dsh/
scp/home/hadoop/zookeeper-3.4.6.tar.gz 192.168.16.9:/home/hadoop/
dsh -M -r ssh -a -q -c "tar -zxvfzookeeper-3.4.6.tar.gz"
二.Java
sudo tar -zxvf jdk-7u72-linux-x64.tar.gz -C /usr/local/
将jdk解压至/usr/local/下
配置~/.bash_profile文件添加如下内容:
#java
export JAVA_HOME=/usr/local/jdk1.7.0_72
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
最后执行:
source ~/.bash_profile
三.jstorm
1.下载jstorm
下载地址https://github.com/alibaba/jstorm/wiki/Downloads
2.解压到/home/hadoop/
unzip jstorm-0.9.6.1.zip
3.在/home/hadoop/下创建,jstorm-data跟jstorm-logs目录
创建数据文件目录jstorm-data,日志文件目录jstorm-logs
4.创建软连接,ln -s jstorm-0.9.6.1 jstorm-current
5.修改环境变量 .bash_profile 指定JSTORM_HOME为jstorm-current source .bash_profile
vi ~/.bashrc,配置:
export JSTORM_HOME=/home/hadoop/jstorm-0.9.6.1
exportPATH=$PATH:$JSTORM_HOME/bin
6.配置
【storm.yaml】
storm.zookeeper.servers: 表示zookeeper 的地址,
storm.zookeeper.root: 表示jstorm在zookeeper中的根目录,当多个JStorm共享一个ZOOKEEPER时,需要设置该选项,默认即为“/jstorm”
storm.local.dir: /home/hadoop/jstorm-data 表示jstorm临时数据存放目录,需要保证jstorm程序对该目录有写权限
supervisor.slots.ports: 默认是6800 6801 6802 6803 可以根据服务器配置增加
【jstorm.log4j.properties】
修改日志文件存放路径
log4j.appender.D.File= /home/hadoop/jstorm-logs/${logfile.name}
log4j.appender.M.File = /home/hadoop/jstorm-logs/${logfile.name}.metrics
修改日志保存的大小以及个数
log4j.appender.D.MaxFileSize=200MB
log4j.appender.D.MaxBackupIndex=20
log4j.appender.M.MaxFileSize=100MB
log4j.appender.M.MaxBackupIndex=10
在作业提交节点
#mkdir ~/.jstorm
#cp -f $JSTORM_HOME/conf/storm.yaml~/.jstorm
ln -sjstorm-0.9.6.1 jstorm-current
vi .bash_profile
/home/hadoop/jstorm-current
四.jstormweb ui
1.下载atyapache-tomcat-8.0.20.tar.gz
下载地址http://tomcat.apache.org/download-80.cgi
2.解压到目录/home/hadoop/
tar -zxvf apache-tomcat-8.0.20.tar.gz
3.配置
cd apache-tomcat-8.0.20
cd webapps
cp$JSTORM_HOME/jstorm-ui-0.9.6.1.war ./
mv ROOT ROOT.old
cd ../bin
./startup.sh
五.启动JStorm
在nimbus 节点上执行 “nohup jstorm nimbus &”, 查看$JSTORM_HOME/logs/nimbus.log检查有无错误
在supervisor节点上执行 “nohup jstorm supervisor &”, 查看$JSTORM_HOME/logs/supervisor.log检查有无错误
六.提交任务
1.提交jar包,
2.启动任务,
jstorm jar/home/hadoop/jstorm-work/realTimeMonitor-0.0.1-SNAPSHOT-jar-with-dependencies.jarcom.chinamobile.jstorm.kafka.topology.ATopology 1 1 1 192.168.16.2 6379/AKafkaStorm20150319 192.168.16.8,192.168.16.9,192.168.16.10 topic_a192.168.16.8,192.168.16.9,192.168.16.10
#参数需要结合实际情况修改,各参数的意思:
spout任务数
calBolt任务数
persitBolt任务数
redisIP
redisPort
kafkaZookeeperConsumeRoot
kafkaZookeeperConsumeList
topicName
kafkaZookeeperBrokerList
七.常见问题
1.集群通信不了,系统安全级别确认。
执行getenforce,显示disabled就没问题,
不是disabled的话,修改/etc/sysconfig/selinux
把 SELINUX=enforcing改成SELINUX=disabled,然后重启。