您的位置:首页 > 运维架构 > Linux

Centos6.5下Hbase配置

2015-08-15 15:48 477 查看

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上看到的进程:



即新增进程:

HQuorumPeer

HMaster

在datanode上看到的进程



即新增进程:

HQuorumPeer

HRegionServer

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

http://localhost:60010/


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



D. 关闭hbse(拓展)

stop-hbase.sh




10. hbase 基本测试

A. 进入hbase命令行

hbase shell




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

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


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

list


D. 查看表的构造

describe 'member'




E. 删除列族member_id

drop 'member'


F. 退出shell命令行

exit


只要上述操作无报错,那么恭喜你,安装成功!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: