您的位置:首页 > 其它

HBase集群搭建

2012-01-10 17:41 246 查看
一、安装环境:

至少两台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 J***A_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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: