您好,登錄后才能下訂單哦!
這篇文章主要講解了“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集群環(huán)境的話,這一步就可以免了)
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文件,設置環(huán)境變量:
$ vim ~/.bashrc
(*注意:如果之前沒有安裝vim,需要先輸入下面的命令安裝vim)
$ sudo apt-get install vim
在~/.bashrc文件的末尾加入環(huán)境變量設置:
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:
更新環(huán)境變量的設置:
$ source ~/.bashrc
在終端中輸入命令顯示JDK的信息:
$ java -version
此時如果輸出以下信息,則表示JDK已經(jīng)安裝成功
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
(*注意:根據(jù)自己的主機名和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
每個參數(shù)的具體說明見http://my.oschina.net/JiamingMai/blog/614246
創(chuàng)建dataDir以及dataLogDir指定的文件夾:
$ mkdir /usr/local/zookeeper/zkdata $ mkdir /usr/local/zookeeper/logs
在dataDir所指定的文件夾下(這里是/usr/local/zookeeper/zkdata)創(chuàng)建一個myid文件,內容為機器所對應的id. 例如,對于jm01,則其id為1. 輸入如下命令創(chuàng)建 myid 文件:
$ cd /usr/local/zookeeper/zkdata $ echo 1 > myid
輸入下面命令以編輯~/.bashrc文件:
$ vim ~/.bashrc
在末尾加入下面內容:
export ZOOKEEPER_HOME=/usr/local/zookeeper export PATH=$PATH:${ZOOKEEPER_HOME}/bin
輸入下面的命令更新環(huán)境變量設置:
$ source ~/.bashrc
在集群中的機器上分別輸入下面的命令運行Zookeeper:
$ zkServer.sh start
在各個機器上查看當前的狀態(tài):
$ 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
(*注意:各個參數(shù)的含義參考
http://my.oschina.net/JiamingMai/blog/536877. 各個機器上storm.zookeeper.servers設置以及nimbus設置必須是相同的)
創(chuàng)建storm.local.dir所指定的文件夾:
$ mkdir /usr/local/storm/status
輸入下面命令以編輯~/.bashrc文件:
$ vim ~/.bashrc
在末尾加入下面內容:
export STORM_HOME=/usr/local/zookeeper export PATH=$PATH:${STORM_HOME}/bin
輸入下面的命令更新環(huán)境變量設置:
$ 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集群的搭建方式”的內容了,經(jīng)過本文的學習后,相信大家對Storm集群的搭建方式這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。