# 搭建Apache Storm环境

# 一、安装JDK

# 下载JDK安装包

  1. 下载jdk安装包(jdk-8u201-linux-x64.tar.gz),不同的jdk版本略有差异,最好选择稳定版。
    安装包下载地址
  2. 解压安装包到目录/usr/lib/jdk目录下(与jdk的环境变量配置有关)
tar -zxvf jdk-8u201-linux-x64.tar.gz
mkdir /usr/lib/jdk
mv jdk-8u201-linux-x64 /usr/lib/jdk

# 配置Java环境变量

  • 打开环境变量的配置文件profile
vim /etc/profile
  • 修改配置文件,在/etc/profile文件最后加入
#set java env
export JAVA_HOME=/usr/lib/jdk/jdk1.8.0_201
export JRE_HOME=${JAVA_HOME}/jre    
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib    
export PATH=${JAVA_HOME}/bin:$PATH
  • 使配置文件生效
source /etc/profile
  • 测试是否添加成功(输入下列代码,会输出所设定的环境变量)
echo $JAVA_HOME

# 二、安装Zookeeper

# 下载Zookeeper安装包

  1. 下载Zookeeper安装包(zookeeper-3.4.12.tar.gz),此处使用3.4.12版本。
    安装包下载地址

  2. 解压安装包

tar -zxvf zookeeper-3.4.12.tar.gz

# 配置Zookeeper

  • 首先在Zookeeper的根目录zookeeper下建立两个文件夹,一个叫做data文件夹,用来存放数据;一个叫做logs,用来存放日志信息
mkdir data
mkdir logs
  • 在Zookeeper的根目录下,存在/conf/zoo_example.cfg示例配置文件,复制一个示例配置文件,并改名为zoo.cfg(真正起作用的是zoo.cfg文件)
cp zoo_example.cfg zoo.cfg
  • 在zoo.cfg中修改数据存储和日志存储的文件夹(zookeeper目录为Zookeeper的根目录)
dataDir=/home/node06/Desktop/software/zookeeper/data(本机中data文件夹的绝对路径)
dataLogDir=/home/node06/Desktop/software/zookeeper/logs(本机中logs文件夹的绝对路径)
  • 然后添加配置的Zookeeper节点的主机号(这里配置了4个节点),例如:server.1=这台主机名字:2888:3888,其中2888是通信的端口,3888是选举的端口
server.1=192.168.xxx.xxx:2888:3888
server.2=192.168.xxx.xxx:4888:5888
server.3=192.168.xxx.xxx:6888:7888
server.4=192.168.xxx.xxx:8888:9888
  • 在刚才创建的data文件夹下,建立一个文件myid存放这台主机的id号,也就是server.后面的数字(例如server.1,则建立一个myid文件,写入内容的是1),在data文件夹下运行如下命令
echo 1 > myid

# 启动服务端/客户端

  • 启动服务端(在zookeeper的根目录下的bin文件夹下)
zkServer.sh start
  • 运行客户端(在zookeeper的根目录下的bin文件夹下)
zkCli.sh

# 三、安装Apache-storm

# 下载Storm安装包

  1. 下载storm安装包(apache-storm-1.1.0.tar.gz),不同版本的storm配置文件略有差异,此处使用1.1.0版本。
    安装包下载地址
  2. 解压安装包到指定目录/usr/local/storm(也可以是其他任意目录,但第三步中的环境变量应该与之对应)
tar -zxvf apache-storm-1.1.0.tar.gz
mv apache-storm-1.1.0 storm

# 配置环境变量

  1. 修改环境变量
  • 打开配置文件profile
vim /etc/profile
  • 修改配置文件
    在文件最后加入:
export STORM_HOME=/usr/local/storm
export PATH=$STORM_HOME/bin:$PATH
  • 使配置文件生效
source /etc/profile

# 修改Storm配置文件

4.修改storm的配置文件(注意:配置行前都有一个空格!!!)

  • 进入storm的配置文件
vi storm/conf/storm.yaml
  • 配置Zookeeper的主机地址
    在配置文件中加入Zookeeper的主机地址(有几个加几个)
####These MUST be filled in for a storm configuration
 storm.zookeeper.servers:
 - "192.168.xxx.xxx"
 - "192.168.xxx.xxx"
 - "192.168.xxx.xxx"
 - "192.168.xxx.xxx" 
  • 配置nimbus的主机地址
 nimbus.host: "192.168.xxx.xxx" 
  • 设置nimbus本地目录(客户端提交一个jar文件,jar文件会保存在此目录下)
 storm.local.dir: "/home/node06/Desktop/software/storm/data"
  • 配置从节点上的worker,下面设置4个worker和它们对应的端口(可根据自己的需要设置不同个数)
 supervisor.slots.ports:
  - 6700
  - 6701
  - 6702
  - 6703

# 启动运行

5.启动storm

  • 启动主节点
storm nimbus &
  • 启动从节点
storm supervisor &
  • 启动日志查看器
storm logviewer &
  • 启动UI管理界面
storm ui &