具体可参考: 64位Centos6.5 Hadoop2.2.0 完全分布安装教程
本教程使用版本是:
* hbase-0.98.9-hadoop2-bin.tar
* zookeeper-3.4.6.tar
在每个服务器上键入时间,以namenode为准也行
date -s "2014-1-4 12:16:00"
时间根据实际调整
hwclock --systohc
service ntpd start chkconfig ntpd on
在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
在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
scp -r /home/hadoop/zookeeper-3.4.6/ hadoop@data2:~/
每个datanode仅仅需要修改myid即可,且互不相重复。在datanode节点上,如本教程中的data2主机上修改myid
vim /home/hadoop/zookeeper-3.4.6/data/myid
编辑myid文件:
2
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
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>
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
scp -r /home/hadoop/hbase-0.98.9-hadoop2 hadoop@data2:~/
在namenode主机上运行:
A. 先启动hadoop
start-dfs.sh start-yarn.sh
B. 再启动hbase
start-hbase.sh
如能看到以下进程,安装基本OK了:
在namenode上看到的进程:
在datanode上看到的进程
即新增进程:
HQuorumPeer
HRegionServer
C. 在namenode节点上的浏览器上输入hbase管理地址
http://localhost:60010/
可以看到各个节点上hbase的分布运行情况
D. 关闭hbse(拓展)
stop-hbase.sh
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
只要上述操作无报错,那么恭喜你,安装成功!