天天看點

hadoop +hbase +zookeeper 完全分布搭建 (版本一)一.重新編譯  二.hadoop + hbase +zookeeper 環境搭建

hadoop2.0已經釋出了穩定版本了,增加了很多特性,比如hdfs ha、yarn等。最新的hadoop-2.6.0又增加了yarn ha

注意:apache提供的hadoop-2.6.0的安裝包是在32位作業系統編譯的,因為hadoop依賴一些c++的本地庫,

是以如果在64位的操作上安裝hadoop-2.6.0就需要重新在64作業系統上重新編譯

原因是hadoop-2.6.0.tar.gz安裝包是在32位機器上編譯的,64位的機器加載本地庫.so檔案時出錯,不影響使用。

解決:

1、重新編譯源碼後将新的lib/native替換到叢集中原來的lib/native

2、修改hadoop-env.sh ,增加

需要進行編譯準備工作:

0.安裝jdk,使用 java -version  檢視jdk版本,确定jdk版本是64位。

a. 解壓jdk

$ tar -xvzf jdk-7u60-linux-x64.tar.gz

b. 設定環境變量  vim   /etc/profile

export java_home=/usr/local/jdk1.7 export hadoop_home=/usr/local/hadoop-2.6.0 

export maven_home=/opt/apache-maven 

export findbug_home=/opt/findbugs-3.0.0 

export ant_home=/opt/apache-ant-1.9.4 

export path=$path:$java_home/bin:$hadoop_home/sbin:$hadoop_home/bin

:$maven_home/bin:$findbug_home/bin:$ant_home/bin (備注:不能換行)

c.使配置檔案生效

$ source /etc/profile

1.安裝gcc|gc++  

yum install gcc   

yum install gcc-c++

  驗證

2.安裝apache-maven。

tar -zxvf apache-maven-3.2.1.tar.gz

配置環境變量  vim  /etc/profile  

export maven_home=/opt/apache-maven

export path=.:path:$maven_home/bin

驗證: mvn --version

3.安裝apache-ant(重要).

tar -zxvf  apache-ant-1.9.4-bin.tar.gz

配置環境變量  vim   /etc/profile

export path=$path:$maven_home/bin

3.安裝protobuf(goole序列化工具)

tar -zxvf protobuf-2.5.0.tar.gz

./configuration 

make  #編譯

make install

驗證:protoc --version

4.安裝cmake2.6  or newer

安裝 yum install cmake

安裝 yum install openssl-devel

安裝 yum install ncurses-devel

驗證:cmake --version

5.安裝make

yum install make

驗證: make --version

6.hadoop - hadoop-common-project中的pom.xml添加依賴(hadoop-2.2.0需要修改,hadoop2.6.0版本不需要)

<dependency>

<groupid>org.mortbay.jetty</groupid>

<artifactid>jetty-util</artifactid>

<scope>test</scope>

</dependency>

7.在編譯之前防止 java.lang.outofmemoryerror: java heap space   堆棧問題,在centos系統中執行指令:

$ export maven_opts="-xms256m -xmx512m"

8.解壓壓縮包

tar -zxvf hadoop-2.6.0-src.tar.gz 

a.執行指令  cd  ${hostname_local}/hadoop-2.6.0/  目錄下

b.編譯

mvn package -dskiptests -pdist,native

c.編譯好的項目放在

 hadoop-2.6.0-src/hadoop-dist/target目錄下。

/root/downloads/hadoop-2.6.0-src/hadoop-dist/target

即  hadoop-2.6.0就是編譯好的包。

=====================================================================

編譯日志:

[info] --- maven-jar-plugin:2.3.1:jar (default-jar)

@ hadoop-dist --- [warning] jar will be empty - no content was marked for inclusion! 

[info] building jar: /root/downloads/hadoop-2.6.0-src/hadoop-dist/target/hadoop-dist-2.6.0.jar [info] 

[info] --- maven-source-plugin:2.1.2:jar-no-fork (hadoop-java-sources) @ hadoop-dist --- 

[info] no sources in project. archive not created. [info] 

[info] --- maven-source-plugin:2.1.2:test-jar-no-fork (hadoop-java-sources) @ hadoop-dist --- 

[info] --- maven-site-plugin:3.3:attach-descriptor (attach-descriptor) @ hadoop-dist --- [info] 

[info] --- maven-antrun-plugin:1.7:run (tar) @ hadoop-dist ---

