hadoop之Hbase安装
说明:
hadoop安装:http://kexl908.blog.51cto.com/605006/812494
Hbase接上面的hadoop安装环境之后继续安装,环境 IP 不变
1 Hbase软件安装
hbase安装路径:/home/hadoop/hbase/
wget http://mirror.bjtu.edu.cn/apache/hbase/hbase-0.94.4/hbase-0.94.4.tar.gz
tar zxvf hbase-0.94.4.tar.gz
mv hbase-0.94.4 hbase
2 修改配置文件:
2.1 vim hbase-env.sh #########修改三个地方 JDK路径 hbase路径 开启zk
29 export JAVA_HOME=JAVA_HOME=/usr/java/jdk1.7.0_09
32 export HBASE_CLASSPATH=/home/hadoop/hbase/
107 export HBASE_MANAGES_ZK=true
2.2修改hbase-site.sh
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.142.137:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<vaule>hdfs:192.168.142.137:60000</vaule>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/home/hadoop/hbase/tmp</value>
</property>
<property>
<name>hbase.zookeeper.qourum</name>
<vaule>Server</vaule>
</property>
<property>
<name>hbase.zookeeper.property.clentPort</name>
<vaule>2181</vaule>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/hbase/zookeeper</value>
</property>
</configuration>
配置文件说明:
2.3 Hadoo和Hbase的jar文件统一
将/home/hadoop/hadoop下的hadoop-core-1.1.1.jar覆盖到hbase的/home/hadoop/hbase/lib。将之前hbase的hadoop-core.xxxx删除
3 将hbase文件分发到Client1 Client2上,然后启动服务
[hadoop@Server bin]$ ./start-hbase.sh
[hadoop@Server bin]$ jps
17066 HRegionServer
17134 Jps
16591 JobTracker
16507 SecondaryNameNode
16908 HQuorumPeer
16351 NameNode
16970 HMaster
4 检测安装
安装检测基本上用jps命令能出来 HRegionServer HQuorumPeer HMaster就已经成功了。初次之外我们看看web页面和进入hbase里面进行数据库的操作验证下
hbase端口验证:
server:60010/master-status
server:60030/regionserver.jsp
server:60010/zk.jsp
hbase数据库验证:
[hadoop@Server bin]$ ./hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.94.4, r1428173, Thu Jan 3 06:29:56 UTC 2013
hbase(main):001:0> list
TABLE
0 row(s) in 3.2980 seconds
hbase(main):003:0> create 'user','f1','f2','f3'
0 row(s) in 2.8680 seconds
hbase(main):004:0> list
TABLE
user
1 row(s) in 0.0400 seconds
hbase(main):005:0> put u
NameError: undefined local variable or method `u' for #<Object:0xb31d70a>
hbase(main):006:0> put 'user','1','f1:name','fu'
0 row(s) in 0.2520 seconds
hbase(main):007:0> scan 'user'
ROW COLUMN+CELL
1 column=f1:name, timestamp=1359095663649, value=fu
1 row(s) in 0.1680 seconds
说明:建user表成功 现在可以去web页面查看信息 在之前的ROOT META多了一个user
5 使Hadoop支持Hbase MapReduce
在Hbase中,对hadoop MapReduce进行了一些封装,是Hadoop MapReduce可以直接以Hbase表作为输入和输出。因此需要配置Hadoop引入Hbase的类库,配置如下
首先stop掉Hbase 和Hadoop
vim hadoop-env.sh 最后添加
export HBASE_HOME=/home/hadoop/hbase
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HBASE_HOME/hbase-0.94.4.jar:$HBASE_HOME/hbase-0.94.4-tests.jar:$HBASE_HOME/conf:$HBASE_HOME/lib/zookeeper-3.4.5.jar:$HBASE_HOME/lib/protobuf-java-2.4.0a.jar