原生腾讯云centos7.5 Apache Storm搭建指南

写文章前先重装系统,保证环境和谐(没说要你重装)。还有个人用的root权限,非root用户赋权操作请自行处理
参考文献
此文献有部分不适配新版环境,仅作参考。

环境确认

1.centos7.5
2.jdk1.8.0_201
3.ZooKeeper-3.4.13
4.apache-storm-1.2.2

NO_1.验证JAVA环境

java -version

不存在会找不到指令,我们下面开始安装java

1.1下载安装包

使用以下链接 - www.oracle.com下载最新版本的JDK
这里使用的版本是最新的Java SE Development Kit 8u201,安装包名是jdk-8u201-linux-x64.tar.gz,推荐安装与本地开发相同的环境,不然遇到各种奇怪的无法解析JAR问题,那就头疼了。
建立一个目录存储安装包,使用文件管理工具(个人使用lrzsz,或者使用简单的FileZilla),上传安装包,cd到安装目录下(个人放在了~/package)

cd ~/package
tar -zxf jdk-8u201-linux-x64.tar.gz

1.2移动到/usr/local/java文件夹

mkdir /usr/local/java
mv jdk1.8.0_201 /usr/local/java/

1.3设置路径

设置PATH和JAVA_HOME,请添加以下命令到/etc/profile文件(此文件处于系统级开机进程中,会适用到所有用户)

export JAVA_HOME =/usr/local/java/jdk1.8.0_201
export PATH=$PATH:$JAVA_HOME/bin

应用变更

source /etc/profile

1.4维护java连接

update-alternatives --install /usr/bin/java java /usr/local/java/jdk1.8.0_201/bin/java 100

1.5验证可用性

java -version

NO_2.ZooKeeper框架安装

要在您的计算机上安装ZooKeeper框架,请访问以下链接并下载最新版本的ZooKeeper http://zookeeper.apache.org/releases.html
到目前为止,最新版本的ZooKeeper是3.4.13(zookeeper-3.4.13.tar.gz)。

2.1解压tar文件

cd ~/package
tar -zxf zookeeper-3.4.13.tar.gz
cd zookeeper-3.4.13
mkdir data
cd ~/package
mkdir /usr/local/zookeeper
mv zookeeper-3.4.13 /usr/local/zookeeper/

修改zookeeper配置文件

注意,zookeeper的配置文件当前版本默认为zoo.cfg,但设定档内只有zoo_sample.cfg是无法使用的,所以我们复制一份出来。

cp ./conf/zoo_sample.cfg ./conf/zoo.cfg

修改zoo.cfg档内容(dataDir可以依个人习惯归类到一起,这个目录是必须存在的),其他档案内容依个人需求。默认配置是没有集群的,需要了解如何运行单例或者集群模式请关注
Storm开发——Zookeeper集群设置(集群)
Storm开发——Zookeeper集群设置(单例)

dataDir=/usr/local/zookeeper/zookeeper-3.4.13/data

启动ZooKeeper服务器

bin/zkServer.sh start
bin/zkServer.sh stop#这个是关闭服务

响应如下:

ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/zookeeper-3.4.13/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

此时我们已经安装并启动了ZooKeeper虚拟机服务,Apache Storm框架正是在其上跑的(这话不是说着玩的,千万别忘了启动ZooKeeper)。

NO_3.Apache Storm框架安装

3.1下载Storm

要在您的计算机上安装Storm框架,请访问以下链接并下载最新版本的Storm http://storm.apache.org/downloads.html

到目前为止,最新版本的Storm是“apache-storm-1.2.2.tar.gz”。

3.2解压tar文件

cd ~/package
tar -zxf apache-storm-1.2.2.tar.gz
cd apache-storm-1.2.2
mkdir data
mkdir /usr/local/apache-storm
mv apache-storm-1.2.2 /usr/local/apache-storm/

3.3配置文件

在./conf/storm.yaml中添加以下内容
配置详解见Storm配置文件详解

#注意空格不是假的,是必须品
 storm.zookeeper.servers:#为嘛要开zookeeper知道吗?
  - "localhost"
 storm.local.dir: "/usr/local/storm/data"#路径随意
 nimbus.host: "localhost"#本地测试
 supervisor.slots.ports:
  - 6700
  - 6701
  - 6702
  - 6703 

3.4启动!

启动ZooKeeper(cd /usr/local/zookeeper/zookeeper-3.4.13)

bin/zkServer.sh start

启动Nimbus(cd /usr/local/apache-storm/apache-storm-1.2.2)

bin/storm nimbus

启动Supervisor

bin/storm supervisor

启动UI

bin/storm ui

使用指令检查运行环境是否正常

jps

输出如下

11920 QuorumPeerMain
26228 nimbus
26298 core
26269 Supervisor
26542 Jps

3.5欣赏下成果

键入http//localhost:8080或者http//IP:8080,就可以进入管理界面了。

重点:配置正常的运行环境和容灾环境

一、进行安全配置

1.centos7使用的firewall防火墙,目前的我们需要开放一下的端口

