Storm学习笔记三:全分布式搭建

2019-12-13  本文已影响0人  开发者连小超

服务器准备

Storm不依赖于HDFS,全分布式使用虚拟机模板克隆出三台新的虚拟机(node05/node06/node07)进行搭建试验。Linux系统在VM下的安装克隆可参照之前的Linux学习系列文章。

Storm需要依赖Java和python环境,我的克隆机里python已有,但还没有安装jdk,所以需要先安装一下(安装JDK教程在【Hadoop学习笔记一:伪分布式搭建(Hadoop1.x)】里有)。


Storm全分布式服务器规划.png

安装Zookeeper

node05/node06/node07安装Zookeeper,先在node05上操作
1.解压

tar xf zookeeper-3.4.6.tar.gz -C /opt/sxt/

2.配置修改

cd zookeeper-3.4.6/conf
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg

#修改(ZK的文档扔到这个目录下)
dataDir=/var/sxt/zk
#文档后追加配置
#zk集群前提条件:1.一开始告诉集群数量 2.把每台服务器编制serverid
server.1=node05:2888:3888
server.2=node06:2888:3888
server.3=node07:2888:3888
#2888 是主从节点之间的通信端口
#3888 是当发生主挂断之后,选举机制采用的通信端口

3.Zookeeper分发到node06/node07

scp -r zookeeper-3.4.6/ node06:`pwd`
scp -r zookeeper-3.4.6/ node07:`pwd`

4.每个节点创建数据存放路径,并在此路径下新增myid文件

#每个节点新增路径
mkdir -p /var/sxt/zk
#每个节点添加id文件
echo 1 > /var/sxt/zk/myid
echo 2 > /var/sxt/zk/myid
echo 3 > /var/sxt/zk/myid

5.配置环境变量

vi + /etc/profile

export ZOOKEEPER_HOME=/opt/sxt/zookeeper-3.4.6
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin
#配置完分发给node03/node04 后每个节点 source一下

6.Zookeeper启动

#三台同时执行
zkServer.sh start
#查看是否启动 (是否有QuorumPeerMain进程)
jps
#查看集群状态
zkServer.sh status

注意:zookeeper默认id最大的作为主,其他为从。但一个一个启动(三台服务器至少启动两台,集群才启动)先启动的两个ID大的是主,后启动的第三个还是从。若是五台集群,先启动的前三个个ID大的是主。

Strom解压配置

1.首先在node05上执行解压安装

tar xf apache-storm-0.10.0.tar.gz -C /opt/sxt/

2.配置storm.yaml

[root@node05 conf] vi /opt/sxt/apache-storm-0.10.0/conf/storm.yaml
#配置 信息在哪个zookeeper之上、主节点是哪个、提交任务的磁盘目录
storm.zookeeper.servers:
     - "node05"
     - "node06"
     - "node07"
nimbus.host: "node05" 
storm.local.dir: "/var/sxt/storm"

#四个worker进程的通讯端口,不配置的话默认也是这四个(单一的supervisor上会跑四个worker)
supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703

3.在storm目录中创建logs目录

[root@node05 storm] mkdir logs

4.分发给node06/node07,并配置其环境变量

[root@node05 sxt] scp -r apache-storm-0.10.0/ node06:`pwd`
[root@node05 sxt] scp -r apache-storm-0.10.0/ node07:`pwd`

5.启动ZooKeeper集群

[root@node07 ~] zkServer.sh start
[root@node07 ~] zkServer.sh status

6.node05上启动Nimbus

[root@node05 storm] storm nimbus >> ./logs/nimbus.out 2>&1 &
[root@node05 storm] storm ui>> ./logs/ui.out 2>&1 &

7.node06/node07上启动Supervisor

#每启动一个supervisor就有了4个slots(当然node1也可以启动supervisor)
[root@node05 storm] storm supervisor>> ./logs/supervisor.out 2>&1 &

浏览器查看 http://node05:8080/

8.提交任务到Storm集群当中运行

$ ./bin/storm jar examples/storm-starter/storm-starter-topologies-0.9.4.jar storm.starter.WordCountTopology test
上一篇下一篇

猜你喜欢

热点阅读