一、安装环境: 至少两台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./dyn/closer.cgi/hadoop/common/ 5.hbase 下载地址:http://www./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
|