Storm--搭建集群

1. 机器规划

通过VirtualBox或者Vmware可以比较轻松的撘一套storm的测试换,我们先搭建一台master机器,之后通过VirtualBox的机器复制功能很容易产生slave机器。下面使用操作为Centos 7。

Zookeeper, Nimbus 及Supervisor列的Yes表示需要在对应的机器上启动,No表示不启动。

Host Name

IP Address

Zookeeper

Nimbus

Supervisor

storm-master

10.200.9.110

Yes

Yes

No

storm-slave1

10.200.9.111

Yes

No

Yes

storm-slave2

10.200.9.112

Yes

No

Yes

2. Java环境搭建

2.1 下载JDK

可以选择去Oracle的官方网站上下载Linux版的JDK:

https://www.oracle.com/technetwork/java/javase/downloads/index.html

我们这里使用JDK SE 10.0.2

2.2 上传并解压JDK

把下载的JDK上传到storm-master的/usr/local目录

执行如下命令进行解压

tar -zxvf jdk-10.0.2_linux-x64_bin.tar.gz

2.3 配置环境变量

在命令行输入vim /etc/profile打开profile文件,在文件末尾添加如下代码:

执行如下命令使修改的profile生效

source /etc/profile

3. Zookeeper环境搭建

3.1 下载Zookeeper

在Apache官网上下载Zookeeper,下载链接:

http://www.apache.org/dyn/closer.cgi/zookeeper/

我们这里使用的版本是zookeeper-3.4.12

3.2 上传并解压Zookeeper

上传Zookeeper到10.200.9.110的/usr/local/路径下,之后输入如下命令解压

tar -zxvf zookeeper-3.4.12.tar.gz

3.3 Zookeeper集群搭建

到Zookeeper下的conf目录下复制生成zoo.cfg

cp zoo_sample.cfg zoo.cfg

然后配置打开zoo.cfg,配置如下

同时在Zookeeper目录下新建data和datalog两个目录用来存放myid文件和日志文件

mkdir data

mkdir datalog

进入到Zookeeper下的data目录,新建文件myid

vim myid

输入1之后保存

3.4 配置环境变量

为了操作方便,同样可以把Zookeeper配置到环境变量,基于之前的JDK,/etc/profile的配置如下:

执行如下命令使修改的profile生效

source /etc/profile

4. Storm环境搭建

4.1 下载Storm

Apache官方下载Storm,下载地址:http://storm.apache.org/downloads.html

这里使用的apache-storm-1.2.2

4.2 上传解压Storm

上传storm到10.200.9.110的/usr/local目录下,执行如下命令解压

tar -zxvf apache-storm-1.2.2.tar.gz

4.3 修改配置文件storm.yaml

修改storm.yaml,主要配置如下:

storm.zookeeper.servers 是指Zookeeper所运行的机器,理论上,Zookeeper是独立于其他机器存在的,但是部署的时候,会把Zookeeper与nimbus及supervisor的机器上。

supervisor.slots.ports是运行在supervisor机器上的worker,每个端口对应一个worker,一个worker可以有多个任务。启动worker的数量要基于内存及CPU的承受能力。

4.4 配置环境变量

加入storm到环境变量,结果如下

执行如下命令使修改的profile生效

source /etc/profile

5. 复制master机器生产多台Slave机器并配置

5.1 复制生成slave机器

我使用的是VirtualBox,右击选择“复制”,在出现的“复制虚拟电脑”修改名字,并且勾选“重新初始化所有网卡的MAC地址 (R)”

点击“下一步”,之后选择“完全复制”

你可以创建一个编组来管理这个集群

5.2 配置Slave

登录Slave机器,到Zookeeper下面的data目录下,对于storm-slave-1机器修改myid文件里的值为2,修改storm-slave-2机器修改myid文件里的值为3

6. 启动并查看状态

6.1 启动Zookeeper

分别启动master及slave上的Zookeeper,方法如下:

登录到机器之后,到Zookeeper的bin目录下,执行命令:

./zkServer.sh start

之后可以查看是否启动成功,执行命令:

jps

执行结果如下:

6.2 在master上启动storm ui及nimbus

先启动storm ui 再启动nimbus,否则可能出现nimbus退出的情况

启动storm ui

nohup storm ui >/dev/null 2>&1 &

启动nimbus

nohup storm nimbus >/dev/null 2>&1 &

执行结果如下:

6.3 在slave上启动supervisor

启动supervisor

nohup storm supervisor >/dev/null 2>&1 &

6.4 在浏览器里查看storm的结果

在浏览器里输入http://10.200.9.110:8088/index.html

可以看到具体Storm UI列出来的信息

7 注意事项

7.1 启动Storm之前要先启动Zookeeper,否则nimbus及supervisor会过一段自动退出

7.2 如果是多台机器已经开放好了,则只需要拷贝master主机下的/etc/profile,java sdk, zookeeper及storm即可。

猜你喜欢

转载自blog.csdn.net/lwc5411117/article/details/83003318