作为流计算的开篇,笔者首先给出storm的安装和部署,storm的第二篇,笔者将详细的介绍storm的工作原理。下边直接上干货,跟笔者的步伐一块儿安装storm。
原文链接:Storm环境搭建(分布式集群)
Step1:新建用户
在所有主机上新建hadoop用户,密码是Hadoop123
useradd hadoop
passwd hadoop
输入密码Hadoop123
Step2:设置免密登录
设置所有主机之间ssh免密码登录。设置主节点到从节点的免密码登录即可。
Step3:软件包下载
(1)mkdir -p /mnt/data/software
(2)将所需要的软件包放在/mnt/data/software目录下
如需要以下三个安装包,请长按文末二维码关注“大数据技术宅”,后台输入“storm安装包”获取。
jdk-8u121-linux-i586.tar.gz
apache-storm-1.0.5.tar.gz
zookeeper-3.4.10.tar.gz
Step4:安装JDK
(1)卸载openjdk
rpm -qa | grep jdk
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
rpm -e --nodepscopy-jdk-configs-1.2-1.el7.noarch
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
(2)安装jdk1.8
cd /mnt/data/software
tar -zxvf jdk-8u121-linux-i586.tar.gz
配置java环境变量
vim /etc/profile
在文件中写入以下内容
JAVA_HOME=/mnt/data/software/jdk1.8.0_121
JRE_HOME=/mnt/data/software/jdk1.8.0_121/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
使环境变量生效:source/etc/profile
Step5:安装zookeeper
(1)关闭三台机器上的防火墙(CentOS 7)
firewall-cmd --state 查看防火墙状态
systemctl stop firewalld.service 关闭防火墙
systemctl disable firewalld.service 禁止开机启动
(2)安装
cd /mnt/data/software
tar -zxvf zookeeper-3.4.10.tar.gz
mv zookeeper-3.4.10
cd zookeeper/conf
将conf目录中的zoo_sample.cfg文件复制为zoo.cfg并利用vi命令进行修改
dataDir=/mnt/data/software/zookeeper/data
server.1=ip:2888:3888 ip为服务器的ip
server.2=ip:2888:3888 ip为服务器的ip
server.3=ip:2888:3888 ip为服务器的ip
这里的dataDir需要自己创建 mkdir命令创建,并在目录下创建一个文件:myid分别在myid上按照配置文件的server.<id>中id的数值,在不同机器上的该文件中填写相应过的值1|2|3
如[root@safe01data]# vim myid
1
保存即可
(3)添加zookeeper环境变量
vim /etc/profile
ZOOKEEPER_HOME=/mnt/data/software/zookeeper
PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin
export JAVA_HOME CLASSPATH ZOOKEEPER_HOME PATH
引用环境变量:source/etc/profile
(4)测试安装
三台机器执行zkServer.shstart进行启动zookeeper
查看状态zkServer.shstatus
[root@safe01 data]# zkServer.sh status
JMX enabled by default
Using config: /mnt/data/software/zookeeper/bin/../conf/zoo.cfg
Mode: follower
两个follower一个leader就是正确的
Step6:安装Storm
(1)安装
cd /mnt/data/software
tar -zxvf apache-storm-1.0.5.tar.gz
mv apache-storm-1.0.5 storm
cd ./storm/conf
编辑storm.yaml
storm.zookeeper.servers:
- "172.16.2.27"
- "172.16.2.42"
- "172.16.2.72"
#nimbus
nimbus.host: "172.16.2.27"
ui.port: 8081
supervisor.slots.ports:
-6700
-6701
-6702
-6703
storm.local.dir:"/mnt/data/software/storm/data"
创建数据文件目录:mkdir /mnt/data/software/storm/data
将storm分发到其他主机上:
scp -r /mnt/data/software/storm/ hadoop@172.16.2.42:/mnt/data/software
scp -r /mnt/data/software/storm/ hadoop@172.16.2.72:/mnt/data/software
在所有主机上添加storm的环境变量:
STORM_HOME=/mnt/data/software/storm
PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$STORM_HOME/bin:$KAFKA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH ZOOKEEPER_HOME STORM_HOME KAFKA_HOME PATH
(2)启动
在主机centos上开启nimbus进程
storm nimbus &
在另外两台机子上开启supervisor 进程
storm supervisor &
开启完按Ctrl+c
在centos主机上开启
storm ui &
storm logviewer &
这样就可以通过web查看storm部署情况了
访问http://172.16.2.27:8080/,如图:
下篇。。。