@huyl08
2016-06-22T07:46:22.000000Z
字数 4485
阅读 1301
storm
supervisor
zookeepr
kafka
pssh
本手册使用PSSH分发安装,在中心机上安装pssh
pssh -i -h stormlist 'systemctl stop firewalld.service'
pssh -i -h stormlist 'systemctl disable firewalld.service'
pssh -i -h stormlist 'systemctl stop iptables.service'
pssh -i -h stormlist 'systemctl disable iptables.service'
有NTP Server服务的需要进行卸载,防止异常
# vi $ZOOKEEPER_HOME/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181
dataDir=/home/storm/tmp/zookeeper
autopurge.purgeInterval=24
autopurge.snapRetainCount=5
server.4=storm-4:2888:3888
server.5=storm-5:2888:3888
server.24=storm-24:2888:3888
server.25=storm-25:2888:3888
# vi $ZOOKEEPER_HOME/bin/zkEnv.sh
export JAVA_HOME=/usr/java/jdk1.8.0_91
server.properties
producer.properties
consumer.properties
conf/storm_env.ini
JAVA_HOME:/usr/java/jdk1.8.0_91
conf/storm.yaml
pscp -h stormlist -r /home/storm/static /home/storm/
pscp -h stormlist -r /home/storm/conf.d /home/storm/
pscp -h stormlist -r /home/storm/zookeeper-3.4.7 /home/storm/
pscp -h stormlist -r /home/storm/kafka_2.11-0.8.2.2 /home/storm/
pscp -h stormlist -r /home/storm/apache-storm-0.10.0 /home/storm/
环境变量已经按照相关应用程序全部放在用户目录/home/storm下准备了ENV_STORM_SUFFIX文件
# ENV_STORM_SUFFIX
export JAVA_HOME=/usr/java/jdk1.8.0_91
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export ZOOKEEPER_HOME=/home/storm/zookeeper-3.4.7
export PATH=$ZOOKEEPER_HOME/bin:$PATH
export KAFKA_HOME=/home/storm/kafka_2.11-0.8.2.2
export PATH=$KAFKA_HOME/bin:$PATH
export STORM_HOME=/home/storm/apache-storm-0.10.0
export PATH=$STORM_HOME/bin:$PATH
之后通过pssh分发ENV_STORM_SUFFIX到各个机器,并将ENV_STORM_SUFFIX 追加到各机器 /etc/profile,并使之生效
pscp -h stormlist ENV_STORM_SUFFIX /home/storm/
pssh -i -h stormlist 'cat /home/storm/ENV_STORM_SUFFIX >> /etc/profile'
pssh -i -h stormlist 'source /etc/profile'
pssh -i -h stormlist 'mkdir /home/storm/tmp'
pssh -i -h stormlist 'mkdir /home/storm/tmp/supervisord-log'
pssh -i -h stormlist 'mkdir /home/storm/tmp/zookeeper'
pssh -i -h stormlist 'mkdir /home/storm/tmp/kafka-logs'
pssh -i -h stormlist 'mkdir /home/storm/tmp/storm'
echo 'server.id' > /home/storm/tmp/zookeeper/myid
# 启动ZK Server
pssh -i -h stormlist '/home/storm/zookeeper-3.4.7/bin/zkServer.sh start'
# 检查每个ZK Server的状态
pssh -i -h stormlist '/home/storm/zookeeper-3.4.7/bin/zkServer.sh status'
以下为正常集群的输出
[1] 12:38:43 [SUCCESS] 10.212.129.4
Mode: follower
Stderr: ZooKeeper JMX enabled by default
Using config: /home/storm/zookeeper-3.4.7/bin/../conf/zoo.cfg
[2] 12:38:43 [SUCCESS] 10.212.129.5
Mode: follower
Stderr: ZooKeeper JMX enabled by default
Using config: /home/storm/zookeeper-3.4.7/bin/../conf/zoo.cfg
[3] 12:38:43 [SUCCESS] 10.212.129.25
Mode: leader
Stderr: ZooKeeper JMX enabled by default
Using config: /home/storm/zookeeper-3.4.7/bin/../conf/zoo.cfg
[4] 12:38:43 [SUCCESS] 10.212.129.24
Mode: follower
Stderr: ZooKeeper JMX enabled by default
Using config: /home/storm/zookeeper-3.4.7/bin/../conf/zoo.cfg
# zkCli.sh
create /kafka ""
pssh -i -h stormlist '/home/storm/kafka_2.11-0.8.2.2/bin/kafka-server-start.sh /home/storm/kafka_2.11-0.8.2.2/config/server.properties'
pssh -i -h stormlist 'cd /home/storm/supervisor-offline; tar -xzf meld3-0.6.5.tar.gz; tar -xzf supervisor-3.2.0.tar.gz; tar -xzf elementtree-1.2.6-20050316.tar.gz;'
pssh -i -h stormlist 'cd /home/storm/supervisor-offline/pysetuptools-7.0/ ; /usr/bin/python setup.py install ;'
pssh -i -h stormlist 'cd /home/storm/supervisor-offline/elementtree-1.2.6-20050316 ; /usr/bin/python setup.py install ;'
pssh -i -h stormlist 'cd /home/storm/supervisor-offline/meld3-0.6.5 ; /usr/bin/python setup.py install ;'
pssh -i -h stormlist 'cd /home/storm/supervisor-offline/supervisor-3.2.0 ; /usr/bin/python setup.py install;'
/etc/init.d/supervisor
#!/bin/sh
# /etc/init.d/supervisor
#
# Supervisor is a client/server system that
# allows its users to monitor and control a
# number of processes on UNIX-like operating
# systems.
#
# chkconfig: 2345 20 80
# description: Supervisor Server
# processname: supervisor
# Source init functions
. /etc/rc.d/init.d/functions
prog="supervisord"
exec_prefix="${prefix}"
prog_bin="/usr/bin/supervisord"
PIDFILE="/tmp/supervisord.pid"
start()
{
echo -n $"Starting $prog: "
daemon $prog_bin -c /etc/supervisord.conf --pidfile $PIDFILE
[ -f $PIDFILE ] && success $"$prog startup" || failure $"$prog startup"
echo
}
stop()
{
echo -n $"Shutting down $prog: "
[ -f $PIDFILE ] && killproc $prog || success $"$prog shutdown"
echo
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $prog
;;
restart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
;;
esac
设置开机启动
chkconfig --add supervisor
chkconfig supervisor on
service supervisor start