diff --git a/notes/installation/Storm集群环境搭建.md b/notes/installation/Storm集群环境搭建.md index 1a32435..fb562e0 100644 --- a/notes/installation/Storm集群环境搭建.md +++ b/notes/installation/Storm集群环境搭建.md @@ -2,7 +2,7 @@ + + ## 一、集群规划 -这里我们采用三台服务器搭建一个Storm集群,集群由一个1个Nimbus和3个Supervisor组成,因为只有三台服务器,所以hadoop001上既为Nimbus节点,也为Supervisor节点。 +这里搭建一个3节点的Storm集群:三台主机上均部署`Supervisor`和`LogViewer`服务。同时为了保证高可用,除了在hadoop001上部署主`Nimbus`服务外,还在hadoop002上部署备用的`Nimbus`服务。`Nimbus`服务由Zookeeper集群进行协调管理,如果主`Nimbus`不可用,则备用`Nimbus`会成为新的主`Nimbus`。
-## 二、环境要求 +## 二、前置条件 Storm 运行依赖于Java 7+ 和 Python 2.6.6 +,所以需要预先安装这两个软件。同时为了保证高可用,这里我们不采用Storm内置的Zookeeper,而采用外置的Zookeeper集群。由于这三个软件在多个框架中都有依赖,其安装步骤单独整理至 : @@ -78,7 +81,7 @@ storm.zookeeper.servers: - "hadoop003" # Nimbus的节点列表 -nimbus.seeds: ["hadoop001"] +nimbus.seeds: ["hadoop001","hadoop002"] # Nimbus和Supervisor需要使用本地磁盘上来存储少量状态(如jar包,配置文件等) storm.local.dir: "/home/storm" @@ -118,9 +121,7 @@ scp -r /usr/app/apache-storm-1.2.2/ root@hadoop003:/usr/app/ 因为要启动多个进程,所以统一采用后台进程的方式启动。进入到`${STORM_HOME}/bin`目录下,执行下面的命令: -**hadoop001 :** - -因为hadoop001是`nimbus`节点,所以需要启动`nimbus`服务和`ui`服务;同时hadoop001也是`supervisor`节点,所以需要启动`supervisor`服务和`logviewer`服务: +**hadoop001 & hadoop002 :** ```shell # 启动主节点 nimbus @@ -133,9 +134,9 @@ nohup sh storm ui & nohup sh storm logviewer & ``` -**hadoop002 & hadoop003 :** +**hadoop003 : ** -hadoop002和hadoop003都只需要启动`supervisor`服务和`logviewer`服务: +hadoop003上只需要启动`supervisor`服务和`logviewer`服务: ```shell # 启动从节点 supervisor @@ -154,6 +155,14 @@ nohup sh storm logviewer & -访问hadoop001的`8080`端口,界面应如下图,可以看到有1个`Nimbus`和3个`Supervisor`,并且每个`Supervisor`有四个`slots`,即四个可用的`worker`进程,此时代表集群已经搭建成功。 +访问hadoop001或hadoop002的`8080`端口,界面如下。可以看到有一主一备2个`Nimbus`和3个`Supervisor`,并且每个`Supervisor`有四个`slots`,即四个可用的`worker`进程,此时代表集群已经搭建成功。 -
+
+ + + +## 五、高可用验证 + +这里手动模拟主`Nimbus`异常的情况,在hadoop001上使用`kill`命令杀死`Nimbus`的线程,此时可以看到hadoop001上的`Nimbus`已经处于`offline`状态,而hadoop002上的`Nimbus`则成为新的`Leader`。 + +
\ No newline at end of file diff --git a/pictures/storm-集群-shell.png b/pictures/storm-集群-shell.png index 457b159..da27390 100644 Binary files a/pictures/storm-集群-shell.png and b/pictures/storm-集群-shell.png differ diff --git a/pictures/storm-集群搭建1.png b/pictures/storm-集群搭建1.png new file mode 100644 index 0000000..6c966b9 Binary files /dev/null and b/pictures/storm-集群搭建1.png differ diff --git a/pictures/storm-集群规划.png b/pictures/storm-集群规划.png index 65e85df..80a315b 100644 Binary files a/pictures/storm-集群规划.png and b/pictures/storm-集群规划.png differ diff --git a/pictures/storm集群搭建2.png b/pictures/storm集群搭建2.png new file mode 100644 index 0000000..a2923d7 Binary files /dev/null and b/pictures/storm集群搭建2.png differ