代码改变世界

CentOS6.5 安装Storm集群

2016-05-17 11:26  猎手家园  阅读(737)  评论(0编辑  收藏  举报

1、首先安装依赖包

[root@Hadoop-NN-01 ~]# yum install uuid*
[root@Hadoop-NN-01 ~]# yum install libuuid
[root@Hadoop-NN-01 ~]# yum install libuuid-devel
[root@Hadoop-NN-01 ~]# yum install libtool
[root@Hadoop-NN-01 ~]# yum install e2fsprogs
[root@Hadoop-NN-01 ~]# yum install e2fsprogs-devel

 

2、安装 zeromq

下载:http://download.zeromq.org/zeromq-4.1.2.tar.gz

解压:tar xzf zeromq-4.1.2.tar.gz

编译安装:

./configure --without-libsodium
make
make install
sudo ldconfig

 

3、安装 jzmq (先安装JDK)

安装git:

yum install git
git clone git://github.com/nathanmarz/jzmq.git
cd jzmq

如果不安装git,则使用wget:

wget https://codeload.github.com/zeromq/jzmq/zip/master
unzip  jzmq-master.zip
cd jzmq-jni/

编译安装:

./autogen.sh
./configure
make
make install

 

4、安装 Python(CentOS自带python2.6可以略过此步)

wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz

tar -zxvf Python-3.5.0.tgz
cd Python-2.7.2
./configure
make
make install

安装完后:

vi /etc/ld.so.conf 追加 /usr/local/lib/

 

5、安装 zookeeper

参考文档:http://www.cnblogs.com/hunttown/p/5452138.html

 

6、安装 storm

下载:http://mirror.bit.edu.cn/apache/storm/apache-storm-0.9.6/apache-storm-0.9.6.tar.gz

解压:tar -zxvf apache-storm-0.9.6.tar.gz

设置环境变量:

[root@Hadoop-NN-01 ~]# vim /etc/profile
#storm
export STORM_HOME=/home/hadoopuser/apache-storm-0.9.6
export PATH=$PATH:$STORM_HOME/bin

[root@Hadoop-NN-01 ~]# source /etc/profile    #使环境变量生效

 

7、配置

storm配置文档:https://github.com/nathanmarz/storm/blob/master/conf/defaults.yaml

[root@Hadoop-NN-01 conf]# vim storm.yaml

#注意yaml格式的要求,注意在每一项的开始时要加空格,冒号后也必须要加空格,否则storm就不认识这个配置文件了

storm.zookeeper.servers:
    - " Zookeeper-01"
    - " Zookeeper-02"
    - " Zookeeper-03"

# storm.zookeeper.port : 2181  #非默认端口时配置
nimbus.host: " Hadoop-NN-01"
nimbus.thrift.port: 6627
storm.zookeeper.port: 2181
storm.local.dir: "/home/hadoopuser/apache-storm-0.9.6/tmp"

supervisor.slots.ports:
    - 6700
    - 6701
    - 6702

# to nimbus 1G够用了
nimbus.childopts: "-Xmx1024m"

# to supervisor 1G够用了
supervisor.childopts: "-Xmx1024m"

# to worker 作业一般可以给的大一些,因为要处理数据。一般给4G以上。
worker.childopts: "-Xmx4096m"

 

Storm集群中有两种节点,一种是控制节点(Nimbus节点),另一种是工作节点(Supervisor节点)。所有Topology任务的提交必须在Storm客户端节点上进行需要配置~/.storm/storm.yaml文件,由Nimbus节点分配给其他Supervisor节点进行处理。

mkdir ~/.storm
cp /home/hadoopuser/apache-storm-0.9.6/conf/storm.yaml ~/.storm/storm.yaml

 

#修改hosts(可省略):

nimbus节点hosts改为 nimbusHost

supervisor节点hosts改为 supervisorHost1…...x

 

#进程说明:

zkServer nimbus, supervisor 和 ui

storm nimbus & 要等待一会直到出现---- backtype.storm.daemon.nimbus

storm supervisor & 要等待一会直到出现---- storm.daemon.supervisor

storm ui & 要等待一会直到出现---- properties backtype.storm.ui.core

jps 可以查看各个进程的运行状态

core 对应的进程是 Storm UI

Jps 对应的进程是 Java jps

nimbus 对应的进程是 Storm nimbus

supervisor 对应的进程是 Storm supervisor

QuorumPeerMain 对应的进程是 zkServer.sh

 

8、启动storm

#启动zookeeper:
[root@Hadoop-NN-01 ~]# zkServer.sh start

#启动Storm:
[root@Hadoop-NN-01 ~]# storm nimbus &    #后台启动
[root@Hadoop-NN-01 ~]# storm supervisor &
[root@Hadoop-NN-01 ~]# storm ui &

 

浏览器中查看状态:http://192.168.107.82:8080/

 

9、提交作业(topology

[root@Hadoop-NN-01 ~]# storm jar xxxx.jar storm.starter.WordCountTopology arg1 arg2 arg3

 

10、关闭作业

[root@Hadoop-NN-01 ~]# storm kill topologyname

 

注意事项:

1、Storm后台进程被启动后,将在Storm安装部署目录下的logs/子目录下生成各个进程的日志文件。

2、经测试,Storm UI必须和Storm Nimbus部署在同一台机器上,否则UI无法正常工作,因为UI进程会检查本机是否存在Nimbus链接。

3、为了方便使用,可以将bin/storm加入到系统环境变量中。