HBase集群搭建
一、安裝環境:
至少兩臺linux主機,假設兩臺機器的登錄用戶名都為hbase,并且IP分配如下:
192.168.7.85 master機器
192.168.7.72 slave機器
集群的每臺機器需要安裝如下軟件:
1.ubuntu linux
- jdk6.0或以上版本
$ apt-get install openjdk-6-jdk openjdk-6-jre
3.ssh
$ sudo apt-get install ssh
$ sudo apt-get install rsync
4.hadoop
下載地址:http://www.apache.org/dyn/closer.cgi/hadoop/common/
5.hbase
下載地址:http://www.apache.org/dyn/closer.cgi/hbase/
二、集群配置
1.配置linux環境
在使用HBase的時候,通常需要訪問很多文件和開很多進程,因此需要在linux中提高相應用戶的訪問上限值,通過如下方式配置:
首先修改/etc/security/limits.conf配置文件,加入如下配置信息:
hbase - nofile 32768
hbase soft nproc 32000
hbase hard nproc 32000
其中hbase為用戶名
然后,修改/etc/pam.d/common-session配置文件,加入如下配置信息:
session requiredpam_limits.so
重啟機器,確保新環境生效
2.ssh配置
配置master機器對每臺slave機器的passwordless登錄環境
首先,在master機器的用戶主目錄下,通過如下命令來生成證書文件authorized_keys
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
然后,將證書文件復制到其他機器的用戶主目錄下
$scp /home/hbase/.ssh authorized_keys hbase@slave01:/home/hbase/.ssh/authorized_keys - Hadoop配置
1.參考Nutch+Hadoop集群配置中hadoop的搭建
2除此之外,還需在conf/hdfs-site.xml文件中配置如下屬性:
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>
如不指定,在使用HDFS存儲的時候,HBase可能會遺失數據
<property>
<name>dfs.datanode.max.xcievers</name>
<value>4096</value>
</property>
設置datanode可對外提供服務的文件數量的上限
3將${HBASE_HOME}/lib目錄下的hadoop-.jar文件替換成Hadoop環境中的相應jar文件,以解決Hadoop版本沖突問題。
注:替換掉hadoop包之后,可能還需要向${HBASE_HOME}/lib目錄中引入額外的第三方jar包,以確保hadoop-.jar的順利編譯,如:commons-configuration-*.jar,同樣可從hadoop環境中拷貝。
4.HBase配置
4.1 cong/hbase-env.sh配置文件
至少設置以下環境變量
export JAVA_HOME=/PATH/TO/JDK_HOME
4.2conf/hbase-site.xml配置文件
<configuration>
<property>
<name>dfs.support.append</name>
<value>true</value>
<description>確保再使用HDFS存儲時,不出現數據遺失</description>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
<description>hbase的存儲根路徑</description>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
<description>是否采用集群方式部署</description>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>slave01</value>
<description>zookeeper的server地址,多臺機器用逗號隔開</description>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hbase/zookeeper</value>
<description>zookeeper的數據存儲目錄</description>
</property>
</configuration>
注:zookeeper默認由hbase集成的方式部署,如果要想獨立部署,需要在hbase-env.sh文件中,將HBASE_MANAGES_ZK設置成false
4.3conf/regionservers配置文件
配置RegionServer機器,類似于Hadoop中的slaves配置文件,添加相應的機器ip,這里為
192.168.7.72
三、啟動集群環境
1.首先啟動hadoop的hdfs子進程,在${HADOOP_HOME}目錄下
bin/start-dfs.sh
hadoop的其他進程暫不需要
2.啟動Hbase,在${HBASE_HOME}目錄下
bin/start-hbase.sh
3.判斷是否啟動成功
http://master:60010 查看MasteServer界面
http://slave:60030 查看RegionServer界面
4.停止Hbase
bin/stop-hbase.sh
5.停止hadoop
bin/stop-dfs.sh
本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!