[info] executing tasks main: [info] executed tasks [info] 

[info] --- maven-javadoc-plugin:2.8.1:jar (module-javadocs) @ hadoop-dist --- 

[info] building jar: /root/downloads/hadoop-2.6.0-src/hadoop-dist/target/hadoop-dist-2.6.0-javadoc.jar 

[info] ------------------------------------------------------------------------ 

[info] reactor summary: [info] [info] apache hadoop main ................................. success [ 13.582 s] 

[info] apache hadoop project pom .......................... success [ 9.846 s] 

[info] apache hadoop annotations .......................... success [ 24.408 s]

[info] apache hadoop assemblies ........................... success [ 1.967 s] 

[info] apache hadoop project dist pom ..................... success [ 6.443 s] 

[info] apache hadoop maven plugins ........................ success [ 20.692 s] 

[info] apache hadoop minikdc .............................. success [ 14.250 s] 

[info] apache hadoop auth ................................. success [ 23.716 s] 

[info] apache hadoop auth examples ........................ success [ 13.714 s] 

[info] apache hadoop common ............................... success [08:46 min] 

[info] apache hadoop nfs .................................. success [ 47.127 s] 

[info] apache hadoop kms .................................. success [ 48.790 s] 

[info] apache hadoop common project ....................... success [ 0.316 s] 

[info] apache hadoop hdfs ................................. success [14:58 min] 

[info] apache hadoop httpfs ............................... success [11:10 min] 

[info] apache hadoop hdfs bookkeeper journal .............. success [01:43 min] 

[info] apache hadoop hdfs-nfs ............................. success [ 27.438 s] 

[info] apache hadoop hdfs project ......................... success [ 0.146 s] 

[info] hadoop-yarn ........................................ success [ 0.165 s] 

[info] hadoop-yarn-api .................................... success [07:03 min] 

[info] hadoop-yarn-common ................................. success [03:31 min] 

[info] hadoop-yarn-server ................................. success [ 0.827 s] 

[info] hadoop-yarn-server-common .......................... success [01:11 min] 

[info] hadoop-yarn-server-nodemanager ..................... success [02:25 min] 

[info] hadoop-yarn-server-web-proxy ....................... success [ 17.129 s] 

[info] hadoop-yarn-server-applicationhistoryservice ....... success [ 39.350 s] 

[info] hadoop-yarn-server-resourcemanager ................. success [01:44 min] 

[info] hadoop-yarn-server-tests ........................... success [ 32.941 s] 

[info] hadoop-yarn-client ................................. success [ 44.664 s] 

[info] hadoop-yarn-applications ........................... success [ 0.197 s] 

[info] hadoop-yarn-applications-distributedshell .......... success [ 15.165 s] 

[info] hadoop-yarn-applications-unmanaged-am-launcher ..... success [ 9.604 s] 

[info] hadoop-yarn-site ................................... success [ 0.149 s] 

[info] hadoop-yarn-registry ............................... success [ 31.971 s] 

[info] hadoop-yarn-project ................................ success [ 22.195 s] 

[info] hadoop-mapreduce-client ............................ success [ 0.673 s] 

[info] hadoop-mapreduce-client-core ....................... success [02:08 min] 

[info] hadoop-mapreduce-client-common ..................... success [01:38 min] 

[info] hadoop-mapreduce-client-shuffle .................... success [ 24.796 s] 

[info] hadoop-mapreduce-client-app ........................ success [01:02 min] 

[info] hadoop-mapreduce-client-hs ......................... success [ 43.043 s] 

[info] hadoop-mapreduce-client-jobclient .................. success [01:09 min] 

[info] hadoop-mapreduce-client-hs-plugins ................. success [ 9.662 s] 

[info] apache hadoop mapreduce examples ................... success [ 40.439 s] 

[info] hadoop-mapreduce ................................... success [ 13.894 s] 

[info] apache hadoop mapreduce streaming .................. success [ 32.797 s] 

[info] apache hadoop distributed copy ..................... success [01:00 min] 

[info] apache hadoop archives ............................. success [ 11.333 s] 

[info] apache hadoop rumen ................................ success [ 35.122 s] 

[info] apache hadoop gridmix .............................. success [ 22.939 s] 

[info] apache hadoop data join ............................ success [ 17.568 s] 

[info] apache hadoop ant tasks ............................ success [ 12.339 s] 

[info] apache hadoop extras ............................... success [ 18.325 s] 

[info] apache hadoop pipes ................................ success [ 27.889 s] 

[info] apache hadoop openstack support .................... success [ 30.148 s] 

[info] apache hadoop amazon web services support .......... success [01:28 min] 

[info] apache hadoop client ............................... success [ 25.086 s] 

[info] apache hadoop mini-cluster ......................... success [ 0.657 s] 

[info] apache hadoop scheduler load simulator ............. success [ 25.302 s] 

[info] apache hadoop tools dist ........................... success [ 23.268 s] 

[info] apache hadoop tools ................................ success [ 0.156 s] 

[info] apache hadoop distribution ......................... success [01:06 min] 

[info] build success [info] ------------------------------------------------------------------------ 

[info] total time: 01:17 h [info] finished at: 2014-12-29t20:45:54-08:00 

[info] final memory: 94m/193m [info] ------------------------------------------------------------------------ 

[root@master hadoop-2.6.0-src]#

1.修改linux主機名

2.修改ip

3.修改主機名和ip的映射關系

######注意######如果你們公司是租用的伺服器或是使用的雲主機(如華為用主機、阿裡雲主機等)

/etc/hosts裡面要配置的是内網ip位址和主機名的映射關系

4.關閉防火牆

5.ssh免登陸

6.安裝jdk,配置環境變量等

叢集規劃:

主機名        ip        安裝的軟體        運作的程序

master        192.168.1.201        jdk、hadoop        namenode、dfszkfailovercontroller(zkfc)

slave1        192.168.1.202        jdk、hadoop        namenode、dfszkfailovercontroller(zkfc)

slave2        192.168.1.203        jdk、hadoop        resourcemanager

slave3        192.168.1.204        jdk、hadoop        resourcemanager

slave4        192.168.1.205        jdk、hadoop、zookeeper        datanode、nodemanager、journalnode、quorumpeermain

slave5        192.168.1.206        jdk、hadoop、zookeeper        datanode、nodemanager、journalnode、quorumpeermain

slave6        192.168.1.207        jdk、hadoop、zookeeper        datanode、nodemanager、journalnode、quorumpeermain

複制代碼

說明:

1.在hadoop2.0中通常由兩個namenode組成,一個處于active狀态,另一個處于standby狀态。active namenode對外提供服務,而standby namenode則不對外提供服務,僅同步active namenode的狀态,以便能夠在它失敗時快速進行切換。

hadoop2.0官方提供了兩種hdfs ha的解決方案,一種是nfs,另一種是qjm。這裡我們使用簡單的qjm。在該方案中,主備namenode之間通過一組journalnode同步中繼資料資訊,一條資料隻要成功寫入多數journalnode即認為寫入成功。通常配置奇數個journalnode

這裡還配置了一個zookeeper叢集,用于zkfc(dfszkfailovercontroller)故障轉移,當active namenode挂掉了,會自動切換standby namenode為standby狀态

2.hadoop-2.2.0中依然存在一個問題,就是resourcemanager隻有一個,存在單點故障,hadoop-2.4.1解決了這個問題,有兩個resourcemanager,一個是active,一個是standby,狀态由zookeeper進行協調

安裝步驟:

1.安裝配置zooekeeper叢集(在slave4上)

1.1解壓

[root@master local]#tar -zxvf    zookeeper-3.4.6.tar.g-c /usr/local/

[root@master local]#mv zookeeper-3.4.6/ zookeeper

1.2修改配置

[root@master local]#cd /usr/local/zookeeper/conf/

[root@master local]#cp zoo_sample.cfg zoo.cfg

[root@master local]#vim zoo.cfg

修改:

datadir=/itcast/zookeeper/zkdata

在最後添加:

server.1=slave4:2888:3888

server.2=slave5:2888:3888

server.3=slave6:2888:3888

儲存退出

然後建立一個tmp檔案夾

[root@master local]#mkdir /usr/local/zookeeper/zkdata

再建立一個空檔案

[root@master local]#touch /usr/local/zookeeper/zkdata/myid

最後向該檔案寫入id

[root@master local]#echo 1 > /usr/local/zookeeper/zkdata/myid

1.3将配置好的zookeeper拷貝到其他節點(首先分别在slave5、slave6根目錄:/usr/local/)

[root@master local]#scp -r /usr/local/zookeeper/ slave5:/usr/local/

[root@master local]#scp -r /usr/local/zookeeper/ slave6:/usr/local/

