欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HBase集群搭建 博客分类: NOSql技术总结 HBase集群搭建 

程序员文章站 2024-02-08 14:57:58
...

一、安装环境:
至少两台linux主机,假设两台机器的登录用户名都为hbase,并且IP分配如下:
192.168.7.85         master机器
192.168.7.72         slave机器
集群的每台机器需要安装如下软件:
1.ubuntu linux
2. 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
3. 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

 

 

http://blog.csdn.net/javaman_chen/article/details/7191669