搭建Storm集群

http://blog.csdn.net/ch717828/article/details/50718783

1. 机器准备

 

我准备了3台机器 , 其充当的角色分别是

 

nimbus :  10.101.214.71

zookeeper:  10.101.214.71, 10.101.214.73 , 10.101.214.74

supervisor :  10.101.214.73 , 10.101.214.74

它们之间的关系如图所示:

2.安装java8 

可以是其他版本的java ,此处我选择了 java8,3台机器均需要安装

 

[plain] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. sudo tar zxvf jdk.tar.gz -C /usr/java   
  2. //解压出的目录名修改成java8  
  3. cd /usr/java  
  4. sudo mv jdk1.8.0 java8   
  5. //修改配置文件  
  6. vim ~/.bashrc  
  7. vim /etc/bashrc  
  8. //添加以下内容  
  9. export JAVA_HOME=/usr/java/java8  
  10. export JRE_HOME=${JAVA_HOME}/jre    
  11. export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib    
  12. export PATH=${JAVA_HOME}/bin:$PATH    
  13. //配置生效  
  14. source ~/.bashrc  

3.安装Zookeeper

3台机器均需要安装Zookeeper, 安装过程相同,唯一不同的地方在与myid

 

[plain] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //安装zookeeper  
  2. sudo yum install zookeeper -b current    
  3. //配置zookeeper  
  4. vim /home/admin/zookeeper-3.4.3/conf/zoo.cfg  
  5.   
  6. tickTime=2000  
  7. initLimit=10  
  8. syncLimit=5  
  9. dataDir=/home/admin/zookeeper-3.4.3/data  
  10. dataLogDir=/home/admin/zookeeper-3.4.3/data/log  
  11. clientPort=2181  
  12. server.1=10.101.214.71:2888:3888  
  13. server.2=10.101.214.73:2888:3888  
  14. server.3=10.101.214.74:2888:3888  
  15.   
  16. // 创建log文件夹  
  17. mkdir /home/admin/zookeeper-3.4.3/data/log  
  18.   
  19. //在 10.101.214.71  
  20.     //在/home/admin/zookeeper-3.4.3/data 下创建 myid ,写上 1  
  21.     echo 1 >/home/admin/zookeeper-3.4.3/data/myid  
  22. //在 10.101.214.73  
  23.     //在/home/admin/zookeeper-3.4.3/data 下创建 myid ,写上 2  
  24.     echo 2 >/home/admin/zookeeper-3.4.3/data/myid  
  25. //在 10.101.214.74  
  26.     //在/home/admin/zookeeper-3.4.3/data 下创建 myid ,写上 3  
  27.     echo 3 >/home/admin/zookeeper-3.4.3/data/myid  
  28.   
  29. //启动zookeeper  
  30. bin/zkServer.sh start  
  31. //查看zookeeper启动状态  
  32. ps -aux | grep “zookeeper"   
  33. echo srvr | nc 127.0.0.1 2181  

4.安装storm

3台机器均需要安装Storm ,配置完全相同
[plain] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //下载storm  
  2. sudo wget [url]    
  3. //解压  
  4. sudo unzip -o apache-storm-0.9.2-incubating.zip -d /usr/share/  
  5. //生成一个版本无关的软链接,这种方式便于将来升级版本或回滚版本  
  6. sudo ln -s /usr/share/apache-storm-0.9.2-incubating/ /usr/share/storm  
  7. //修改文件夹权限  
  8. sudo chown -R admin:admin /usr/share/apache-storm-0.9.2-incubating/  
  9. sudo chown -R admin:admin /usr/share/storm  
  10. //将storm的可执行程序软连接到/usr/bin/storm目录下  
  11. sudo ln -s /usr/share/storm/bin/storm /usr/bin/storm   
  12. //将storm的默认配置文件移到/etc/storm下,建立软链接以便storm可以找到它  
  13. sudo mkdir /etc/storm  
  14. sudo chown admin:admin  /etc/storm  
  15. //对/usr/share/storm/conf/storm.yaml进行配置  
  16. vim /usr/share/storm/conf/storm.yaml  
  17. storm.zookeeper.servers:   
  18.     - "10.101.214.71"  
  19.     - "10.101.214.73"  
  20.     - "10.101.214.74"  
  21. nimbus.host: "10.101.214.71"  
  22. supervisor.slots.ports:  #机器上运行的进程及每个进程使用的端口  
  23.    - 6700  
  24.    - 6701  
  25.    - 6702  
  26.    - 6703  
  27. storm.local.dir: "/home/storm"  #Nimbus和Supervisor在本地磁盘上的状态缓存信息(jar包, 配置文件等)  

5.安装supervisor启动Apache storm

使用supervisor(注意不是 storm supervisor)启动apache storm的原因是: 在apahce storm后台进程因异常原因停止工作时,supervisor会重新启动它们。如果不想使用supervisor ,可以手动启动,具体方法看第6步
[plain] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. // 安装和启动supervisord服务  
  2. sudo yum install supervisor -b current  
  3. //在/etc/supervisord.conf中配置storm守护进程(遇到一场终止时自动重启)  
  4. vim /etc/supervisord.conf  
  5. //注意 supervisor启动时是非常干净的环境,因此需要配置上环境变量  
  6. environment=PATH="/usr/java/java8/bin:/usr/java/java8/bin:/usr/ali/bin:/usr/java/java8/bin:/usr/ali/bin:/usr/kerberos/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/canghong.ch/bin:/home/admin/dayu/bin/:/apsara/deploy/rpc_wrapper:/apsara/deploy:/home/tops/bin/"  
  7. enviroment=JAVA_HOME="/usr/java/java8"  
  8. enviroment=JRE_HOME=“/usr/java/java8/jre"  
  9. //10.101.214.71  
  10.     [program:storm-nimbus]  
  11.     command=storm nimbus  
  12.     directory=/home/storm  
  13.     autorestart=true  
  14.     user=admin  
  15.     [program:storm-ui]  
  16.     command=storm ui  
  17.     directory=/home/storm  
  18.     autorestart=true  
  19.     user=admin  
  20. //10.101.214.73  
  21.     [program:storm-supervisor]  
  22.     command=storm supervisor  
  23.     directory=/home/storm  
  24.     autorestart=true  
  25.     user=admin  
  26. //10.101.214.74  
  27.     [program:storm-supervisor]  
  28.     command=storm supervisor  
  29.     directory=/home/storm  
  30.     autorestart=true  
  31.     user=admin  
  32.   
  33. //创建/home/storm  
  34. sudo mkdir /home/storm  
  35. sudo chown admin:admin /home/storm  
  36. sudo /etc/init.d/supervisor stop  //终止supervisord服务  
  37. sudo /etc/init.d/supervisor start  //重启supervisord服务  
  38. ps aux | grep “xxxx”  // 来查看服务是否启动   
  39. jps //也可以通过这个命令查看  

6.其他

启动成功后,通过 http://服务器IP:8080/   访问storm UI。

如果不想使用supervisor启动storm ,可以使用手动启动  

 nohup storm nimbus &。可能会遇到 permission denied异常,需要更改storm文件夹的权限或者使用sudo 命令

 nohub storm supervisor &

nohub storm ui &

猜你喜欢

转载自hunan.iteye.com/blog/2359659