注意:修改slave5、slave6對應/usr/local/zookeeper/zkdata/myid内容

slave5:

[root@master local]#echo 2 > /usr/local/zookeeper/zkdata/myid

slave6:

[root@master local]#echo 3 > /usr/local/zookeeper/zkdata/myid

2.安裝配置hadoop叢集(在master上操作)

2.1解壓

[root@master local]#tar -zxvf hadoop-2.6.0.tar.gz -c /usr/local/

2.2配置hdfs(hadoop2.0所有的配置檔案都在$hadoop_home/etc/hadoop目錄下)

#将hadoop添加到環境變量中

[root@master local]#vim /etc/profile

export java_home=/usr/local/jdk1.7

export hadoop_home=/usr/local/hadoop-2.6.0

export path=$path:$java_home/bin:$hadoop_home/bin

#hadoop2.0的配置檔案全部在$hadoop_home/etc/hadoop下

[root@master local]#cd /usr/local/hadoop-2.6.0/etc/hadoop

2.2.1修改hadoo-env.sh

2.2.2修改core-site.xml

<configuration>

<!-- 指定hdfs的nameservice為masters -->

<property>

<name>fs.defaultfs</name>

<value>hdfs://masters</value>

</property>

<!-- 指定hadoop臨時目錄 -->

<name>hadoop.tmp.dir</name>

<value>/usr/local/hadoop-2.6.0/tmp</value>

<!-- 指定zookeeper位址 -->

<name>ha.zookeeper.quorum</name>

<value>slave4:2181,slave5:2181,slave6:2181</value>

</configuration>

2.2.3修改hdfs-site.xml

        <!--指定hdfs的nameservice為masters,需要和core-site.xml中的保持一緻 -->

        <property>

                <name>dfs.nameservices</name>

                <value>masters,ns1,ns2,ns3</value>

        </property>

        <!-- master下面有兩個namenode,分别是master,slave1 -->

                <name>dfs.ha.namenodes.masters</name>

                <value>master,slave1</value>

        <!-- master的rpc通信位址 -->

                <name>dfs.namenode.rpc-address.masters.master</name>

                <value>master:9000</value>

        <!-- master的http通信位址 -->

                <name>dfs.namenode.http-address.masters.master</name>

                <value>master:50070</value>

        <!-- slave1的rpc通信位址 -->

                <name>dfs.namenode.rpc-address.masters.slave1</name>

                <value>slave1:9000</value>

        <!-- slave1的http通信位址 -->

                <name>dfs.namenode.http-address.masters.slave1</name>

                <value>slave1:50070</value>

        <!-- 指定namenode的中繼資料在journalnode上的存放位置 -->

                <name>dfs.namenode.shared.edits.dir</name>

                <value>qjournal://slave4:8485;slave5:8485;slave6:8485/masters</value>

        <!-- 指定journalnode在本地磁盤存放資料的位置 -->

                <name>dfs.journalnode.edits.dir</name>

                <value>/usr/local/hadoop-2.6.0/journal</value>

        <!-- 開啟namenode失敗自動切換 -->

                <name>dfs.ha.automatic-failover.enabled</name>

                <value>true</value>

        <!-- 配置失敗自動切換實作方式 -->

                <name>dfs.client.failover.proxy.provider.masters</name>

                <value>org.apache.hadoop.hdfs.server.namenode.ha.configuredfailoverproxyprovider</value>

        <!-- 配置隔離機制方法,多個機制用換行分割,即每個機制暫用一行-->

                <name>dfs.ha.fencing.methods</name>

                <value>

                        sshfence

                        shell(/bin/true)

                </value>

        <!-- 使用sshfence隔離機制時需要ssh免登陸 -->

                <name>dfs.ha.fencing.ssh.private-key-files</name>

                <value>/root/.ssh/id_rsa</value>

        <!-- 配置sshfence隔離機制逾時時間 -->

                <name>dfs.ha.fencing.ssh.connect-timeout</name>

                <value>30000</value>

2.2.4修改mapred-site.xml

<!-- 指定mr架構為yarn方式 -->

<name>mapreduce.framework.name</name>

<value>yarn</value>

