1.Storm集群安装准备:
- LInux系统:CentOS 7(3台)
- JDK:jdk-8u162-linux-x64.tar.gz
- Zookeeper:zookeeper-3.4.11.tar.gz
- Storm:apache-storm-1.2.1
2.安装
2.1 JDK安装
CentOS7自带了openjdk,你可以使用这个也可以自己安装,我是安装自己的jdk。
- 打开终端,输入下列命令,查找openjdk,并删除
rpm -qa | grep java
rpm -e --nodeps XXXX_openjdk_XXX
- 官网下载jdk-8u162-linux-x64.tar.gz
- 解压jdk-8u162-linux-x64.tar.gz
tar -xvf jdk-8u162-linux-x64.tar.gz
- 修改文件夹名为jdk1.8
- 配置jdk的环境变量
sudo vim /etc/bashrc 在bashrc文件最后加入 export JAVA_HOME=jdk路径 export PATH=$PATH:$JAVA_HOME/bin
保存退出重启系统
查看环境变量和Java版本
echo $PATH
java -version
3.zookeeper安装
- 从官网下载zookeeper-3.4.11.tar.gz
- 解压zookeeper-3.4.11.tar.gz
- 在zookeeper安装包目录下新建一个data文件夹
- 重命名zookeeper安装包的conf目录下的zoo_sample.cfg为zoo.cfg
- 打开zoo.cfg文件,在文件末尾添加如下配置
dataDir=zookeeper data目录路径
server.1=ip:2888:3888
server.2=ip:2888:3888
server.3=ip:2888:3888
server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址或主机名;C 表示的是这个服务器与集群中的 Leader 服务器交换信息
的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口.
- 在data文件下新建一个myid文件内容为1
- 配置环境变量,保存退出重启
sudo vim /etc/bashrc
在bashrc文件最后加入
export ZOOKEEPER=zookeeper路径
export PATH=$PATH:$ZOOKEEPER/bin
- 将以上配置copy到其他机器上,注意myid文件的内容必须要与ip/主机名对应,即!A和B要对应。
- 转到zookeeper 的bin目录下,测试是否配置成功。
./zkServer.sh start (启动)
./zkServer.sh status (查看状态)
4.storm安装
- 从官网下载apache-storm-1.2.1.tar.gz
- 解压apache-storm-1.2.1.tar.gz
- 在apache-storm-1.2.1安装包目录下新建一个data文件夹
- 配置apache-storm-1.2.1安装包的conf目录下的storm.yaml,在文件末尾添加如下配置:
storm.zookeeper.servers: - "master" - "slaver1" - "slaver2" nimbus.seeds: ["master"] supervisor.slots.ports: - 6700 - 6701 - 6702 - 6703
- 配置环境变量,保存退出重启
sudo vim /etc/bashrc 在bashrc文件最后加入 export STORM=storm路径 export PATH=$PATH:$STORM/bin
将以上配置copy到其他机器上
在主节点(master)的机器的storm的bin目录下运行
./storm nimbus &
./storm ui &
- 在从节点(slaver1,slaver2)的机器上的storm bin目录下运行
./storm supervisor &
注:master,slaver1,slaver2是主机名,可以换成ip
- 在浏览器里输入 master:8080/index.html,即可看到storm的运行状态
至此,storm的集群部署完成。