1. 程式人生 > >Storm叢集安裝配置詳細方法

Storm叢集安裝配置詳細方法

Storm-0.10.0 叢集安裝和配置

        最近要做畢業設計,需要用到storm流式計算架構,工欲善其事必先利其器,第一步當然是配置環境,借鑑師姐的總結加上自己在實戰中的理解,總結出此步驟,如果有錯誤和遺漏請通過 [email protected] 交流指正,謝謝!

1. 所需的安裝包和版本

安裝在home的storm下,路徑均為 /home/qj/storm/

2.     建立Ubuntu14.04 LTS虛擬機器

虛擬機器OS:ubuntu-14.04.2-desktop-amd64

(下載地址:http://www.ubuntu.com/download/desktop)

磁碟:100G

記憶體:2G

CPU:2個

選擇的是第二種安裝方式,自動安裝vmwaretools,比較簡單

如果需要自動分割槽應該選擇第三個



(1)   啟用root賬戶

Ubuntu14.04安裝完成後,系統預設的Root賬號是關閉的。這主要是為了保護系統的安全性,但有些時候為了安裝軟體或進行其它操作時需要獲得root許可權,就得使用root賬號

命令:

sudopasswd root

若要切換到root:  sudo root

若要退出到一般使用者:su使用者名稱

(2)   安裝搜狗中文輸入法

sudoapt-get install aptitude

sudoaptitude install fcitx

安裝後右上角system settings  -->  Language Support -->  輸入密碼後安裝元件 --> 最下面選擇fcitx --> 登出

右上角出現鍵盤標誌  

進入瀏覽器,下載搜狗Linux版,雙擊.deb檔案,輸入密碼安裝,登出,點選鍵盤標誌,出現搜狗即為成功

3.     叢集節點

配置七臺主機:1臺nimbus主節點、3臺supervisor工作節點、3臺zookeeper叢集節點。注意,ip地址應該按照自己的需求修改,在原來的網段,只要沒有被佔用,就可以設定,查詢命令:nm-tool

主機名(節點)

IP地址

記憶體

(GB)

VCPU

()

硬碟(GB)

節點執行程序

Nimbus

192.168.200.21

2

2

100

Nimbus、DRPC

Supervisor1

192.168.200.22

2

2

100

Supervisor、Worker

Supervisor2

192.168.200.23

2

2

100

Supervisor、Worker

Supervisor3

192.168.200.24

2

2

100

Supervisor、Worker

Zookeeper1

192.168.200.25

2

2

100

Leader/Follower

Zookeeper2

192.168.200.26

2

2

100

Follower/ Leader

Zookeeper3

192.168.200.27

2

2

100

Follower/ Leader(zookeeper叢集中只有一個Leader)

克隆七臺主機,修改每臺主機的主機名、hosts檔案,為每臺主機配置靜態IP地址、設定SSH免祕鑰登入,

(1)   修改主機名字

七臺分別為:nimbus、supervisor1~supervisor3、zookeeper1~zookeeper3。

hostname     //檢視主機名

sudo vi /etc/hostname

linux vi操作:x 刪除原來的主機名, 點insert 輸入新主機名, esc 之後,:wq

儲存之後退出

修改完之後需要登出,否則hosts檔案無法開啟

(2)   配置hosts

sudo gedit /etc/hosts

127.0.0.1         localhost

#127.0.1.1       nimbus

192.168.200.21  nimbus

192.168.200.22 supervisor1

192.168.200.23 supervisor2

192.168.200.24 supervisor3

192.168.200.25 zookeeper1

192.168.200.26 zookeeper2

192.168.200.27 zookeeper3

# The following lines are desirable for IPv6 capable hosts

::1     ip6-localhostip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

注意不要忘了第二行的#,註釋掉一個地址

(3)   配置網路

點edit connections

 

          配置之後有可能不能馬上上網,可以嘗試重啟,或者重連,等待片刻   

(4)   ssh無密碼登陸

         Storm叢集內節點間傳送命令時需要通過ssh進行傳送,使用者不希望每傳送一次命令就輸入一次密碼,因此需要實現節點間的SSH免祕鑰登入。

$ sudo apt-get install ssh

ssh-keygen –t rsa  // 一路回車就闊以了

第一次時:

scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/authorized_keys

後面:

scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/nim_key  //nim_key是新建的檔案,之後追加到authorized_keys

cat ~/.ssh/nim_key >> ~/.ssh/authorized_keys

A若想無密碼訪問B,就需要把公鑰傳送給B,B把A發來的公鑰新增到自己的授權檔案裡。

有時會出現ssh登入不上的問題,這裡有幾種解決方案可供參考:

①        檢視叢集節點的IP地址是否有衝突

本人在實驗室伺服器上為自己的Storm叢集虛擬機器配置靜態IP地址時,沒有詢問其他人IP地址的佔用情況,結果導致個人叢集某節點的IP地址與其他機器衝突。修改後正常登陸ssh

②        關閉Ubuntu14.04的防火牆

[email protected]:~# sudo ufw disable

防火牆在系統啟動時自動禁用

③        Ubuntu系統上安裝、啟動sshd服務

sudo apt-get install openssh-server

sudo /etc/init.d/ssh restart 

④        ssh還不能登入上,就修改sshd的預設配置,即ssh出現permission denied (publickey)問題:

修改/etc/ssh/sshd-config檔案,將其中的PermitRootLogin no修改為yes,PubkeyAuthenticationyes修改為no,AuthorizedKeysFile .ssh/authorized_keys前面加上#遮蔽掉,PasswordAuthenticationno修改為yes就可以了。

(5)   安裝JDK

下載jdk1.7.0壓縮包到虛擬機器的/home/storm資料夾下,jdk下載官網:http://www.oracle.com/technetwork/java/javase/downloads/index.html;這裡下載jdk-1.7.0_80(http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u80-oth-JPR)

找到壓縮包所在目錄

tar –zxvf jdk-7u80-linux-x64.tar.gz

sudo gedit /etc/profile         //編輯profile檔案

if [ -d /etc/profile.d ]; then

  for i in/etc/profile.d/*.sh; do

    if [ -r $i ]; then

      . $i

    fi

  done

  # Java Environment Path

  export JAVA_HOME=/home/qj/storm/jdk1.7.0_80

  export PATH=$PATH:$JAVA_HOME/bin

  unset i

fi

然後,使/etc/profile 檔案生效,在終端輸入:

        source/etc/profile

最後,在終端使用java –version命令測試Java是否可以正常執行,如輸出JDK的版本資訊,則安裝成功。

4.     搭建zookeeper叢集

Zookeeper是針對分散式應用的高效能協調服務,是高效可靠的協同工作系統,提供的功能包括配置維護、名字服務、分散式同步、組服務等。在IP地址為192.168.1.75~77的3臺主機上搭建zookeeper-3.4.6叢集,zookeeper官網:http://zookeeper.apache.org/。

首先,先部署zookeeper叢集的第一個節點,部署完成後將zookeeper檔案和config配置檔案拷貝到其他zookeeper叢集節點即可(保持一致)。

(1)  單節點下載及安裝zookeeper

在終端進入storm使用者,輸入Linux命令:

cd/home/storm                //進入/home/storm資料夾

wgethttp://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz                          //線上下載zookeeper

tar–zxvf zookeeper-3.4.6.tar.gz        //解壓檔案到當前目錄

(2)配置zoo.cfg檔案

  到zookeeper目錄下 sudo gedit conf/zoo.cfg

內容如下:

tickTime=2000

dataDir=/home/qj/storm/zookeeper-3.4.6/data

dateLogDir=/home/qj/storm/zookeeper-3.4.6/logs

clientPort=2181

initLimit=5

syncLimit=2

server.1=zookeeper1:2888:3888

server.2=zookeeper2:2888:3888

server.3=zookeeper3:2888:3888

其中,dataDir指定Zookeeper的資料檔案目錄;其中server.id=host:port:port,id是為每個Zookeeper節點的編號,儲存在dataDir目錄下的myid檔案中,zoo1~zoo3表示各個Zookeeper節點的hostname,第一個port是用於連線leader的埠,第二個port是用於leader選舉的埠。

(3)新建data和logs資料夾

    mkdir /home/qj/storm/zookeeper-3.4.6/data

     mkdir /home/qj/storm/zookeeper-3.4.6/logs

         (4)修改profile檔案,新增系統環境變數

sudo gedit /etc/profile

  # Java Environment Path

  export JAVA_HOME=/home/qj/storm/jdk1.7.0_80

  export ZK_HOME=/home/qj/storm/zookeeper-3.4.6

  export PATH=$PATH:$JAVA_HOME/bin:$ZK_HOME/bin

source/etc/profile      //使profile檔案生效

                 完成以上3步之後,將zookeeper檔案和/etc/config配置檔案scp到其他zookeeper叢集節點(保持一致)。

叢集模式下,需要在datadir配置項的目錄下建立一個myid檔案,myid檔案的編碼格式為ANSI。myid檔案中寫入的內容是一個數字,該數字和server.x中的x數字相對應,Zookeeper啟動時會讀取myid檔案。

touch /home/qj/storm/zookeeper-3.4.6/data/myid

echo 1 > /home/qj/storm/zookeeper-3.4.6/data/myid

測試是否安裝成功:

在目錄下:bin/zkServer.sh start (三個都需要啟動)

檢視狀態bin/zkServer.sh status


關閉zookeeper服務

bin/zkServer.sh stop

5.     安裝Storm依賴庫

(1)   安裝Zeromq-2.1.7

//下載安裝包

wgethttp://download.zeromq.org/zeromq-2.1.7.tar.gz

// 解壓縮包

tar –zxvf zeromq-2.1.7.tar.gz

//進入壓縮包目錄

cd zeromq-2.1.7

然後進行編譯、安裝,命令如下:

./configure                           //用來檢測安裝平臺的目標特徵

碰到問題:

Q1:configure: error: Unable to find a workingC++ compiler

             solution:安裝C++/C編譯器,命令:

sudo apt-get install g++;

sudo apt-get install gcc;

Q2:configure: error: cannot link with-luuid, install uuid-dev.

 

solution:sudo apt-get install uuid-dev會出現上圖問題,

要先:sudo apt-get update 如果還不行,就重啟!!

sudomake     //用來編譯,它從Makefile中讀取指令,然後編譯。

sudomake install      //用來安裝,它從Makefile中讀取指令,安裝到指定目錄

(2)   安裝JZMQ

//安裝git

sudoapt-get install git

//下載jzmq包

gitclone https://github.com/nathanmarz/jzmq.git

//進入jzmq安裝包

cdjzmq

然後進行編譯、安裝,命令如下:

命令:./autogen.sh

./configure

注意:

②                為了保證jzmq正常工作,一般需要先完成java的安裝及配置;

②        在執行指令碼./autogen.sh時,碰到問題:

Q1:autogen.sh:error: could not find libtool. libtool is required to run autogen.sh.

solution:  sudo apt-get install libtool

Q2:autogen.sh:error: could not find autoreconf. autoconf and automake are required to runautogen.sh.

solution:sudoapt-get install autoreconf*

命令:sudo make

③        在編譯的過程中,可能會出現以下問題:

Q1:[email protected]:~/jzmq$make

Makingall in src

make[1]:Entering directory `/home/storm/jzmq/src'

make[1]:*** No rule to make target `classdist_noinst.stamp', needed by`org/zeromq/ZMQ.class'.  Stop.

make[1]:Leaving directory `/home/storm/jzmq/src'

make:*** [all-recursive] Error 1

solution:

需要touch “classdist_noinst.stamp”,命令如下:

touchsrc/classdist_noinst.stamp

Q2:$make

...

make[1]:*** No rule to make target `org/zeromq/ZMQException.class, needed by`all'.  Stop.

make:*** [all-recursive] Error 1

        solution:

        編譯class,命令如下:

         $ cd src/org/zeromq/

$javac  *.java

$cd ..

$sudomake

...  success!

命令:sudo make install

(3)   安裝Python-2.7.10

//下載python-2.17.10

wgethttps://www.python.org/downloads/release/python-2710/Python-2.7.10.tgz

        //編譯安裝Python-2.7.10

       $ tar –zxvf Python-2.7.10.tgz

       $ cd Python-2.7.10

       $ ./configure

       $ make

       $ sudo make install

       //測試

       $ python -V

(4)   安裝unzip

執行命令安裝unzip:

$sudo apt-get install unzip

6.     安裝Storm發行版

需要在Nimbus和Supervisor節點上安裝Storm發行版

(1)  下載Storm-0.10.0

 $ wgethttp://mirror.bit.edu.cn/apache/storm/apache-storm-0.10.0/apache-storm-0.10.0.tar.gz

(2)  解壓到安裝目錄/home/storm

$tar –zxvf apache-storm-0.10.0.tar.gz

$mv apache-storm-0.10.0 storm-0.10.0    //修改檔名 mv [原檔名] [修改後檔名]

7.     配置storm.yaml檔案

Storm發行版本解壓目錄下有一個conf/storm.yaml檔案,用於配置Storm。conf/storm.yaml中的配置選項將覆蓋defaults.yaml中的預設配置。以下配置選項是必須在conf/storm.yaml中進行配置的:

gedit/home/qj/storm/storm-0.10.0/conf/storm.yaml

########### These MUST be filled infor a storm configuration

storm.zookeeper.servers:

  - "192.168.200.25"

  - "192.168.200.26"

  - "192.168.200.27"

nimbus.host:"192.168.200.21"

storm.local.dir:"/home/qj/storm/storm-0.10.0/workdir"

supervisor.slots.ports:

  - 6700

  - 6701

  - 6702

  - 6703

# ##### These may optionally befilled in:

#   

## List of custom serializations

# topology.kryo.register:

#     - org.mycompany.MyType

#     - org.mycompany.MyType2:org.mycompany.MyType2Serializer

#

## List of custom kryo decorators

# topology.kryo.decorators:

#     - org.mycompany.MyDecorator

#

## Locations of the drpc servers

drpc.servers:

 - "192.168.200.21"

8.     啟動Storm各個守護程序

(1)       先開啟zookeeper服務

(2)       然後分別在nimbus節點和supervisor節點開啟後臺守護程序

①       nimbus節點啟動:nimbus、drpc、ui

②        supervisor節點啟動:supervisor

然後,開啟瀏覽器,輸入預設的Storm UI 網址(nimbus:8080)。若可以看到Storm UI介面(如下),storm叢集安裝成功。

 

至此,Storm-0.10.0叢集的安裝與部署工作完成!如果開七臺虛擬機器太卡的話,可以將zookeeper配置在supervisor上,注意zoo.cfg、storm.yaml的正確配置即可!

常見的問題和解決:

(1)   在檢視zookeeper狀態時bin/zkServer.sh status 

如果出現報錯Error contacting service. It is probably not run,那麼可能是zoo.cfg配置出錯,請認真檢查

(2)   啟動nimbus 時報錯

可能是storm.yaml配置,注意認真檢查

(3)   開啟UI報錯

重新啟動nimbus服務

(4)   虛擬機器強制關閉,出現cannot find a valid peer process toconnect to

可以刪掉 虛擬機器目錄下面的 ".vmss" 檔案,然後重啟。

相關推薦

Storm叢集安裝配置詳細方法

Storm-0.10.0 叢集安裝和配置         最近要做畢業設計,需要用到storm流式計算架構,工欲善其事必先利其器,第一步當然是配置環境,借鑑師姐的總結加上自己在實戰中的理解,總結出此步驟,如果有錯誤和遺漏請通過 [email protected

storm叢集安裝配置

1:首先安裝zookeeper叢集 2:安裝storm: tar -zxvf apache-storm-1.2.2.tar.gz -C /usr/local sudo mv apache-storm-1.2.2 storm 3:更改conf目錄下storm.yarml配

Apache Storm 官方文件 —— Storm 叢集安裝配置

原文連結    譯者:魏勇 本文詳細介紹了 Storm 叢集的安裝配置方法。如果需要在 AWS 上安裝 Storm,你應該先了解一下 storm-deploy 專案。storm-deploy 可以自動完成 E2 上 Storm 叢集的準備、配置、安裝的全部過程,同時還設定好了 Ganglia,

hadoop 三節點叢集安裝配置詳細例項

2012-05-23 作者:周海漢 網址:http://abloz.com 日期:2012.5.23 topo節點: 192.168.10.46 Hadoop46 192.168.10.47 Hadoop47 192.168.

DKhadoop安裝配置詳細教程與常見問題解決方法

DKhadoop安裝配置詳細教程與常見問題解決方法上週分別就DKHadoop的安裝準備工作以及伺服器作業系統配置寫了兩篇分享的文章,這是個人第一次嘗試寫一個系統性的分享文章,必然會有很多疏漏的地方,還望見諒吧。今天分享的是DKHadoop安裝以及常見問題的解決方案方法介紹。首先給大家分享一下DKHadoop安

從VMware虛擬機器安裝到hadoop叢集環境配置詳細說明

虛擬機器安裝 我安裝的虛擬機器版本是VMware Workstation 8.04,自己電腦上安裝的有的話直接在虛擬機器安裝Linux作業系統,沒有的話這裡有我的一個百度雲網盤虛擬機器安裝共享檔案 虛擬機器的具體安裝不再詳細說明了。   Linux作業系統安裝除錯   

Storm叢集安裝部署步驟【詳細版】

作者: 大圓那些事 | 文章可以轉載,請以超連結形式標明文章原始出處和作者資訊 本文以Twitter Storm官方Wiki為基礎,詳細描述如何快速搭建一個Storm叢集,其中,專案實踐中遇到的問題及經驗總結,在相應章節以“注意事項”的形式給出。 1. Storm叢集元

Hbase叢集安裝配置及常見問題解決方法

Hbase介紹 HBASE是一個高可靠性、高效能、面向列、可伸縮的分散式儲存系統,利用HBASE技術可在廉價PC Server上搭建起大規模結構化儲存叢集。 HBASE的目標是儲存並處理大型的資料,更具體來說是僅需使用普通的硬體配置,就能夠處理由成千上萬的行和列所組成的大型

vsftpd 安裝配置詳細教程

ota 復制 名稱 客戶端連接 conf ice cal ftp服務器 cannot linux下ftp軟件不少,大致特點:<br /> wu-ftp:比較老牌,但針對它的攻擊比較多,設置比較麻煩,但功能比較強大。<br /> vsftpd:功能強大

ETCD叢集安裝配置及簡單應用

環境配置 CentOS Linux release 7.3.1611 (Core)  etcd-v3.2.6 192.168.108.128 節點1 192.168.108.129 節點2 192.168.108.130 節點3 ETCD

linux redis最新官方叢集安裝配置教程

Redis叢集介紹 Redis 叢集是一個提供在多個Redis間節點間共享資料的程式集。 Redis叢集並不支援處理多個keys的命令,因為這需要在不同的節點間移動資料,從而達不到像Redis那樣的效能,在高負載的情況下可能會導致不可預料的錯誤. Redis 叢集通過分割槽來提

Elk叢集安裝+配置(Elasticsearch+Logstash+Filebeat+Kafka+Kibana)

一、部署環境 1.基礎環境: 軟體 版本 作用 Linux Centos7.1,16g Jdk 1.8.0_151

redis叢集安裝配置(linux)

使用redis做快取工具 系統高可用需要redis做主備,使用redis做分片叢集,向業務邏輯中新增快取 安裝redis單機版 1.下載redis2.*.*以上版本(之前版本不支援叢集) 2.複製到linux目錄  /usr/redis  中 3.解

storm叢集安裝步驟

一、環境準備 storm官方地址:http://storm.apache.org/index.html 下載 http://storm.apache.org/downloads.html 本文版本(apache-storm-1.1.1.tar.gz)

OpenCV3.4.2+VS2015安裝配置詳細過程

環境配置 本文是OpenCV3.4.2 在VS2015下的配置過程,用的是WIN10系統 基於opencv的配置有兩種 一是靜態的配置   二是用CMake的動態連結庫配置   OpenCV3.4.2官方下載  8月29日已更新至3.4.2版

Android Studio安裝配置(詳細版)

Android studio安裝配置(相關介紹) 一. 前景介紹: 在開發Android程式之前,首先要在系統中搭建開發環境。Google公司已經發出聲明,到2015年年底不再對Ecplise提供支援服務,Android Studio將全面取代Ecplise。

Hadoop叢集安裝配置

Hadoop的安裝分為單機方式、偽分散式方式 和 完全分散式方式。 單機模式 : Hadoop的預設模式。當首次解壓Hadoop的原始碼包時,Hadoop無法瞭解硬體安裝環境,便保守地選擇了最小配置。在這種預設模式下所有3個XML檔案均為空。當配置檔案為空時,Hadoop會完全執行在本地

nginx+tomcat叢集安裝配置

1、部署兩個tomcat伺服器,如果在同一臺虛擬機器上,則需要修改其中一臺tomcat的shutdown埠、http聯結器埠、ajp聯結器埠,然後部署應用,啟動tomcat,瀏覽器檢視,是否都可以訪問 我的兩臺服務如下: 119.254.166.236 8080 119.254.166

VMware虛擬機器中安裝 Androidx86 4 4 R5安裝配置詳細圖文教程

                Android的PC版有個官網:http://www.android-x86.org/首先進去挑一個版本,我挑選的是Android-x86 4.4-r5 (KitKat-x86) 2016/02/06先看下載連結。教程在後面。下載頁:https://sourceforge.ne

hbase 叢集安裝配置

2012-06-07 http://abloz.com date:2012.6.7 有了hadoop叢集安裝的經驗,hbase的安裝還是比較簡單的。 拓撲還是同hadoop一樣,HBase Master為hadoop48,