Storm集群的搭建方式

这篇文章主要讲解了“Storm集群的搭建方式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Storm集群的搭建方式”吧!

专注于为中小企业提供成都做网站、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业常德免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

在Ubuntu 14.04下搭建Storm集群环境

Step 1. 下载所需的软件包:

1). JDK: http://www.oracle.com/technetwork/java/javase/downloads/index.html

2). Python 2.7.x: https://www.python.org/downloads/

 (注意:因为 Ubuntu 14.04 是自带 Python 2.7 的,所以如果是在Ubuntu 14.04下搭建Storm集群环境的话,这一步就可以免了)

3). Zookeeper: http://zookeeper.apache.org/releases.html#downloa

4). Storm: http://storm.apache.org/downloads.html

Step 2. 安装 JDK

假设下载后的JDK文件为 jdk-8u65-linux-x64.tar.gz

将文件复制到/usr/local/并解压:
 

$ cp jdk-8u65-linux-x64.tar.gz /usr/local/
$ cd /usr/local/
$ tar -zxvf jdk-8u65-linux-x64.tar.gz
$ ln -s jdk1.8.0_65 jdk

编辑~/.bashrc文件,设置环境变量:

$ vim ~/.bashrc

(*注意:如果之前没有安装vim,需要先输入下面的命令安装vim)

$ sudo apt-get install vim

在~/.bashrc文件的末尾加入环境变量设置:

export JAVA_HOME=/usr/local/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=$PATH:${JAVA_HOME}/bin:

更新环境变量的设置:

$ source ~/.bashrc

在终端中输入命令显示JDK的信息:

$ java -version

此时如果输出以下信息,则表示JDK已经安装成功

java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)

Step 3. 配置 Zookeeper 

1) 配置/etc/hosts文件

先配置/etc/hosts文件来绑定集群中的每台机器(这里假设仅使用2台机器):

$ vim /etc/hosts

在/etc/hosts文件的末尾加上配置信息:

192.168.1.104 jiamingmai-notebook
192.168.1.104 jm01
192.168.1.105 jiamingmai-PHA14
192.168.1.105 jm02

(*注意:根据自己的主机名和IP地址来设置,这里的jiamingmai-notebook和jiamingmai-PHA14是主机名,192.168.1.104和192.168.1.105分别是这2台机器的IP地址,jm01和jm02是自定义的名称. 如果不清楚机器的IP地址,可以使用 ifconfig 命令查看)

配置完/etc/hosts文件后,可以分别在2台机器上使用 ping命令查看是否连通:

$ ping jm01
$ ping jm02
$ ping jiamingmai-notebook
$ ping jiamingmai-PHA14

如果输出类似如下的响应信息,表示可以成功连通:

64 bytes from jiamingmai-PHA14 (192.168.1.105): icmp_seq=1 ttl=64 time=2149 ms
64 bytes from jiamingmai-PHA14 (192.168.1.105): icmp_seq=2 ttl=64 time=1142 ms
64 bytes from jiamingmai-PHA14 (192.168.1.105): icmp_seq=3 ttl=64 time=134 ms
64 bytes from jiamingmai-PHA14 (192.168.1.105): icmp_seq=4 ttl=64 time=2.06 ms
64 bytes from jiamingmai-PHA14 (192.168.1.105): icmp_seq=5 ttl=64 time=2.07 ms
2) 配置 Zookeeper 的conf

复制压缩包 zookeeper-3.4.6.tar.gz 到/usr/local,并解压:

$ cp zookeeper-3.4.6.tar.gz /usr/local/
$ cd /usr/local
$ tar -zxvf zookeeper-3.4.6.tar.gz
$ ln -s zookeeper-3.4.6 zookeeper

配置zookeeper:

$ cd zookeeper/conf
$ cp zoo_sample.cfg zoo.cfg
$ vim zoo.cfg

配置 zoo.cfg 文本的内容如下:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/zkdata
dataLogDir=/usr/local/zookeeper/logs
clientPort=2181
server.1=jm01:2888:3888
server.2=jm02:2888:3888

每个参数的具体说明见http://my.oschina.net/JiamingMai/blog/614246

创建dataDir以及dataLogDir指定的文件夹:

$ mkdir /usr/local/zookeeper/zkdata
$ mkdir /usr/local/zookeeper/logs

在dataDir所指定的文件夹下(这里是/usr/local/zookeeper/zkdata)创建一个myid文件,内容为机器所对应的id. 例如,对于jm01,则其id为1. 输入如下命令创建 myid 文件:

$ cd /usr/local/zookeeper/zkdata
$ echo 1 > myid
3) 设置 Zookeeper 的环境变量

输入下面命令以编辑~/.bashrc文件:

$ vim ~/.bashrc

在末尾加入下面内容:

export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:${ZOOKEEPER_HOME}/bin

输入下面的命令更新环境变量设置:

$ source ~/.bashrc
4) 运行 Zookeeper

在集群中的机器上分别输入下面的命令运行Zookeeper:

$ zkServer.sh start

在各个机器上查看当前的状态:

$ zkServer.sh status

如果看到输出Mode: follower 或 Mode: leader,表示已成功启动

Step 4. 配置 Storm

1) 解压Storm的压缩文件

复制压缩包 apache-storm-0.10.0.tar.gz 到/usr/local,并解压:

$ cp apache-storm-0.10.0.tar.gz /usr/local/
$ cd /usr/local
$ tar -zxvf apache-storm-0.10.0.tar.gz
$ ln -s apache-storm-0.10.0 storm
2) 配置Storm的conf
$ vim /usr/local/storm/conf/storm.yaml

输入内容:

storm.zookeeper.servers:
     - "jm01"
     - "jm02"
 nimbus.host: "jm01"
 storm.local.dir: "/usr/local/storm/status"
 supervisor.slots.ports:
     - 6700
     - 6701
     - 6702
     - 6703

(*注意:各个参数的含义参考 http://my.oschina.net/JiamingMai/blog/536877. 各个机器上storm.zookeeper.servers设置以及nimbus设置必须是相同的)

创建storm.local.dir所指定的文件夹:

$ mkdir /usr/local/storm/status
3) 设置Storm的环境变量

输入下面命令以编辑~/.bashrc文件:

$ vim ~/.bashrc

在末尾加入下面内容:

export STORM_HOME=/usr/local/zookeeper
export PATH=$PATH:${STORM_HOME}/bin

输入下面的命令更新环境变量设置:

$ source ~/.bashrc
4) 运行Storm

在作为 nimbus 的机器上运行:

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

在作为 supervisor 的机器上运行:

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

(*注意:作为 nimbus 的机器,同时也可以作为 supervisor)

在其中的一台机器上开启Storm UI:

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

在浏览器的URL中输入127.0.0.1:8080打开UI页面,如下图所示:

Storm集群的搭建方式
 

Step 5. 提交JAR文件到集群

使用以下命令将打包后的JAR包提交到集群:

$ storm jar ./WordCounterTopology.jar jm.app.storm.WordCounterTopology wordCounter

其中,./WordCounterTopology.jar 是JAR文件所在的路径,jm.app.storm.WordCounterTopology 是main方法的类名,wordCounter是提交时自定义的Topology名称

感谢各位的阅读,以上就是“Storm集群的搭建方式”的内容了,经过本文的学习后,相信大家对Storm集群的搭建方式这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


文章名称:Storm集群的搭建方式
文章起源:http://scyanting.com/article/jscgso.html