1. 程式人生 > >年薪40萬的大數據工程師是如何安裝Strom

年薪40萬的大數據工程師是如何安裝Strom

storm 大數據 工程師 愛尚實訓

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集群的,需要在zk01zk02zk03上安裝集群

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/分別拷貝到storm02storm03

[hadoop@storm01 ~]$ scp -r zkdata/ storm02:/home/hadoop/

[hadoop@storm01 ~]$ scp -r zkdata/ storm03:/home/hadoop/

7. 分別修改storm02storm03上的/home/hadoop/zkdata/myid中的內容,分別為2,3

8. /home/hadoop/apps/zookeeper-3.4.5拷貝到storm02storm03/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. 進入到stormconf的配置文件目錄,修改配置文件

[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. storm02sotrm03sotrm04上啟動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 &

在客戶機上,輸入storm01web服務界面,查看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