storm-0.9.2 集群安装

scp -r  bigdata@gs-server-v-127:~/storm_eco bigdata@gs-server-v-128:~/storm_eco
scp -r  bigdata@gs-server-v-127:~/storm_eco bigdata@gs-server-v-129:~/storm_eco
安装GCC
sudo yum install gcc*

# sudo yum install uuid*
# sudo yum install e2fsprogs*
# sudo yum install libuuid*
sudo yum install update-rc.d

1. 安装python2.7.2
============================
# wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
cd ~/storm_eco/python
# tar zxvf Python-2.7.2.tgz
# cd Python-2.7.2
# ./configure
# make 
# make install
# sudo vi /etc/ld.so.conf
--
文件末尾追加
/usr/local/lib
--


#sudo ldconfig
============================


4. 安装storm
============================
# http://mirror.bit.edu.cn/apache/incubator/storm/apache-storm-0.9.2-incubating/
cd ~/storm_eco/storm
tar zxvf apache-storm-0.9.2-incubating.tar.gz


mv apache-storm-0.9.2-incubating storm-0.9.2
mkdir $STORM_HOME/workdir


vi storm.yaml

Storm 0.9.0.1版本的第一亮点是引入了netty transport。Storm网络传输机制实现可插拔形式,当前包含两种方式:原来的0mq传输,以及新的netty实现;在早期版本中(0.9.x之 前的版本),Storm只支持0mq传输,由于0MQ是一个本地库(native library),对平台的依赖性较高,要完全正确安装还是有一定挑战性。而且版本之间的差异也比较大;Netty Transport提供了纯JAVA的替代方案,消除了Storm的本地库依赖,且比0MQ的网络传输性能快一倍以上;
补充:之前写这篇文档的时候忘记把配置Netty Transport的方式写进来,所以可能很多朋友配置了之后会发觉后台会报一个错误;这里还是用的原来的方式,所以下面补充下storm使用netty配置的方式;
要配置Storm使用Netty传输需要添加以下配置和调整值到你的storm.yaml文件上,响应的配置值可根据你的需求自行调整

    storm.messaging.transport: "backtype.storm.messaging.netty.Context" --指定传输协议
    storm.messaging.netty.server_worker_threads: 1   --指定netty服务器工作线程数量
    storm.messaging.netty.client_worker_threads: 1   --指定netty客户端工作线程数量
    storm.messaging.netty.buffer_size: 5242880    --指定netty缓存大小
    storm.messaging.netty.max_retries: 100   --指定最大重试次数
    storm.messaging.netty.max_wait_ms: 1000  --指定最大等待时间(毫秒)
    storm.messaging.netty.min_wait_ms: 100   --指定最小等待时间(毫秒)


vi $STORM_HOME/conf/storm.yaml


# vi ~/.bashrc
--
追加
 export STORM_HOME=/usr/local/storm-0.9.2
 export PATH=$PATH:$STORM_HOME/bin
--
============================

storm.zookeeper.servers:
- "10.200.200.56"
- "10.200.200.57"
- "10.200.200.58"


storm.local.dir: "$STORM_HOME/workdir"
nimbus.host: "10.200.200.56"

storm.local.dir: "/tmp/storm/data"

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

ui.port: 8081 # 我这里修改了storm的ui端口



将storm的目录复制到其它发服务器下去
scp -r  bigdata@gs-server-v-127:~/storm_eco/storm/storm-0.9.2 bigdata@gs-server-v-128:~/storm_eco/storm/
scp -r  bigdata@gs-server-v-127:~/storm_eco/storm/storm-0.9.2 bigdata@gs-server-v-129:~/storm_eco/storm/


scp -r  bigdata@gs-server-v-127:/home/bigdata/storm_test/md.log bigdata@gs-server-v-128:/home/bigdata/storm_test/
scp -r  bigdata@gs-server-v-127:/home/bigdata/storm_test/md.log bigdata@gs-server-v-129:/home/bigdata/storm_test/
scp -r  bigdata@gs-server-v-128:/home/bigdata/profile bigdata@gs-server-v-127:/etc/profile


scp -r  bigdata@gs-server-v-127:/etc/profile bigdata@gs-server-v-128:/home/bigdata/
================================================================
启动


Nimbus 在Nimbus机器上运行bin/storm nimbus&


Supervisor 在每台工作机器上运行bin/storm supervisor&, supervisor负责启动和终止工作机器上的工作进程。


UI storm UI是一个可以查看storm运行状态的的一个网站,通过bin/storm ui&运行,

访问地址: http://{nimbus.host}:8081/

执行jar:

 提交Topologies
命令格式:storm jar 【jar路径】 【拓扑包名.拓扑类名】 【拓扑名称】
样例:storm jar /storm-starter.jar storm.starter.WordCountTopology wordcountTop
#提交storm-starter.jar到远程集群,并启动wordcountTop拓扑。

停止Topologies
命令格式:storm kill 【拓扑名称】
样例:storm kill wordcountTop
#杀掉wordcountTop拓扑。


启动nimbus后台程序
命令格式:storm nimbus


启动supervisor后台程序
命令格式:storm supervisor


启动drpc服务
命令格式:storm drpc


启动ui服务
命令格式:storm ui


启动REPL
REPL — read-evaluate-print-loop。
虽然clojure可以作为一种脚本语言内嵌在java里面,但是它的首选编程方式是使用REPL,这是一个简单的命令行接口,使用它你可以输入你的命令,执行,然后查看结果, 你可以以下面这个命令来启动REPL:
命令格式:storm repl


打印本地配置
命令格式:storm localconfvalue 【配置参数关键字】
举例:storm localconfvalue storm.zookeeper.servers
#根据指定参数打印本地配置的值。


打印远程配置
命令格式:storm remoteconfvalue 【配置参数关键字】
举例:storm remoteconfvalue storm.zookeeper.servers
#根据指定参数打印远程配置的值。


执行Shell脚本
命令格式:storm shell resourcesdir command args
打印CLASSPATH
命令格式:storm classpath

相关推荐