2.2.5修改yarn-site.xml

        <!-- 開啟rm高可靠 -->

                <name>yarn.resourcemanager.ha.enabled</name>

        <!-- 指定rm的cluster id -->

                <name>yarn.resourcemanager.cluster-id</name>

                <value>rm_ha_id</value>

        <!-- 指定rm的名字 -->

                <name>yarn.resourcemanager.ha.rm-ids</name>

                <value>rm1,rm2</value>

        <!-- 分别指定rm的位址 -->

                <name>yarn.resourcemanager.hostname.rm1</name>

                <value>slave2</value>

                <name>yarn.resourcemanager.hostname.rm2</name>

                <value>slave3</value>

                <name>yarn.resourcemanager.recovery.enabled</name>

                <name>yarn.resourcemanager.store.class</name>

                <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.zkrmstatestore</value>

        <!-- 指定zk叢集位址 -->

                <name>yarn.resourcemanager.zk-address</name>

                <value>slave4:2181,slave5:2181,slave6:2181</value>

                <name>yarn.nodemanager.aux-services</name>

                <value>mapreduce_shuffle</value>

2.2.6修改slaves(slaves是指定子節點的位置,因為要在master上啟動hdfs、在slave2啟動yarn,是以master上的slaves檔案指定的是datanode的位置,slave2上的slaves檔案指定的是nodemanager的位置)

slave4

slave5

slave6

2.2.7配置免密碼登陸

#首先要配置master到slave1、slave2、slave3、slave4、slave5、slave6的免密碼登陸

#在master上生産一對鑰匙

[root@master local]#ssh-keygen -t rsa

#将公鑰拷貝到其他節點,包括自己

[root@master local]#ssh-copy-id master

[root@master local]#ssh-copy-id slave1

[root@master local]#ssh-copy-id slave2

[root@master local]#ssh-copy-id slave3

[root@master local]#ssh-copy-id slave4

[root@master local]#ssh-copy-id slave5

[root@master local]#ssh-copy-id slave6

#配置slave2到slave3、slave4、slave5、slave6的免密碼登陸

#在slave2上生産一對鑰匙

#将公鑰拷貝到其他節點

#注意:兩個namenode之間要配置ssh免密碼登陸,别忘了配置slave1到master的免登陸

在slave1上生産一對鑰匙

[root@master local]#ssh-copy-id -i master

#在slave3上生産一對鑰匙

2.4将配置好的hadoop拷貝到其他節點

[root@master local]#scp -r /usr/local/hadoop-2.6.0/ slave1:/usr/local/

[root@master local]#scp -r /usr/local/hadoop-2.6.0/ slave2:/usr/local/

[root@master local]#scp -r /usr/local/hadoop-2.6.0/ slave3:/usr/local/

[root@master local]#scp -r /usr/local/hadoop-2.6.0/ slave4:/usr/local/

[root@master local]#scp -r /usr/local/hadoop-2.6.0/ slave5:/usr/local/

[root@master local]#scp -r /usr/local/hadoop-2.6.0/ slave6:/usr/local/

###注意:嚴格按照下面的步驟

2.5啟動zookeeper叢集(分别在slave4、slave5、slave6上啟動zk)

[root@master local]#cd /usr/local/zookeeper/bin/

[root@master local]#./zkserver.sh start

#檢視狀态:一個leader,兩個follower

[root@master local]#./zkserver.sh status

2.6啟動journalnode(分别在slave4、slave5、slave6上執行)

[root@master local]#cd /usr/local/hadoop-2.6.0/sbin

[root@master local]#sbin/hadoop-daemon.sh start journalnode

#運作jps指令檢驗,slave4、slave5、slave6上多了journalnode程序

2.7格式化hdfs

#在master上執行指令:

[root@master local]#hdfs namenode -format

#格式化後會在根據core-site.xml中的hadoop.tmp.dir配置生成個檔案,這裡我配置的是/usr/local/hadoop-2.6.0/tmp,

然後将/usr/local/hadoop-2.6.0/tmp拷貝到slave1的/usr/local/hadoop-2.6.0/下。

[root@master local]#scp -r tmp/ slave1:/usr/local/hadoop-2.6.0/

2.8格式化zk(在master上執行即可)

[root@master local]#hdfs zkfc -formatzk

2.9啟動hdfs(在master上執行)

[root@master local]#sbin/start-dfs.sh