> firewall-cmd --zone=public --list-ports 
9090/tcp 2181/tcp 3888/tcp 2888/tcp 6627/tcp 6700/tcp 6701/tcp 6702/tcp 6703/tcp
# 尤其需要注意,因为个人对配置文件有修改,所有不一定完全一致,以下是大致说明,请一一对照
# storm-ui:9090
# zookeeper:2181:2888:3888
# storm-nimbus:6627
# storm-supervisor-slots:6700:6701:6702:6703

2.清理log文件
没有非常多想说的,用crontab即可,记得不要把快照文件当做log清理了,尤其是data目录下的文件
3.配置系统环境

> vi /etc/profile

#添加以下内容
export JAVA_HOME=/usr/local/java/jdk1.8.0_221
export JRE_HOME=${JAVA_HOME}/jre
export STORM_HOME=/usr/local/apache-storm-2.0.0
export ZOOKEEPER_HOME=/usr/local/zookeeper/apache-zookeeper-3.5.5-bin
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$ZOOKEEPER_HOME/lib:
PATH=$STORM_HOME/bin:${JAVA_HOME}/bin:$ZOOKEEPER_HOME/bin:$PATH
# 记得source一下

二、进行用户配置

这部分将不进行说明,其实主要的重点就是
1.安装和配置文件时请切换到你单独为这些软件配置的用户,尤其是他们写log和data时的文件夹要给予充分的权限
2.将配置环境的逻辑写在系统层,不要写在用户层
3.配置服务时记得指定用户,要是用root的话前面做的就都功亏一篑了。

三、配置Zookeeper

将zookeeper配置为服务

> cd /etc/init.d/
> vi zookeeper
#!/bin/bash
#chkconfig:2345 10 90
#description:service zookeeper
export     ZOO_LOG_DIR=/usr/local/zookeeper/apache-zookeeper-3.5.5-bin/logs
ZOOKEEPER_HOME=/usr/local/zookeeper/apache-zookeeper-3.5.5-bin
case  "$1"   in
     start)  su  root  ${ZOOKEEPER_HOME}/bin/zkServer.sh  start;;#开启服务
     start-foreground)  su  root ${ZOOKEEPER_HOME}/bin/zkServer.sh   start-foreground;;#前台执行
     stop)  su  root  ${ZOOKEEPER_HOME}/bin/zkServer.sh  stop;;#停止服务
     status)  su root  ${ZOOKEEPER_HOME}/bin/zkServer.sh    status;;#检查服务状态
     restart)  su root   ${ZOOKEEPER_HOME}/bin/zkServer.sh   restart;;#重启服务
     upgrade)su root  ${ZOOKEEPER_HOME}/bin/zkServer.sh  upgrade;;#升级服务
     print-cmd)su root  ${ZOOKEEPER_HOME}/bin/zkServer.sh  print-cmd;;#查看服务启动参数
     *)  echo "require start|start-foreground|stop|status|restart|print-cmd";;#命令提示行
esac
> :wq
> chkconfig --add zookeeper

此时zookeeper的服务算是配置完成了,可以通过systemctl查看下服务运行状态。

补充一些注意事项
1.尽量不要直接复制原运行环境的zookeeper使用,会导致无法运行的(因为快照冲突,比如你把之前的leader复制过来,启动以后将会与原来的leader冲突),就算要复制记得把log和快照全部清空
2.zookeeper需要将主机配置成0.0.0.0才可以对外开放socket通讯,所以为了配置的一致性,推荐在hosts文件处做手脚,以方便配置,从而不要修改配置文件

四、配置Storm

这里我们使用supervisor管理Storm
1.安装supervisor

> yum install supervisor

2.修改supervisor的配置文件

> vi /etc/supervisord.conf
#修改
[include]
files = supervisord.d/*.ini
#为
[include]
files = supervisord.d/*.conf
#不要问为啥,问就是喜欢

3.配置开机自启动

#第一步建立软连接
> ln -s /usr/local/apache-storm-2.0.0/bin/storm /usr/bin/storm
#第二步书写supervisor脚本
> cd /etc/supervisord.d/
> vi storm-nimbus.conf
[program:storm-nimbus]
command=storm nimbus
directory=/usr/local/apache-storm-2.0.0/bin
autorestart=true
user=root
> :wq
> vi storm-ui.conf
[program:storm-ui]
command=storm ui
directory=/usr/local/apache-storm-2.0.0/bin
autorestart=true
user=root
> :wq
> vi storm-supervisor.conf
 [program:storm-supervisor]
command=storm supervisor
directory=/usr/local/apache-storm-2.0.0/bin
autorestart=true
user=root
> :wq
#第三步,重载supervisor配置
> supervisorctl reload
# 第四步,查看结果
> supervisorctl status
storm-nimbus                     RUNNING   pid 25569, uptime 1 day, 3:11:35
storm-ui                         RUNNING   pid 1215, uptime 1 day, 9:27:17

备注

备注所有内容以完善更新,此环境可以作为生产环境使用了!

你可能感兴趣的:(原生腾讯云centos7.5 Apache Storm搭建指南)