1、环境描述
jdk:jdk1.8.0_45
maven:3.3.9
hadoop:2.6.0-cdh5.14.0
其他:因为前期编译过hadoop等组件,所以配套的git、Protobuf、Findbugs等都已经安装过了,不确定是否起到作用
2、源码下载、解压
wget http://archive.cloudera.com/cdh5/cdh/5/hbase-1.2.0-cdh5.14.0-src.tar.gz
tar -xzvf hbase-1.2.0-cdh5.14.0-src.tar.gz
3、pom修改
<compileSource>1.8</compileSource>
<maven.min.version>3.3.9</maven.min.version>
<javaVersion>1.8</javaVersion>
<targetJavaVersion>1.8</targetJavaVersion>
4、编译
cd hbase-1.2.0-cdh5.14.0
mvn -X clean package -DskipTests -Dhadoop-two.version=2.6.0-cdh5.14.0 assembly:single
注意:编译结果就是hbase源码目录,没有tar包
5、配置HBase
vi ./conf/hbase-env.sh
#指定jdk路径
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_45
#启动HBase自带zookeeper
export HBASE_MANAGES_ZK=true
vi ./conf/hase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
#指定HBase存储路径为hdfs路径
<value>/user/hbase/data</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/app/hbase/zk</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
</configuration>
6、启动HBase
bin/start-hbase.sh#jps只能看到HMaster进程
访问地址:http://ip:60010/,cdh版的和原声版本不太一样,原生的端口是16010
7、shell连接
bin/hbase shell
8、操作测试(shell内)
创建表:
create 'test', 'cf'
查看表
list
写数据
put 'test', 'row1', 'cf:a', 'value1'
扫描表
scan 'test'
查看表
describe 'test'