年薪40萬的大數據工程師是如何安裝Strom
主機規劃
機器名 域名 | IP地址 | |
storm-01 | 192.168.33.31 | Storm(minbus)、zookeeper |
storm-02 | 192.168.33.32 | Storm(supervisor)、zookeeper |
storm-03 | 192.168.33.33 | storm(supervisor)、zookeeper |
Storm-04 | 192.168.33.34 | storm(supervisor) |
一、準備服務器
l 關閉防火墻
chkconfig iptables off && setenforce 0
l 創建用戶
groupadd hadoop && useradd hadoop && usermod -a -G hadoop hadoop
l 創建工作目錄並賦權
mkdir apps/
chmod 755 -R apps/
l 修改每臺機器的域名
[hadoop@storm01 ~]$ vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.33.31 storm01 zk01 192.168.33.32 storm02 zk02 192.168.33.33 storm03 zk03 192.168.33.34 storm04 |
l 使用hadoop登錄
二、storm集群是依賴於zookeeper集群的,需要在zk01、zk02、zk03上安裝集群
1. 先將zookeeper拷貝到zk01上,解壓到/home/hadoop/apps下
[hadoop@storm01 ~]$ tar -zxvf zookeeper-3.4.5.tar.gz -C apps/ |
然後可以刪除剛才拷貝的的zookeeper了
[hadoop@storm01 ~]$ rm -f zookeeper-3.4.5.tar.gz |
2. 進入到zookeeper的安裝目錄下:
cd /home/hadoop/apps/zookeeper-3.4.5 |
刪除zookeeper下的一些不必要的文件
[hadoop@storm01 zookeeper-3.4.5]$ rm -rf *.xml *.txt docs src *.asc *.md5 *.sha1 |
[hadoop@storm01 zookeeper-3.4.5]$ rm -rf dist-maven/ |
目前目錄結構
[hadoop@storm01 zookeeper-3.4.5]$ ll 總用量 1308 drwxr-xr-x. 2 hadoop hadoop 4096 1月 22 22:34 bin drwxr-xr-x. 2 hadoop hadoop 4096 1月 22 22:34 conf drwxr-xr-x. 10 hadoop hadoop 4096 1月 22 22:34 contrib drwxr-xr-x. 4 hadoop hadoop 4096 1月 22 22:34 lib drwxr-xr-x. 5 hadoop hadoop 4096 1月 22 22:34 recipes -rw-r--r--. 1 hadoop hadoop 1315806 11月 5 2012 zookeeper-3.4.5.jar |
3. 進入到conf下,修改配置文件
[hadoop@storm01 zookeeper-3.4.5]$ cd conf/ |
將配置文件改名
[hadoop@storm01 conf]$ mv zoo_sample.cfg zoo.cfg |
4. 編輯zoo.cfg
[hadoop@storm01 conf]$ vi zoo.cfg # The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. #存放數據的目錄 dataDir=/home/hadoop/zkdata # the port at which the clients will connect clientPort=2181 # # Be sure to read the maintenance section of the # administrator guide before turning on autopurge. # # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance # # The number of snapshots to retain in dataDir #autopurge.snapRetainCount=3 # Purge task interval in hours # Set to "0" to disable auto purge feature #autopurge.purgeInterval=1 server.1=storm01:2888:3888 server.2=storm02:2888:3888 server.3=storm03:2888:3888 |
5. 創建/home/hadoop/zkdata目錄,並創建文件myid,寫入節點id “1”
[hadoop@storm01 ~]$ mkdir zkdata [hadoop@storm01 ~]$ echo 1 > zkdata/myid |
ll查看apps/目錄
[hadoop@storm01 apps]$ ll 總用量 8 drwxrwxr-x. 3 hadoop hadoop 4096 1月 22 23:37 apps drwxrwxr-x. 2 hadoop hadoop 4096 1月 22 23:38 zkdata |
6. 將apps/ zkdata/分別拷貝到storm02、storm03上
[hadoop@storm01 ~]$ scp -r zkdata/ storm02:/home/hadoop/ [hadoop@storm01 ~]$ scp -r zkdata/ storm03:/home/hadoop/ |
7. 分別修改storm02、storm03上的/home/hadoop/zkdata/myid中的內容,分別為2,3
8. 將/home/hadoop/apps/zookeeper-3.4.5拷貝到storm02、storm03的/home/hadoop/apps下
[hadoop@storm01 ~]$ scp -r /home/hadoop/apps/zookeeper-3.4.5/ storm02:/home/hadoop/apps/ [hadoop@storm01 ~]$ scp -r /home/hadoop/apps/zookeeper-3.4.5/ storm03:/home/hadoop/apps/ |
9. 啟動三臺機器上的zookeeper
[hadoop@storm01 ~]$ cd apps/zookeeper-3.4.5/ [hadoop@storm01 zookeeper-3.4.5]$ bin/zkServer.sh start JMX enabled by default Using config: /home/hadoop/apps/zookeeper-3.4.5/bin/../conf/zoo.cfg Starting zookeeper ... STARTED |
查看zookeeper的狀態
[hadoop@storm01 zookeeper-3.4.5]$ bin/zkServer.sh status JMX enabled by default Using config: /home/hadoop/apps/zookeeper-3.4.5/bin/../conf/zoo.cfg Mode: follower |
或者查看進程
[hadoop@storm03 zookeeper-3.4.5]$ jps 1599 Jps 1489 QuorumPeerMain |
能起來,能查看狀態證明成功!
三、安裝Storm
1. 用工具將storm安裝包apache-storm-0.9.6.tar.gz上傳到/home/hadoop下,確保用戶是hadoop
2. 將storm的壓縮包解壓到 /home/hadoop/apps下,並且改名storm,並刪掉原始的storm的壓縮包。
[hadoop@storm01 ~]$ mkdir apps/ [hadoop@storm01 ~]$ ll 總用量 19716 -rw-rw-r--. 1 hadoop hadoop 20183501 2月 3 10:14 apache-storm-0.9.5.tar.gz drwxrwxr-x. 2 hadoop hadoop 4096 2月 3 19:28 apps [hadoop@storm01 ~]$ chmod -R 755 apps/ [hadoop@storm01 ~]$ tar -zxvf apache-storm-0.9.6.tar.gz -C apps/ [hadoop@storm01 ~]$ ll 總用量 19716 -rw-rw-r--. 1 hadoop hadoop 20183501 2月 3 10:14 apache-storm-0.9.6.tar.gz drwxr-xr-x. 3 hadoop hadoop 4096 2月 3 19:30 apps [hadoop@storm01 ~]$ cd apps/ [hadoop@storm01 apps]$ ll 總用量 4 drwxrwxr-x. 9 hadoop hadoop 4096 2月 3 19:30 apache-storm-0.9.6 [hadoop@storm01 apps]$ mv apache-storm-0.9.6/ storm/ [hadoop@storm01 apps]$ ll 總用量 4 drwxrwxr-x. 9 hadoop hadoop 4096 2月 3 19:30 storm |
[hadoop@storm01 apps]$ cd .. [hadoop@storm01 ~]$ ll 總用量 19716 -rw-rw-r--. 1 hadoop hadoop 20183501 2月 3 10:14 apache-storm-0.9.6.tar.gz drwxr-xr-x. 3 hadoop hadoop 4096 2月 3 19:31 apps [hadoop@storm01 ~]$ rm -rf apache-storm-0.9.6.tar.gz [hadoop@storm01 ~]$ ll 總用量 4 drwxr-xr-x. 3 hadoop hadoop 4096 2月 3 19:31 apps |
3. 進入到storm的安裝目錄下
[hadoop@storm01 storm]$ pwd /home/hadoop/apps/storm [hadoop@storm01 storm]$ ll 總用量 124 drwxrwxr-x. 2 hadoop hadoop 4096 2月 3 19:30 bin -rw-r--r--. 1 hadoop hadoop 41732 5月 29 2015 CHANGELOG.md drwxrwxr-x. 2 hadoop hadoop 4096 2月 3 19:30 conf -rw-r--r--. 1 hadoop hadoop 538 5月 29 2015 DISCLAIMER drwxr-xr-x. 3 hadoop hadoop 4096 5月 29 2015 examples drwxrwxr-x. 5 hadoop hadoop 4096 2月 3 19:30 external drwxrwxr-x. 2 hadoop hadoop 4096 2月 3 19:30 lib -rw-r--r--. 1 hadoop hadoop 23004 5月 29 2015 LICENSE drwxrwxr-x. 2 hadoop hadoop 4096 2月 3 19:30 logback -rw-r--r--. 1 hadoop hadoop 981 5月 29 2015 NOTICE drwxrwxr-x. 6 hadoop hadoop 4096 2月 3 19:30 public -rw-r--r--. 1 hadoop hadoop 10987 5月 29 2015 README.markdown -rw-r--r--. 1 hadoop hadoop 6 5月 29 2015 RELEASE -rw-r--r--. 1 hadoop hadoop 3581 5月 29 2015 SECURITY.md |
4. 進入到storm的conf的配置文件目錄,修改配置文件
[hadoop@storm01 storm]$ cd conf [hadoop@storm01 conf]$ ll 總用量 8 -rw-r--r--. 1 hadoop hadoop 1128 5月 29 2015 storm_env.ini -rw-r--r--. 1 hadoop hadoop 1613 5月 29 2015 storm.yaml |
5. 先將strom.yaml文件改名,然後重新編輯strom.yaml
[hadoop@storm01 conf]$ mv storm.yaml storm.yaml.bak [hadoop@storm01 conf]$ ll 總用量 8 -rw-r--r--. 1 hadoop hadoop 1128 5月 29 2015 storm_env.ini -rw-r--r--. 1 hadoop hadoop 1613 5月 29 2015 storm.yaml.bak |
[hadoop@storm01 conf]$ vi storm.yaml "storm.yaml" [New File] storm.zookeeper.servers: - "zk01" - "zk02" - "zk03"
#指定storm集群中的minbus節點所在的服務器 nimbus.host: "storm01"
#指定minbus啟動JVM最大可用內存大小 nimbus.childopts: "-Xmx1024m"
#指定supervisor啟動JVM最大可用內存大小 supervisor.childopts: "-Xmx1024m"
#指定supervisor節點上,每個worker啟動JVM最大可用內存大小 worker.childopts: "-Xmx768m"
#指定ui啟動JVM最大可用內存大小,ui服務一般與minbus同在一個節點上 ui.childopts: "-Xmx768m"
#指定supervisor節點上,啟動worker時對應的端口號,每個端口號對應一個 槽,每個槽位對應一個worker supervisor.slots.ports: - 6700 - 6701 - 6702 - 6703 |
6. 將storm01機器上的/home/hadoop/apps/storm分發到storm02,storm03,storm04的/home/hadoop/apps/下
scp -r /home/hadoop/apps/storm/ storm02:/home/hadoop/apps/ scp -r /home/hadoop/apps/storm/ storm03:/home/hadoop/apps/ scp -r /home/hadoop/apps/storm/ storm04:/home/hadoop/apps/ |
四、啟動集群
1. 先啟動zookeeper
l 在nimbus.host所屬的機器上啟動 nimbus服務
2. 在storm01上啟動 nimbus服務
[hadoop@storm01~]$ cd /home/hadoop/apps/storm/bin [hadoop@storm01 bin]$ nohup ./storm nimbus & [1] 1603 [hadoop@storm01 bin]$ nohup: 忽略輸入並把輸出追加到"nohup.out"
|
3. 在storm01上啟動 nimbus服務
[hadoop@storm01 bin]$ nohup ./storm ui & [2] 1665 [hadoop@storm01 bin]$ nohup: 忽略輸入並把輸出追加到"nohup.out"
[hadoop@storm01 ~]$ jps 1733 Jps 1665 core 1603 nimbus 1518 QuorumPeerMain |
4. 在storm02、sotrm03、sotrm04上啟動supervisor服務
[hadoop@storm02~]$ cd /home/hadoop/apps/storm/bin [hadoop@storm02 bin]$ nohup ./storm supervisor & [1] 1647 [hadoop@storm02 bin]$ nohup: 忽略輸入並把輸出追加到"nohup.out"
[hadoop@storm02 ~]$ jps 1717 Jps 1647 supervisor 1503 QuorumPeerMain |
如果在每一臺節點上配置了環境變量即:
[hadoop@storm01 ~]$ sudo vi /etc/profile
export JAVA_HOME=/usr/local/jdk1.7.0_45 export PATH=$PATH:$JAVA_HOME/bin export STORM_HOME=/home/hadoop/apps/storm export PATH=$PATH:$STORM_HOME/bin |
[hadoop@storm01 ~]$ source /etc/profile |
啟動的時候就可以這麽啟動:
1. 啟動nimbus
[hadoop@storm01 ~]$ nohup storm nimbus & [hadoop@storm01 ~]$ nohup storm ui & |
2. 啟動supervisor
[hadoop@storm04 ~]$ nohup storm supervisor & |
在客戶機上,輸入storm01的web服務界面,查看storm集群狀態:
http://192.168.33.31:8080/
進入到storm的安裝目錄中,提交一個示例任務
沒有配置環境變量的啟動方式 [hadoop@storm01 storm]$ bin/storm jar examples/storm-starter/storm-starter-topologies-0.9.6.jar storm.starter.WordCountTopology wordcount |
配置了環境變量的啟動方式 [hadoop@storm01 ~]$ storm jar /home/hadoop/apps/storm/examples/storm-starter/storm-starter-topologies-0.9.6.jar storm.starter.WordCountTopology wordcount |
本文為愛尚實訓原創精編,轉載請註明來源 www.hrbasjy.org 百度一下“愛尚實訓”,獲取更多大數據、Java相關資訊
年薪40萬的大數據工程師是如何安裝Strom