1.环境准备

  • 操作系统: CentOS7.0
  • Zookeeper版本:zookeeper-3.4.10
  • Storm版本:apache-storm-1.1.0
  • JDK版本:jdk1.8.0_77
  • Python版本:
  • 集群配置如下:
#oshostnameipsoftwarenotes
1CentOS7apollo.dt.com192.168.56.1811.zookeeper
2.storm
master
2CentOS7artemis.dt.com192.168.56.1821.zookeeper
2.storm
worker
3CentOS7uranus.dt.com192.168.56.1831.zookeeper
2.storm
worker

2.前提条件

2.1.安装配置JDK1.8

CentOS7 安装JDK1.8

2.2.安装配置Zookeeper集群

CentOS7安装配置zookeeper集群

3.下载Apache Storm

[root@dtadmin ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/storm/apache-storm-1.1.0/apache-storm-1.1.0.tar.gz

4. 安装Storm

4.1.安装依赖库

[root@apollo ~]# yum install libtool -y
[root@apollo ~]# yum -y install gcc
[root@apollo ~]# yum -y install gcc-c++
[root@apollo ~]# yum -y install make
[root@apollo ~]# yum -y install uuid-devel
[root@apollo ~]# yum -y install libuuid-devel
[root@apollo ~]# yum -y install e2fsprogs-devel

4.2.下载libsodium

[root@apollo dtadmin]# wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.10.tar.gz
#解压
[root@apollo dtadmin]# tar -zxvf libsodium-1.0.10.tar.gz
#移到目录/opt/下
[root@apollo dtadmin]# mv libsodium-1.0.10 /opt/libsodium-1.0.10
#进入到目录
[root@apollo dtadmin]# cd /opt/libsodium-1.0.10
#编译
[root@apollo libsodium-1.0.10]# ./autogen.sh 
[root@apollo libsodium-1.0.10]# ./configure 
[root@apollo libsodium-1.0.10]# make
[root@apollo libsodium-1.0.10]# make install

4.3.ZeroMQ

官网下载ZeroMQ

#解压
[root@apollo dtadmin]# tar -xvf zeromq-4.2.1.tar 
#移到目录/opt/zeromq下
[root@apollo dtadmin]# mv zeromq-4.2.1 /opt/zeromq
#进入目录/opt/zeromq
[root@apollo dtadmin]# cd /opt/zeromq/
#编译安装
[root@apollo zeromq]# ./autogen.sh 
[root@apollo zeromq]# ./configure PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
[root@apollo zeromq]# make
[root@apollo zeromq]# make install

4.4 jzmq

#如果没有安装git
[root@apollo zeromq]# yum -y install git
#git clone jzmq
[root@apollo zeromq]# git clone git://github.com/zeromq/jzmq.git
#移动jzmq到/opt/jzmq下
[root@apollo zeromq]# mv jzmq /opt/jzmq
#进入目录jzmq/jzmq-jni
[root@apollo zeromq]# cd /opt/jzmq/jzmq-jni
#编译
[root@apollo jzmq-jni]# ./autogen.sh 
[root@apollo jzmq-jni]# ./configure 

4.4.解压storm到/opt/storm/下

#解压
[root@apollo dtadmin]# tar -zxvf apache-storm-1.1.0.tar.gz 
#移到/opt/storm下
[root@apollo dtadmin]# mv apache-storm-1.1.0 /opt/storm

5.配置环境变量

[root@apollo dtadmin]# vim /etc/profile
#添加以下配置
# storm-1.1.0
export STORM_HOME=/opt/storm
export PATH=$PATH:$STORM_HOME/bin

#使修改生效
[root@apollo dtadmin]# source /etc/profile
#验证
[root@apollo dtadmin]# echo $STORM_HOME
/opt/storm

6.修改配置文件

6.1.配置storm.yaml

#进入$STORM_HOME目录
[root@apollo storm]# cd $STORM_HOME
#创建目录
[root@apollo storm]# mkdir -p data
#进入配置文件目录
[root@apollo storm]# cd $STORM_HOME/conf
#修改配置文件storm.yaml
[root@apollo conf]# vim storm.yaml
#修改的配置项如下
 storm.zookeeper.servers:
     - "192.168.56.181"
     - "192.168.56.182"
     - "192.168.56.183"

 nimbus.seeds: ["192.168.56.181"]

 storm.local.dir: "/opt/storm/data"

6.2 配置文件验证可以通过YAML Lint

把storm.yaml配置文件中的内容拷贝到YAML Lint框中验证,如下图所示:

yamllint.png

6.3.配置项说明

  • storm.zookeeper.servers:表示zookeeper的集群地址,如果Zookeeper集群使用的不是默认端口,那么还需要配置storm.zookeeper.port
  • storm.zookeeper.port: Zookeeper集群的端口号
  • storm.local.dir: 用于配置Storm存储少量文件的路径
  • nimbus.seeds: 用于配置主控节点的地址,可以配置多个

7.拷贝文件到其余工作节点

* 注:在拷贝文件前,2~5的所有步骤都要在从机上完成。*

#拷贝到服务器artemis.dt.com上
[root@apollo opt]# scp -r storm/ artemis.dt.com:/opt/
#拷贝到服务器uranus.dt.com上
[root@apollo opt]# scp -r storm/ uranus.dt.com:/opt/

8.启动Storm

8.1. 启动主控节点

[root@apollo opt]# nohup $STORM_HOME/bin/storm nimbus &

8.2.启动工作节点

[root@artemis dtadmin]# nohup $STORM_HOME/bin/storm supervisor &
[root@uranus dtadmin]# nohup $STORM_HOME/bin/storm supervisor &

8.3.启动管理页面

#主控节点上运行
[root@apollo ~]# nohup $STORM_HOME/bin/storm ui &

8.4.在管理页面上查看storm集群情况

storm-cluster.jpeg

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