1.环境准备
- 操作系统: CentOS7.0
- Zookeeper版本:zookeeper-3.4.10
- Storm版本:apache-storm-1.1.0
- JDK版本:jdk1.8.0_77
- Python版本:
- 集群配置如下:
# | os | hostname | ip | software | notes |
---|---|---|---|---|---|
1 | CentOS7 | apollo.dt.com | 192.168.56.181 | 1.zookeeper 2.storm |
master |
2 | CentOS7 | artemis.dt.com | 192.168.56.182 | 1.zookeeper 2.storm |
worker |
3 | CentOS7 | uranus.dt.com | 192.168.56.183 | 1.zookeeper 2.storm |
worker |
2.前提条件
2.1.安装配置JDK1.8
2.2.安装配置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
- 1
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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
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
- 1
- 2
- 3
- 4
5.配置环境变量
[root@apollo dtadmin]# vim /etc/profile
#添加以下配置
# storm-1.1.0
export @H_382_404@STORM_HOME=/opt/storm
export @H_382_404@PATH=$PATH:$STORM_HOME/bin
#使修改生效
[root@apollo dtadmin]# source /etc/profile
#验证
[root@apollo dtadmin]# echo $STORM_HOME
/opt/storm
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
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"
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
6.2 配置文件验证可以通过YAML Lint
把storm.yaml配置文件中的内容拷贝到YAML Lint框中验证,如下图所示:
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/
- 1
- 2
- 3
- 4
8.启动Storm
8.1. 启动主控节点
[root@apollo opt]# nohup $STORM_HOME/bin/storm nimbus &
- 1
8.2.启动工作节点
[root@artemis dtadmin]# nohup $STORM_HOME/bin/storm supervisor &
[root@uranus dtadmin]# nohup $STORM_HOME/bin/storm supervisor &
- 1
- 2
8.3.启动管理页面
#主控节点上运行
[root@apollo ~]# nohup $STORM_HOME/bin/storm ui &
- 1
- 2