这篇文章主要讲解了“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集群的搭建方式这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。