Centos6.5下Hbase配置

Hbase 配置

本教程配置说明

  • 本教程是在64位Centos6.5 Hadoop2.2.0 完全分布安装教程基础之上扩展的(言下之意就是配置都没变!)
  • 每台安装有hadoop-2.2.0的Linux服务器均需安装Hbase和Zookeeper
  • 每台服务器若无特殊说明,默认均在hadoop用户下操作
  • 确保防火墙关闭,确保各个服务器的/etc/hosts 文件中含有集群下所有服务器各自IP和主机名,例如:
    10.10.108.160 name
    10.10.108.170 data1
    10.10.108.180 data2
  • 确保各个datanode节点的服务器与namenode节点服务器相互之间能ssh免密码登陆
  • 确保各个服务器的jdk环境配置无误
  • 确保各个服务器的hadoop-2.2.0安装成功

具体可参考: 64位Centos6.5 Hadoop2.2.0 完全分布安装教程

1. 下载安装hbase 和 zookeeper安装包

本教程使用版本是:
* hbase-0.98.9-hadoop2-bin.tar
* zookeeper-3.4.6.tar

2. 统一各个服务器时间

在每个服务器上键入时间,以namenode为准也行

date -s "2014-1-4 12:16:00"

时间根据实际调整

hwclock --systohc
service ntpd start chkconfig ntpd on

3. 配置zookeeper + hbase 的环境变量

在namenode和所有的datanode上进行环境配置。根据用户zookeeper + hbase实际安装位置进行配置。本教程将hbase-0.98.9-hadoop2-bin.tar 和 zookeeper-3.4.6.tar 放至/home/hadoop/softwares目录下,并将zookeeper + hbase解压缩在主用户下,即 ~/ 绝对路径则为 /home/hadoop/
解压缩代码:

tar -zxvf /home/hadoop/softwares/hbase-0.98.9-hadoop2-bin.tar  /home/hadoop/
tar -zxvf /home/hadoop/softwares/zookeeper-3.4.6.tar  /home/hadoop/

编辑/etc/profile 文件,在文件末尾添加:

export ZOOKEEPER_HOME=/home/hadoop/zookeeper-3.4.6
export PATH=$PATH:$ZOOKEEPER_HOME/bin
export HBASE_HOME=/home/hadoop/hbase-0.98.9-hadoop2
export PATH=$PATH:$HBASE_HOME/bin

使环境变量立即生效:

source /etc/profile

4. zookeeper配置

在namenode节点上操作

cp /home/hadoop/zookeeper-3.4.6/conf/zoo_sample.cfg   /home/hadoop/zookeeper-3.4.6/conf/zoo.cfg

配置 zoo.cfg

vi zoo.cfg

修改如下:

tickTime=2000    
dataDir=/home/hadoop/zookeeper-3.4.6/data    
clientPort=2181    
initLimit=5    
syncLimit=2    
server.1=name:2888:3888
server.2=data2:2888:3888

创建data目录:

mkdir /home/hadoop/zookeeper-3.4.6/data 

编辑myid文件:

vim /home/hadoop/zookeeper-3.4.6/data/myid

添加本机的zookeeper的id号

1

5. 将配置好的zookeeper文件copy到datanode主机里

scp -r  /home/hadoop/zookeeper-3.4.6/  hadoop@data2:~/

6. 修改各slave主机myid

每个datanode仅仅需要修改myid即可,且互不相重复。在datanode节点上,如本教程中的data2主机上修改myid

vim /home/hadoop/zookeeper-3.4.6/data/myid

编辑myid文件:

2

7. Hbase配置

A. 进入conf目录下进行配置,并编辑hbase-env.sh

/home/hadoop/hbase-0.98.9-hadoop2/conf
vi hbase-env.sh

添加如下:

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64
export HADOOP_HOME=/home/hadoop/hadoop-2.2.0
export HBASE_LOG_DIR=/home/hadoop/hbase-0.98.9-hadoop2/logs
export HBASE_MANAGES_ZK=true
  • 其中JAVA_HOME 和 HADOOP_HOME根据实际情况进行配置
  • HBASE_MANAGES_ZK=true 含义为 hbase托管zookeeper修改

B. 编辑 hbase-site.xml
注意:接下来的配置均在两个 configuration 之间添加完成的,如下图所示:

vi hbase-site.xml

添加如下内容:

<property>
    <name>hbase.rootdir</name>
    <value>hdfs://name:8020/hbase</value>
</property>
<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>
<property>
    <name>hbase.master</name>
    <value>master:60000</value>
</property>
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>name,data2</value>
</property>
<property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/hadoop/zookeeper-3.4.6/data</value>
</property>
<property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
</property>
<property>
    <name>hbase.regionserver.handler.count</name>
    <value>10</value>
</property>
<property>
    <name>zookeeper.session.timeout</name>
    <value>120000</value>
</property>
<property>
    <name>hbase.regionserver.restart.on.zk.expire</name>
    <value>true</value>
</property>
  • name:8020 其中8020为hadoop配置里core-site.xml文件中hdfs的端口号

C. 编辑 regionservers

vi regionservers

添加所有datanode节点的主机名或IP地址

data2

D. 替换jar包
注意:为了兼容Hadoop-2.2.0,需要将hbase的lib包中的内容lib包中的hadoop-common-2.1.0-beta.jar替换成/hadoop-2.2.0/share/hadoop/common目录下的hadoop-common-2.2.0.jar。

rm /home/hadoop/hbase-0.98.9-hadoop2/lib/hadoop-common-2.1.0-beta.jar 
cp /home/hadoop/hadoop-2.2.0/share/hadoop/common/hadoop-common-2.2.0.jar  /home/hadoop/hbase-0.98.9-hadoop2/lib/

E. 移除hbase里面的不必要jar包

mv /home/hadoop/hbase-0.98.9-hadoop2/lib/slf4j-log4j12-1.6.4.jar  /home/hadoop/hbase-0.98.9-hadoop2/lib/slf4j-log4j12-1.6.4.jar.bk

8. 将配置好的hbase文件copy到所有的datanode主机里

scp -r /home/hadoop/hbase-0.98.9-hadoop2  hadoop@data2:~/

9. 运行Hbase

在namenode主机上运行:
A. 先启动hadoop

start-dfs.sh start-yarn.sh

B. 再启动hbase

start-hbase.sh

如能看到以下进程,安装基本OK了:
在namenode上看到的进程:

Centos6.5下Hbase配置_第1张图片
即新增进程:
HQuorumPeer
HMaster

在datanode上看到的进程

即新增进程:
HQuorumPeer
HRegionServer

C. 在namenode节点上的浏览器上输入hbase管理地址

http://localhost:60010/

可以看到各个节点上hbase的分布运行情况

Centos6.5下Hbase配置_第2张图片

D. 关闭hbse(拓展)

stop-hbase.sh

10. hbase 基本测试

A. 进入hbase命令行

hbase shell

Centos6.5下Hbase配置_第3张图片

B. 建立一个表,具有三个列族member_id 、address、info

create 'member','member_id','address','info'

C. 查看当前HBase中具有哪些表

list

D. 查看表的构造

describe 'member' 

Centos6.5下Hbase配置_第4张图片

E. 删除列族member_id

drop 'member'

F. 退出shell命令行

exit 

只要上述操作无报错,那么恭喜你,安装成功!

你可能感兴趣的:(Centos6.5下Hbase配置)