部署环境
软件 | 版本 |
---|---|
Ubuntu | 18.04.2 |
JDK | 8u221 |
Strom | 1.2.2 |
Zookeeper | 3.4.14 |
事前准备
共享目录
1 设置->共享文件夹
2. 键入如下命令,参数share为上一步中共享文件夹名称,参数 /mnt/share/为linux上文件夹路径
sudo mount -t vboxsf share /mnt/share
安装JDK
1.解压
sudo tar -zxvf jdk-8u211-linux-x64.gz -C /opt
2.改变文件所有者
sudo chown -R 用户名:用户组名 /opt/jdk1.8.0.211
3.设置环境变量
sudo gedit ~/.bashrc
4.在文末添加环境变量,保存退出
#jdk
export JAVA_HOME=/opt/jdk1.8.0_211
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
5.生效环境变量
source ~/.bashrc
6.验证
java -version
安装Zookeeper
1.解压
sudo tar -zxvf zookeeper-3.4.14.tar.gz -C /opt
2.改变文件所有者
sudo chown -R 用户名:用户组名 /opt/zookeeper-3.4.14
3.设置环境变量
sudo gedit ~/.bashrc
4.在文末添加环境变量,保存退出
#zookeeper
export ZK_HOME=/opt/zookeeper-3.4.14
export PATH=$PATH:$ZK_HOME/bin
5.生效环境变量
source ~/.bashrc
6.修改Zookeeper配置文件
cd /opt/zookeeper-3.4.14/conf #进入配置文件目录
cp zoo_sample.cfg zoo.cfg #拷贝本地配置文件
sudo gedit zoo.cfg #编辑本地配置文件
7.添加Zookeeper配置
dataDir=/opt/zookeeper-3.4.14/data
dataLogDir=/opt/zookeeper-3.4.14/logs
tickTime=2000
clientPort=2181
8.创建数据、日志文件夹
cd /opt/zookeeper-3.4.14/
mkdir data
mkdir logs
9.启动、停止、重启、状态
cd /opt/zookeeper-3.4.14/bin
#启动、停止、重启、状态
zkServer.sh start
zkServer.sh stop
zkServer.sh restart
zkServer.sh status
10.验证
(1)进程查看,有QuorumPeerMain
jps
(2)客户端
cd /opt/zookeeper-3.4.14/bin
#客户端
./zkCli.sh -server localhost:2181
Storm安装
1.解压
sudo tar -zxvf apache-storm-1.2.2.tar.gz -C /opt
2.改变文件所有者
sudo chown -R 用户名:用户组名 /opt/apache-storm-1.2.2
3.设置环境变量
sudo gedit ~/.bashrc
4.在文末添加环境变量,保存退出
#storm
export STORM_HOME=/opt/apache-storm-1.2.2
export PATH=$PATH:$STORM_HOME/bin
5.生效环境变量
source ~/.bashrc
6.修改Storm配置文件(集群模式,本地模式跳过这步)
cd /opt/apache-storm-1.2.2/conf #进入配置文件目录
sudo gedit storm.yaml #编辑本地配置文件
7.添加配置
# 指定zookeeper地址,集群的话配置多个server
storm.zookeeper.servers:
- "localhost"
# - "server2"
#storm.zookeeper.port: 2181
#ui.port: 8085
# storm主节点,多个主节点的话配置多个host
nimbus.seeds: ["localhost"]
# 提交的topology都会上传到该目录,需要手动创建tmp目录
storm.local.dir: "/opt/apache-storm-1.2.2/tmp"
# 开启的槽数量,supervisor上能够运行workers的端口列表.每个worker占用一个端口,且每个端口只运行一个worker.通过这项配置可以调整每台机器上运行的worker数.(调整slot数/每机)
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
# 如上注意,-和:之后都有空格;如果要搭建Storm的HA,只需要在nimbus.seeds中设置多个nimbus即可。
#Storm的event logger的功能默认是禁用的,需要在配置文件中设置:topology.eventlogger.executors: 1
8.启动Storm
storm nimbus &
storm supervisor &
# 在nimbus.host所属的机器上启动ui服务;查看storm集群:访问nimbus.host:/8080,即可看到storm的ui界面
storm ui &
# 启动日志查询 :host:8000
storm logviewer &
9.验证
(1)Storm UI
打开http://localhost:8080
(2)jps
10.杀死Storm服务
jps
#杀死jps显示的进程
sudo kill 进程id
11.相关问题解决
(1)出现如下问题
/opt/apache-storm-1.2.2/bin/storm: 行 48: 10 * 行 + 行: 语法错误: 需要操作数 (错误符号是 "行 + 行")
/opt/apache-storm-1.2.2/bin/storm: 行 49: ((: < 26 : 语法错误: 需要操作数 (错误符号是 "< 26 ")
/opt/apache-storm-1.2.2/bin/storm: 行 77: /usr/bin/python: 没有那个文件或目录
storm文件中Python指向不对,可对storm文件进行如下修改:
(1)打开文件
cd /opt/apache-storm-1.2.2/bin
sudo gedit storm
(2)替换为你的Python版本
# find pyhton >= 2.6
if [ -a /usr/bin/python2.6]; then
PYTHON=/usr/bin/python3
fi
if [ -z "$PYTHON" ]; then
PYTHON=/usr/bin/python3
fi
参考
https://blog.csdn.net/zbj18314469395/article/details/86064849
https://my.oschina.net/zctzl/blog/1631603
https://blog.csdn.net/LWJ285149763/article/details/81053473
http://www.cnblogs.com/lsdb/p/7297731.html
https://www.cnblogs.com/senlinyang/p/7833669.html
https://www.jianshu.com/p/6f5002ddceb4
https://blog.csdn.net/qq_41665356/article/details/84858975
https://www.cnblogs.com/tianboblog/p/9308020.html