扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要讲解了“Storm集群的搭建方式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Storm集群的搭建方式”吧!
专注于为中小企业提供成都做网站、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业常德免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
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
假设下载后的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)
先配置/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
复制压缩包 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
输入下面命令以编辑~/.bashrc文件:
$ vim ~/.bashrc
在末尾加入下面内容:
export ZOOKEEPER_HOME=/usr/local/zookeeper export PATH=$PATH:${ZOOKEEPER_HOME}/bin
输入下面的命令更新环境变量设置:
$ source ~/.bashrc
在集群中的机器上分别输入下面的命令运行Zookeeper:
$ zkServer.sh start
在各个机器上查看当前的状态:
$ zkServer.sh status
如果看到输出Mode: follower 或 Mode: leader,表示已成功启动
复制压缩包 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
$ 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
输入下面命令以编辑~/.bashrc文件:
$ vim ~/.bashrc
在末尾加入下面内容:
export STORM_HOME=/usr/local/zookeeper export PATH=$PATH:${STORM_HOME}/bin
输入下面的命令更新环境变量设置:
$ source ~/.bashrc
在作为 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页面,如下图所示:
使用以下命令将打包后的JAR包提交到集群:
$ storm jar ./WordCounterTopology.jar jm.app.storm.WordCounterTopology wordCounter
其中,./WordCounterTopology.jar 是JAR文件所在的路径,jm.app.storm.WordCounterTopology 是main方法的类名,wordCounter是提交时自定义的Topology名称
感谢各位的阅读,以上就是“Storm集群的搭建方式”的内容了,经过本文的学习后,相信大家对Storm集群的搭建方式这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流