年薪40万的大数据工程师是如何安装Strom

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相关资讯

猜你喜欢

转载自blog.csdn.net/hxl0009/article/details/80050344