主机名 | ip地址 |
---|---|
storm01 | 172.16.120.181 |
storm02 | 172.16.120.182 |
storm03 | 172.16.120.183 |
mac os x固定vware虚拟机IP==sudo vi /Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf== 在文件末尾添加
host storm01{
hardware ethernet 00:50:56:28:1E:6A;
fixed-address 172.16.120.181;
}
host storm02{
hardware ethernet 00:0C:29:33:4D:15;
fixed-address 172.16.120.182;
}
host storm03{
hardware ethernet 00:0C:29:A2:C1:2B;
fixed-address 172.16.120.183;
}
strom01为固定ip虚拟机的名称
hardware ethernet 硬件地址
fixed-address 固定ip地址
ip地址取值范围必须在hdcpd.conf给定的范围内,配置完成后重启vware。
配置/etc/hosts
172.16.120.181 storm01
172.16.120.182 storm02
172.16.120.183 storm03
设置主机名:
hostnamectl --static set-hostname storm01
hostnamectl --static set-hostname storm02
hostnamectl --static set-hostname storm03
关闭防火墙和selinux
systemctl disable firewalld
systemctl stop firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
参考zookeeper安装文档
wget http://mirror.bit.edu.cn/apache/storm/apache-storm-1.1.1/apache-storm-1.1.1.tar.gz
tar -zxvf apache-storm-1.1.1.tar.gz
mv apache-storm-1.1.1 /usr/local/
vi /usr/local/apache-storm-1.1.1/conf/storm.yaml
配置内容如下:
## 配置Zookeeper地址(配置Zookeeper的主机名
## 注意: 如果Zookeeper集群使用的不是默认端口,那么还需要配置storm.zookeeper.port)
storm.zookeeper.servers:
- "storm01"
- "storm02"
- "storm03"
## 配置nimbus.seeds:用于配置主控节点的地址,可以配置多个
nimbus.seeds: ["storm01"]
## 配置supervisor.slots.ports,配置工作节点上的进程端口。
## 你配置一个端口,意味着工作节点上启动一个worker,在实际的生产环境中,
## 我们需要根据实际的物理配置以及每个节点上的负载情况来配置这个端口的数量。
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
storm02和strom03主机也是同样的配置。拷贝这台机器的storm包到strom02和strom03主机:
scp -r apache-storm-1.1.1 root@storm02:/usr/local/
scp -r apache-storm-1.1.1 root@storm03:/usr/local/
对于两台supervisor node,我们额外开启JMX支持,在配置文件中加入如下配置:
supervisor.childopts: -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=9998
9998就是用于通过JMX收集supervisior JVM指标的端口。
vi ~/.bash_profile
export STORM_HOME=/usr/local/apache-storm-1.1.1
export PATH=$STORM_HOME/bin:$PATH
source ~/.bash_profile
storm01节点启动nimbus和storm ui
nohup storm ui >/dev/null 2>&1 &
nohup storm nimbus >/dev/null 2>&1 &
nohup storm logviewer >/dev/null 2>&1 &
storm02和storm03主机启动supervisor节点:
nohup storm supervisor >/dev/null 2>&1 &
storm01节点启动storm ui
vi /usr/lib/systemd/system/storm-ui.service
内容如下:
[Unit]
Description=Storm UI
After=network.target remote-fs.target nss-lookup.target
#Before=zookeeper.service
[Service]
#EnvironmentFile=/etc/sysconfig/storm
ExecStart=/usr/local/apache-storm-1.1.1/bin/storm --config /usr/local/apache-storm-1.1.1/conf/storm.yaml ui
Restart=on-failure
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=storm-ui
SyslogLevel=debug
#SyslogLevelPrefix=true
[Install]
WantedBy=multi-user.target
storm01节点启动nimbus
vi /usr/lib/systemd/system/storm-nimbus.service
内容如下:
[Unit]
Description=Storm Nimbus
After=network.target remote-fs.target nss-lookup.target
#Before=zookeeper.service
[Service]
#EnvironmentFile=/etc/sysconfig/storm
ExecStart=/usr/local/apache-storm-1.1.1/bin/storm --config /usr/local/apache-storm-1.1.1/conf/storm.yaml nimbus
Restart=on-failure
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=storm-nimbus
SyslogLevel=debug
#SyslogLevelPrefix=true
[Install]
WantedBy=multi-user.target
storm01 storm02 storm03 节点启动logviewer
vi /usr/lib/systemd/system/storm-logviewer.service
内容如下:
[Unit]
Description=Storm Logviewer
After=network.target
[Service]
#EnvironmentFile=/etc/sysconfig/storm
ExecStart=/usr/local/apache-storm-1.1.1/bin/storm --config /usr/local/apache-storm-1.1.1/conf/storm.yaml logviewer
Restart=on-failure
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=storm-logviewer
SyslogLevel=debug
#SyslogLevelPrefix=true
[Install]
WantedBy=multi-user.target
storm02、storm03节点启动supervisor
vi /usr/lib/systemd/system/storm-supervisor.service
内容如下:
[Unit]
Description=Storm Supervisor
After=network.target remote-fs.target nss-lookup.target
#Before=zookeeper.service
[Service]
#EnvironmentFile=/etc/sysconfig/storm
ExecStart=/usr/local/apache-storm-1.1.1/bin/storm --config /usr/local/apache-storm-1.1.1/conf/storm.yaml supervisor
Restart=on-failure
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=storm-supervisor
SyslogLevel=debug
#SyslogLevelPrefix=true
[Install]
WantedBy=multi-user.target
内容说明:
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:启动、重启、停止命令全部要求使用绝对路径
[Install]服务安装的相关设置,可设置为多用户
启动服务:
systemctl enable storm-ui
systemctl start storm-ui
systemctl enable storm-nimbus
systemctl start storm-nimbus
systemctl enable storm-logviewer
systemctl start storm-logviewer
systemctl enable storm-supervisor
systemctl start storm-supervisor
访问ui页面: http://storm01:8080/
参考:
https://www.cnblogs.com/zhaojiankai/p/7257617.html