Storm安装指南--亲测版

1. 基本配置(与Hadoop共通)

  1.1 安装JDK

安装JDK6或以上版本,配置JAVA_HOME CLASSPATH环境变量。具体过程略。

    1.2.    安装python

先确定系统自带的Python版本,如果是2.6.6或者以上的不需要安装

    1.3.   配置hosts

关闭防火墙,添加集群中主机和IP的映射关系

$cat /etc/hosts

127.0.0.1          localhost
192.168.0.99    backup
192.168.0.100  master
192.168.0.101  datanode1
192.168.0.102  datanode2
192.168.0.103  datanode3
192.168.0.104  datanode4

  

2.   Zookeeper安装

   2.1.   下载后解压安装Zookeeper

本集群用的是zookeeper-3.4.6.tar.gz 发行版本(见附件)。

   2.2.    修改conf/zoo.cfg配置文件: 

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/hadoop/storm_tmp/zookeeper/data
dataLogDir=/home/hadoop/storm_tmp/zookeeper/log
clientPort=2181
server.1=master:2888:3888
server.2=backup:2888:3888
server.3=datanode1:2888:3888
server.4=datanode2:2888:3888

 

 其中,dataDir指定Zookeeper的数据文件目录;其中server.id=host:port:portid是为每个Zookeeper节点的编号,保存在dataDir目录下的myid文件中,zookeeper1~zookeeper3表示各个Zookeeper节点的hostname,第一个port是用于连接leader的端口,第二个port是用于leader选举的端口。

${dataDir} 目录下创建myid文件,文件中只包含一行,且内容为该节点对应的server.id中的id编号。

   2.3.    启动Zookeeper

bin/zkServer.sh start 

    2.4.    通过Zookeeper客户端测试服务是否可用:

bin/zkCli.sh -server IP:2181 

 3.   Storm安装

Storm提供了两种形式的压缩包:ziptar.gz, 本集群中使用apache-storm-0.9.5. (见附件)

    3.1.   解压Storm

Storm发行版本解压后目录下有一个conf/storm.yaml文件,用于配置Storm。以下配置选项是必须在conf/storm.yaml中进行配置的,需要特别注意:每个参数前面以及 “-”后面要带空格。

1) storm.zookeeper.servers -- Storm集群使用的Zookeeper集群地址,其格式如下:

 storm.zookeeper.servers:

     - "192.168.0.100" 

     - "192.168.0.99" 

     - "192.168.0.101" 

     - "192.168.0.102"

如果Zookeeper集群使用的不是默认端口,那么还需要storm.zookeeper.port选项。

2) storm.local.dir -- NimbusSupervisor进程用于存储少量状态,如jarsconfs等的本地磁盘目录,需要提前创建该目录并给以足够的访问权限

 storm.local.dir: "/home/hadoop/storm_tmp/"

3) nimbus.host -- Storm集群Nimbus机器地址,各个Supervisor工作节点需要知道哪个机器是Nimbus,以便下载Topologiesjarsconfs等文件:

 nimbus.host: "192.168.0.100"

4) supervisor.slots.ports -- 对于每个Supervisor工作节点,需要配置该工作节点可以运行的worker数量。每个worker占用一个单独的端口用于接收消息,该配置选项即用于定义哪些端口是可被worker使用的。默认情况下,每个节点上可运行4workers,分别在6700670167026703端口,如:

 supervisor.slots.ports:

  - 6700 

  - 6701 

  - 6702 

  - 6703

3.2 启动Storm各个后台进程

主控节点Nimbus进程:

1.  运行Zookeeper./zkServer.sh start

2. Storm主控节点上运行”bin/storm nimbus >/dev/null 2>&1 &”启动Nimbus后台程序,并放到后台执行;

3. Storm主控节点上运行”bin/storm ui >/dev/null 2>&1 &”启动UI后台程序,并放到后台执行,启动后可以通过http://{nimbushost}:8080观察集群的worker资源使用情况、Topologies的运行状态等信息。Storm UI必须和Storm Nimbus部署在同一台机器上,否则UI无法正常工作,因为UI进程会检查本机是否存在Nimbus链接。

4. logview:Storm主节点上运行"bin/storm logviewer > /dev/null 2>&1 &"启动logviewer后台程序,并放到后台执行。

工作节点进程:

1. 运行Zookeeper./zkServer.sh start 

2. Storm各个工作节点上运行”bin/storm supervisor>/dev/null 2>&1 &”启动Supervisor后台程序,并放到后台执行;  

4.   注意事项:

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

$cat /etc/profile

#for JAVA
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_05
export JRE_HOME=${JAVA_HOME}/jre
#for Storm
export ZOOKEEPER_HOME=/home/hadoop/Storm/zookeeper-3.4.6
export STORM_HOME=/home/hadoop/Storm/apache-storm-0.9.5
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:${ZOOKEEPER_HOME}/lib:${STORM_HOME}/lib
export PATH=.:${JAVA_HOME}/bin:${JRE_HOME}/bin:${ZOOKEEPER_HOME}/bin:${STORM_HOME}/bin:$PATH

  

至此,Storm集群已经部署、配置完毕,可以向集群提交拓扑运行了。接下来我们检查下环境的运行情况:--使用jps检查守护进程运行状况

$ jps

20420 nimbus  (主节点)

20623 logviewer (主节点)

20486 supervisor (工作节点)

20319 core (主节点)

21755 Jps



 

 

猜你喜欢

转载自toking79.iteye.com/blog/2280599
今日推荐