1、正常安装JDK,测试JKD是否安装正常。
$ java -version
2、正常安装Python,测试Python是否安装正常。
$ python
3、正常安装Zookeeper。
$ cd apache/
$ tar -xvf zookeeper-3.4.5.tar.gz
$ cd zookeeper-3.4.5/
$ mkdir data
$ mkdir logs
$ cd conf/
$ cp zoo_sample.cfg zoo.cfg
$ vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/wcbdd/apache/zookeeper-3.4.5/data
dataLogDir=/home/wcbdd/apache/zookeeper-3.4.5/logs
clientPort=2181
server.1=localhost:2888:3888
$ cd ..
$ echo "1" > data/myid
$ cd ~
$ vim .bashrc
exportZOOKEEPER_HOME=/home/wcbdd/apache/zookeeper-3.4.5
exportPATH=$PATH:$ZOOKEEPER_ HOME/bin
$ su – wcbdd
$ cd apache/zookeeper-3.4.5/bin/
$ vim zkEnv.sh
if ["x${ZOO_LOG_DIR}" = "x" ]
then
ZOO_LOG_DIR="$ZOOKEEPER_HOME/logs"
fi
if ["x${ZOO_LOG4J_PROP}" = "x" ]
then
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
fi
4、启动Zookeeper,并检查其工作状态。
$ zkServer.sh start
$ jps
$ zkServer.sh status
备注:标红的是刚才开启的Zookeeper进程,HQuorumPeer是Hbase内置的Zookeeper进程,因为以前配置的Hbase是由内置Zookeeper托管的,其实工作环境中一般都是把Hbase交给外部Zookeeper集群来托管。
5、安装Storm。
$ cd apache/
$ tar -xvf apache-storm-0.9.6.tar.gz
$ cd apache-storm-0.9.6/
$ mkdir data
$ vim conf/storm.yaml
storm.zookeeper.servers:
- "localhost"
storm.zookeeper.port: 2181
nimbus.host: "localhost"
storm.local.dir:"/home/wcbdd/apache/apache-storm-0.9.6/data"
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
备注:设置了从节点slots有4个端口,即最多一个节点能开启4个worder,每个worker是一个进程,一个进程又可开启很多个线程task。这个值可根据节点资源配置情况和业务需求进行设置。
$ cd ~
$ vim .bashrc
exportSTORM_HOME=/home/wcbdd/apache/apache-storm-0.9.6
exportPATH=$PATH:$STORM_HOME/bin
$ su - wcbdd
6、启动Storm。
$ storm nimbus >/dev/null 2>&1 & //启动主节点
$ storm supervisor >/dev/null 2>&1& //启动从节点
$ storm ui >/dev/null 2>&1 & //启动后台UI管理界面
7、查看Storm是否正常启动。
$ jps
备注:上图的nimbus为storm主节点进程,supervisor为从节点进程,core为后台管理界面进程。
8、通过浏览器查看Storm后台管理界面。
备注:第一个红框显示了storm的版本号、主节点运行时间、从节点数量、slots使用情况、任务数量等;第二个红框显示当前没有拓扑任务;第三个红框显示从节点信息,由图可知,这个storm集群只有一个从节点,运行在wcbdd主机上,有4个slots,当前使用的slots数量为0。
9、执行Storm的示例程序WordCountTopology。
$ cd apache/apache-storm-0.9.6/examples/ storm-starter/
$ storm jar storm-starter-topologies-0.9.6.jarstorm.starter.WordCountTopology wordcount
备注:此命令的作用是用storm将这个jar包发送给storm去执行,后面的wordcount是定义的topology名称。
10、停止拓扑任务wordcount。
$ storm deactivate wordcount