<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## 一、集群規劃 這里搭建一個 3 節點的 Storm 集群:三臺主機上均部署 `Supervisor` 和 `LogViewer` 服務。同時為了保證高可用,除了在 hadoop001 上部署主 `Nimbus` 服務外,還在 hadoop002 上部署備用的 `Nimbus` 服務。`Nimbus` 服務由 Zookeeper 集群進行協調管理,如果主 `Nimbus` 不可用,則備用 `Nimbus` 會成為新的主 `Nimbus`。 ![](https://img.kancloud.cn/52/eb/52eb781c30af643ff172cf48bcaf98aa_611x397.png) ## 二、前置條件 Storm 運行依賴于 Java 7+ 和 Python 2.6.6 +,所以需要預先安裝這兩個軟件。同時為了保證高可用,這里我們不采用 Storm 內置的 Zookeeper,而采用外置的 Zookeeper 集群。由于這三個軟件在多個框架中都有依賴,其安裝步驟單獨整理至 : * [Linux 環境下 JDK 安裝](https://github.com/heibaiying/BigData-Notes/blob/master/notes/installation/Linux%E4%B8%8BJDK%E5%AE%89%E8%A3%85.md) * [Linux 環境下 Python 安裝](https://github.com/heibaiying/BigData-Notes/blob/master/notes/installation/Linux%E4%B8%8BPython%E5%AE%89%E8%A3%85.md) * [Zookeeper 單機環境和集群環境搭建](https://github.com/heibaiying/BigData-Notes/blob/master/notes/installation/Zookeeper%E5%8D%95%E6%9C%BA%E7%8E%AF%E5%A2%83%E5%92%8C%E9%9B%86%E7%BE%A4%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA.md) ## 三、集群搭建 ### 1\. 下載并解壓 下載安裝包,之后進行解壓。官方下載地址:[storm.apache.org/downloads.h…](http://storm.apache.org/downloads.html) ~~~ # 解壓 tar -zxvf apache-storm-1.2.2.tar.gz 復制代碼 ~~~ ### 2\. 配置環境變量 ~~~ # vim /etc/profile 復制代碼 ~~~ 添加環境變量: ~~~ export STORM_HOME=/usr/app/apache-storm-1.2.2 export PATH=$STORM_HOME/bin:$PATH 復制代碼 ~~~ 使得配置的環境變量生效: ~~~ # source /etc/profile 復制代碼 ~~~ ### 3\. 集群配置 修改 `${STORM_HOME}/conf/storm.yaml` 文件,配置如下: ~~~ # Zookeeper集群的主機列表 storm.zookeeper.servers: - "hadoop001" - "hadoop002" - "hadoop003" # Nimbus的節點列表 nimbus.seeds: ["hadoop001","hadoop002"] # Nimbus和Supervisor需要使用本地磁盤上來存儲少量狀態(如jar包,配置文件等) storm.local.dir: "/home/storm" # workers進程的端口,每個worker進程會使用一個端口來接收消息 supervisor.slots.ports: - 6700 - 6701 - 6702 - 6703 復制代碼 ~~~ `supervisor.slots.ports` 參數用來配置 workers 進程接收消息的端口,默認每個 supervisor 節點上會啟動 4 個 worker,當然你也可以按照自己的需要和服務器性能進行設置,假設只想啟動 2 個 worker 的話,此處配置 2 個端口即可。 ### 4\. 安裝包分發 將 Storm 的安裝包分發到其他服務器,分發后建議在這兩臺服務器上也配置一下 Storm 的環境變量。 ~~~ 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/ 復制代碼 ~~~ ## 四. 啟動集群 ### 4.1 啟動ZooKeeper集群 分別到三臺服務器上啟動 ZooKeeper 服務: ~~~ zkServer.sh start 復制代碼 ~~~ ### 4.2 啟動Storm集群 因為要啟動多個進程,所以統一采用后臺進程的方式啟動。進入到 `${STORM_HOME}/bin` 目錄下,執行下面的命令: **hadoop001 & hadoop002 :** ~~~ # 啟動主節點 nimbus nohup sh storm nimbus & # 啟動從節點 supervisor nohup sh storm supervisor & # 啟動UI界面 ui nohup sh storm ui & # 啟動日志查看服務 logviewer nohup sh storm logviewer & 復制代碼 ~~~ **hadoop003 :** hadoop003 上只需要啟動 `supervisor` 服務和 `logviewer` 服務: ~~~ # 啟動從節點 supervisor nohup sh storm supervisor & # 啟動日志查看服務 logviewer nohup sh storm logviewer & 復制代碼 ~~~ ### 4.3 查看集群 使用 `jps` 查看進程,三臺服務器的進程應該分別如下: ![](https://img.kancloud.cn/32/18/321840e9f11e189f72f65d65aa7d2d87_715x109.png) 訪問 hadoop001 或 hadoop002 的 `8080` 端口,界面如下。可以看到有一主一備 2 個 `Nimbus` 和 3 個 `Supervisor`,并且每個 `Supervisor` 有四個 `slots`,即四個可用的 `worker` 進程,此時代表集群已經搭建成功。 ![](https://img.kancloud.cn/f4/05/f4051db2f480917f84974dd335a2b6fb_1039x675.png) ## 五、高可用驗證 這里手動模擬主 `Nimbus` 異常的情況,在 hadoop001 上使用 `kill` 命令殺死 `Nimbus` 的線程,此時可以看到 hadoop001 上的 `Nimbus` 已經處于 `offline` 狀態,而 hadoop002 上的 `Nimbus` 則成為新的 `Leader`。 ![](https://img.kancloud.cn/3e/86/3e86327fbafd6dd592d957c8e48005f7_1012x297.png) 作者:heibaiying 鏈接:https://juejin.cn/post/6844903950034944007 來源:掘金 著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看