华为云对象存储服务可以与HBase大数据生态进行对接,为用户提供计算存储分离的大数据解决方案。该方案具备高性能、低成本的优势,且无扩容问题。
本操作指导书旨在帮助华为云用户在开源HBase平台上快速对接OBSFileSystem组件,更好的使用华为云对象存储OBS进行HBase计算。
硬件:1master+3core(配置:8U32G,操作系统:Centos7.5)
软件:Hadoop 2.8.3、HBase 2.1.0
开源大数据平台已安装完成,本文主要介绍在HBase平台中通过OBSFileSystem组件与OBS进行对接的操作步骤。对接OBS后,用户的数据即可存储在OBS平台,通过HBase进行大数据计算,实现计算存储分离。
1、 从网址https://bbs.huaweicloud.com/forum/thread-12142-1-1.html 中下载OBSFileSystem后进行解压缩,其中Package目录中包含obs所需要的jar包,列表如下:
2、 将obs所需要的jar包放在/mnt/obsjar目录中
1、 备份并删除hbase-2.1.0所有目录中原有的版本较低的java-xmlbuilder-X.X.jar、okhttp-X.X.X.jar和okio-X.X.X.jar(通过find查找后删除)
命令:
rm -rf /home/modules/hbase-2.1.0/lib/java-xmlbuilder*
rm -rf /home/modules/hbase-2.1.0/lib/okhttp*
rm -rf /home/modules/hbase-2.1.0/lib/okio*
2、 将obs的jar包(hadoop-huaweicloud-2.8.3.13.jar、esdk-obs-java-3.0.1.jar、java-xmlbuilder-1.1.jar、okhttp-3.10.0.jar和okio-1.14.0.jar)拷贝到如下各个目录(/home/modules/hbase-2.1.0/lib/)。
命令:
cp /mnt/obsjar/hadoop-huaweicloud-2.8.3.13.jar /home/modules/hbase-2.1.0/lib/.
cp /mnt/obsjar/esdk-obs-java-3.0.1.jar /home/modules/hbase-2.1.0/lib/.
cp /mnt/obsjar/java-xmlbuilder-1.1.jar /home/modules/hbase-2.1.0/lib/.
cp /mnt/obsjar/okhttp-3.10.0.jar /home/modules/hbase-2.1.0/lib/.
cp /mnt/obsjar/okio-1.14.0.jar /home/modules/hbase-2.1.0/lib/.
1、 在/home/modules/hbase-2.1.0/conf目录中配置core-site.xml,配置模板如下。
注:fs.defaultFS 、fs.obs.access.key、fs.obs.secret.key、fs.obs.endpoint请根据实际情况进行修改。
fs.defaultFS
hdfs://ecs-bigdata-hdtest-0000.novalocal:8020
hadoop.tmp.dir
/home/modules/hadoop-2.8.3/tmp
fs.obs.access.key
myaccesskey
fs.obs.secret.key
mysecretkey
fs.obs.endpoint
myendpoint
fs.obs.buffer.dir
/home/modules/data/buf
fs.obs.impl
org.apache.hadoop.fs.obs.OBSFileSystem
fs.obs.connection.ssl.enabled
false
fs.obs.fast.upload
true
2、 在/home/modules/hbase-2.1.0/conf目录中配置hbase-site.xml,增加或修改如下property。
注:hbase.rootdir和 hbase.wal.dir请根据实际情况进行修改。
hbase.rootdir
obs://buckename/hbase
hbase.wal.provider
org.apache.hadoop.hbase.wal.FSHLogProvider
hbase.wal.dir
hdfs://ecs-bigdata-hdtest-0000.novalocal:8020/hbase
3、 启动HBase即可使用OBS进行计算。
说明:在开源HBase版本中2.1.0版本有一个问题,会导致HBase启动失败。在2.1.1版本中已解决。
修改前:
https://github.com/apache/hbase/blob/rel/2.1.0/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java
修改后:
https://github.com/apache/hbase/blob/rel/2.1.1/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java
来源:华为云社区 作者:大史不说话