This commit is contained in:
luoxiang
2019-05-30 23:30:32 +08:00
parent f6a38a059e
commit b2a53fa493
8 changed files with 245 additions and 50 deletions

View File

@ -46,7 +46,7 @@ export PATH=$STORM_HOME/bin:$PATH
### 4. 启动相关进程
因为要启动多个进程,所以统一采用后台进程的方式启动,采用后台启动时需要进入到`${STORM_HOME}/bin`目录下,命令如下
因为要启动多个进程,所以统一采用后台进程的方式启动进入到`${STORM_HOME}/bin`目录下,依次执行下面的命令:
```shell
# 启动zookeeper

View File

@ -0,0 +1,139 @@
# Storm集群环境搭建
<nav>
<a href="#一集群规划">一、集群规划</a><br/>
<a href="#二环境要求">二、环境要求</a><br/>
<a href="#三安装步骤">三、安装步骤</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#1-下载并解压">1. 下载并解压</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#2-配置环境变量">2. 配置环境变量</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#3-集群配置">3. 集群配置</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#4-启动服务">4. 启动服务</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#5-查看进程">5. 查看进程</a><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#6-查看Web-UI界面">6. 查看Web-UI界面</a><br/>
</nav>
## 一、集群规划
这里我们采用三台服务器搭建一个Storm集群集群由一个1个Nimbus和3个Supervisor组成因为只有三台服务器所以hadoop001上既为Nimbus节点也为Supervisor节点。
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/storm-集群规划.png"/> </div>
## 二、环境要求
Storm 运行依赖于Java 7+ 和 Python 2.6.6 +所以需要预先安装这两个软件。同时为了保证高可用这里我们不采用Storm内置的Zookeeper而采用外置的Zookeeper集群。由于这三个软件在多个框架中都有依赖其安装步骤单独整理至
- [Linux环境下JDK安装](https://github.com/heibaiying/BigData-Notes/blob/master/notes/installation/Linux下JDK安装.md)
- [Linux环境下Python安装](https://github.com/heibaiying/BigData-Notes/blob/master/notes/installation/Linux下Python安装.md)
+ [Zookeeper单机环境和集群环境搭建](https://github.com/heibaiying/BigData-Notes/blob/master/notes/installation/Zookeeper单机环境和集群环境搭建.md)
## 三、安装步骤
### 1. 下载并解压
下载安装包使用scp命令分发到三台服务器上之后进行解压。官方下载地址http://storm.apache.org/downloads.html
```shell
# 解压
tar -zxvf apache-storm-1.2.2.tar.gz
# 分发
scp -r /usr/app/apache-storm-1.2.2/ root@hadoop002:/usr/app/
scp -r /usr/app/apache-storm-1.2.2/ root@hadoop003:/usr/app/
```
### 2. 配置环境变量
为了方便,三台服务器均配置一下环境变量:
```shell
# vim /etc/profile
```
添加环境变量:
```shell
export STORM_HOME=/usr/app/apache-storm-1.2.2
export PATH=$STORM_HOME/bin:$PATH
```
使得配置的环境变量生效:
```shell
# source /etc/profile
```
### 3. 集群配置
修改每台服务器上的`${STORM_HOME}/conf/storm.yaml`文件,配置均如下:
```yaml
# Zookeeper集群的主机列表
storm.zookeeper.servers:
- "hadoop001"
- "hadoop002"
- "hadoop003"
# Nimbus的节点列表
nimbus.seeds: ["hadoop001"]
# Nimbus和Supervisor需要使用本地磁盘上来存储少量状态如jar包配置文件等
storm.local.dir: "/usr/local/tmp/storm"
# workers进程的端口每个worker进程会使用一个端口来接收消息
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
```
`supervisor.slots.ports`参数用来配置workers进程接收消息的端口默认每个supervisor节点上会启动4个worker当然你也可以按照自己的需要和服务器性能进行设置假设只想启动2个worker的话此处配置2个端口即可。
### 4. 启动服务
先启动Zookeeper集群之后再启动Storm集群。因为要启动多个进程所以统一采用后台进程的方式启动进入到`${STORM_HOME}/bin`目录下,依次执行下面的命令:
**hadoop001**
因为hadoop001是nimbus节点所以需要启动nimbus服务和ui服务同时hadoop001也是supervisor节点所以需要启动supervisor服务和logviewer服务
```shell
# 启动主节点 nimbus
nohup sh storm nimbus &
# 启动从节点 supervisor
nohup sh storm supervisor &
# 启动UI界面 ui
nohup sh storm ui &
# 启动日志查看服务 logviewer
nohup sh storm logviewer &
```
**hadoop002 & hadoop003**
hadoop002和hadoop003都只需要启动supervisor服务和logviewer服务
```shell
# 启动从节点 supervisor
nohup sh storm supervisor &
# 启动日志查看服务 logviewer
nohup sh storm logviewer &
```
### 5. 查看进程
使用`jps`查看进程,三台服务器的进程应该分别如下:
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/storm-集群-shell.png"/> </div>
### 6. 查看Web-UI界面
访问hadoop001的8080端口界面应如下图可以看到有1个Nimbus和3个Supervisor并且每个Supervisor有四个slots即四个可用的worker进程此时代表集群已经搭建成功。
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/storm集群.png"/> </div>