storm安装实战

来源:互联网 发布:淘宝特卖天天特价 编辑:程序博客网 时间:2024/06/05 20:40
安装前检查软件环境确保:
java6 SDK以上版本
python 2.6以上版本

修改每台机器的/et/hosts文件修改:
# vi /etc/hosts
192.168.1.206   nimbus
192.168.1.207   supervisor1
192.168.1.208   supervisor2

192.168.1.205   supervisor3

此处一定要修改每台机器的hostname与之相对应,因为supervisor.clj里面有行代码local-state (supervisor-state conf)
该代码在启动supervisor的时候会找本机的hostname ,hostname配置不正确会导致supervisor启动失败


每台安装ZeroMQ
# tar -zxvf zeromq-2.1.7.tar.gz
# cd zeromq-2.1.7
# ./configure
# make
# make install

*注意在安装uuid-dev的时候不同系统安装的名称不一样,使用centeros的同学需要安装yum install libuuid-devel,ubuntu的同学可以直接安装uuid-dev : apt-get install uuid-dev

每台安装JZMQ:
# unzip nathanmarz-jzmq-dd3327d.zip
# cd nathanmarz-jzmq-dd3327d
# ./autogen.sh
# ./configure
# make
# make install

安装zookeeper:
# tar -zxvf zookeeper-3.4.3.tar.gz
# cd zookeeper-3.4.3
# vi conf/zoo.cfg

clientPort=10205
server.0=nimbus:2888:3888
server.1=supervisor1:2888:3888
server.2=supervisor2:2888:3888
server.3=supervisor3:2888:3888
修改/var/zookeeper/myid ,与zoo.cfg中server.后面的数字一致,如nimbus机器改为0
# bin/zkServer.sh start  (启动服务)
# bin/zkCli.sh stat /测试服务是否正常启动
# bin/zkCli.sh ls /

每台安装Storm:
# unzip storm-0.7.0.zip
# cd storm-0.7.0
# vi conf/storm.yaml
storm.zookeeper.servers:
     - "nimbus"
     - "supervisor1"
     - "supervisor2"
     - "supervisor3"
storm.zookeeper.port: 10205
storm.local.dir: "/mnt/storm"
java.library.path: /usr/local/lib:/opt/local/lib:/usr/lib
nimbus.host: "nimbus"
supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703
...
storm.local.dir表示storm需要用到的本地目录,比如topology的jar文件保存,它用到的zookeeper的数据保存。
nimbus.host表示哪一台机器是nimbus机器。
supervisor.slots.ports表示supervisor节点的槽数,即每个supervisor能开几个worker进程。

然后在~/.storm/目录新建storm.yaml文件,~代表用户主目录。storm.yaml文件内容:nimbus.host: "192.168.1.205"。

export PATH=$PATH:*/storm-0.7.0-rc/bin

此处是为了执行storm jar wordcount.jar demo命令,如果在开发机器上装storm直接上传topology到集群也许要如此配置


启动:
主节点(nimbus节点):
# bin/storm nimbus
# bin/storm ui
从节点(supervisor节点):
# bin/storm supervisor


查看状态:
# vi logs/nimbus.log
# vi logs/supervisor.log
# vi logs/ui.log
注意默认log4j配置文件storm.log.properties里面的logs目录不是绝对路径,而是相对于当前执行storm命令所在路径的logs/路径。
http://192.168.1.206:8080  (必须UI已经启动)


原创粉丝点击