操作系統:ubuntu-12.04server
HBase版本:hbase-0.98.3
zookeeper版本:zookeeper-3.4.6
java版本:1.7.0_65
集羣:192.168.1.1(master1)/192.168.1.2(slave1)/192.168.1.3(slave2)
zookeeper配置
Hbase-0.98.3已經內置了zookeeper,但是推薦使用外置的zookeeper。外置的zookeeper配置也不難。
參考:http://qindongliang1922.iteye.com/blog/1978485
下載zookeeper,在/etc/profile文件中配置好ZOOKEEPER_HOME路徑。
配置hbase-env.sh,啓動外置zookeeper。進入$hbase_home/conf/hbase_env.sh.添加如下一行代碼
exportHBASE_MANAGES_ZK=false
配置zoo.cfg。將$ZOOKEEPER_HOME/conf/zoo_simple.cfg複製爲zoo.cfg文件。
需要設置兩個地方。
一是修改dataDir變量。
DataDir =/home/scut/data/zookeeper
注意需要實現創建該目錄,其中scut爲用戶名。
二是在zoo.cfg文件的最後加入三行。
server.1=192.168.1.1:2887:3887
server.2=192.168.1.2:2888:3888
server.3=192.168.1.3:2889:3889利用scp命令將配置好的zookeeper複製到各個zookeeper字節點。
每個節點上,在上面創建的dataDir目錄下創建一個myid文件。
在192.168.1.1的機器上,在myid文件中寫入1
在192.168.1.2的機器上,在myid文件中寫入2
在192.168.1.3的機器上,在myid文件中寫入3
這幾個數字和zoo.cfg中最後的server序列號相對應。在每個節點中運行命令zkServer.sh start啓動zookeeper。
啓動後可以運行zkServer.sh status查看zookeeper的狀態。會有一個leader節點,其他全部是follower節點。
HBASE配置文件
參考:http://blog.csdn.net/john_f_lau/article/details/17974853
編輯各個主機/etc/hosts文件。
192.168.100.1(master1)上的/etc/hosts內容如下
192.168.100.1 master1 hbase localhost ubuntu#ubuntu是主機名,hbase是遠程連接hbase需要的,master1是hbase配置文件中映射爲192.168.100.1
192.168.100.2 slave1 #slave1是hbase配置文件中映射爲192.168.100.2
192.168.100.3 slave2 #slave3是hbase配置文件中映射爲192.168.100.3
192.168.100.2(slave1)上的/etc/hosts內容如下
192.168.100.1 master1
192.168.100.2 slave1localhost ubuntu
192.168.100.3 slave2
192.168.100.2(slave2)上的/etc/hosts內容如下
192.168.100.1 master1
192.168.100.2 slave1
192.168.100.3 slave2localhost ubuntu
修改配置文件
hbase-env.sh添加
exportJAVA_HOME=your_java_home
exportHBASE_MANAGES_ZK=false
hbase-site.xml的configuration內容
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master1:9000/hbase</value>
</property><property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master1,slave1,slave2</value>
</property
</configuration>
利用scp將hbase的文件包複製到各個主機,並在/etc/profile中配置$HBASE_HOME變量
在master1的主機上的conf/regionservers文件中添加各個hbase節點的地址
master1
slave1
slave2運行bin/start-hbase.sh後,執行jps命令查看啓動情況。
如果有QuorumPeerMain,HMaster,HRegionServer等就表示hbase運行成功。
同時可以到http://master1:60010/master-status查看hbase情況。