2.10啟動yarn(#####注意#####:是在slave2上執行start-yarn.sh,把namenode和resourcemanager分開是因為性能問題,因為他們都要占用大量資源,是以把他們分開了,他們分開了就要分别在不同的機器上啟動)

[root@master local]#slave2:${hadoop_home}/sbin/start-yarn.sh

[root@master local]#slave3:${hadoop_home}/sbin/yarn-daemon.sh start resourcemanager

到此,hadoop-2.6.0配置完畢,可以統計浏覽器通路:

http://192.168.80.100:50070

namenode 'master:9000' (active)

http://192.168.80.101:50070

namenode 'slave1:9000' (standby)

驗證hdfs

ha

首先向hdfs上傳一個檔案

[root@master local]#hadoop fs -put /etc/profile /profile

[root@master local]#hadoop fs -ls /

然後再kill掉active的namenode

[root@master local]#kill -9 <pid of nn>

namenode 'slave1:9000' (active)

這個時候slave1上的namenode變成了active

在執行指令:

-rw-r--r--   3 root supergroup       1926 2014-02-06 15:36 /profile

剛才上傳的檔案依然存在!!!

手動啟動那個挂掉的namenode

[root@master local]#sbin/hadoop-daemon.sh start namenode

namenode 'master:9000' (standby)

驗證yarn:

運作一下hadoop提供的demo中的wordcount程式:

[root@master local]#hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar wordcount /profile /out

hadoop ha叢集搭建完成

hadoop +hbase +zookeeper 完全分布搭建 (版本一)一.重新編譯  二.hadoop + hbase +zookeeper 環境搭建

  hbase-0.98.9-hadoop2  搭建

4.1 解壓縮,并重命名 

[root@master local]#mv  hbase-**   hbase

修改環境變量:

export hbase_home=/usr/local/hbase

export path= .:$path:$hbase_home/bin:

儲存,退出。  執行 source /etc/profile  生效

4.1 修改hbase的配置檔案#hbase_home/conf/hbase-env.sh 修改内容如下:

export java_home=usr/local/jdk/

export hbase_manages_zk=true   //hbase是否管理它自己的zookeeper的執行個體。

儲存,退出。

4.2 修改hbase的配置檔案#hbase_home/conf/hbase-site.xml,修改内容如下:

<name>hbase.rootdir</name>

<value>hdfs://master:9000/hbase</value>

<name>hbase.cluster.distributed</name>

<value>true</value>

<name>hbase.zookeeper.quorum</name>

<value>master</value>

<name>dfs.replication</name>

<value>3</value>

注意:$hbase_home/conf/hbase-site.xml的hbase.rootdir的主機和端口号與$hadoop_home/conf/core-site.xml的fs.default.name的主機和端口号一緻

4.3 (可選)檔案  regionservers 的内容修改為master.

4.4 執行目錄到../bin ,執行指令  start-hbase.sh

******啟動hbase之前,確定hadoop是運作正常的。并且可以寫入檔案。

4.5 驗證:(1)執行jps,發現新增加了3個havana程序,分别是hmaster、hregionserver、hquorumpeer

(hquorumpeermain 是zookeeper的程序 ) 

備注:啟動hbase時,請先執行  /usr/local/zookeeper/bin zkserver.sh stop 停止zookeeper的程序,以免hbase啟動失敗。

(2)通過浏覽器檢視:  http://masters:60010

5.hbase的叢集安裝(在原來的master上的hbase僞分布基礎上搭建):

5.1 叢集結構,主節點(hmaster)是master,從節點(region server)是slave1,slave2,slave3.

5.2 修改hadoop0上的hbase的幾個檔案

(1)修改hbase-env.sh 最後一行 export  hbase_manages_zk=false.

(2)修改hbase-site.xml檔案的hbase.zookeeper.quorum的值為master,slave1,slave2,slave3 。

(3)修改regionservers檔案(存放的 region

server的hostname),内容修改成slave1,slave2,slave3 。

5.3 複制master中的hbase到slave1,slave2,slave3的對應目錄下,并複制、master 的/etc/profile檔案到hadoop1 、hadoop2 中。

[root@master local]#scp -r hbase slave1:/usr/local/

[root@master local]#scp -r /etc/profile  slave1:/etc/profile

[root@master local]#source /etc/profile

5.4 在ha叢集中,首先各個節點啟動zookeeper叢集,其次 master中啟動hadoop叢集,最後在master上啟動hbase叢集。

6.測試hbase是否啟動正常:

1) 在master主機中執行jps,檢視程序。會新增一個 hmaster 程序

2) 在regionserver 中執行  jps,新增 hregionserver。

7.執行hbase腳本指令:

[root@slave2 local]#  hbase shell