1      背景介绍

华为云对象存储服务可以与HBase大数据生态进行对接,为用户提供计算存储分离的大数据解决方案。该方案具备高性能、低成本的优势,且无扩容问题。

本操作指导书旨在帮助华为云用户在开源HBase平台上快速对接OBSFileSystem组件,更好的使用华为云对象存储OBS进行HBase计算。

2      部署视图

2.1      安装版本

硬件:1master+3core(配置:8U32G,操作系统:Centos7.5)

软件:Hadoop 2.8.3、HBase 2.1.0

2.2      部署视图

开源大数据平台已安装完成,本文主要介绍在HBase平台中通过OBSFileSystem组件与OBS进行对接的操作步骤。对接OBS后,用户的数据即可存储在OBS平台,通过HBase进行大数据计算,实现计算存储分离。

 1.png

5.png

3      开源大数据平台对接OBS操作步骤

3.1      HBase平台更新OBSFileSystem

3.1.1        上传obs的jar包

1、  从网址https://bbs.huaweicloud.com/forum/thread-12142-1-1.html 中下载OBSFileSystem后进行解压缩,其中Package目录中包含obs所需要的jar包,列表如下:

3.png

2、  将obs所需要的jar包放在/mnt/obsjar目录中

3.1.2        增加obs的jar包

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/.

3.2      HBase平台更新配置文件操作步骤

1、  在/home/modules/hbase-2.1.0/conf目录中配置core-site.xml,配置模板如下。

注:fs.defaultFS 、fs.obs.access.key、fs.obs.secret.key、fs.obs.endpoint请根据实际情况进行修改。

 

<property>

   <name>fs.defaultFS</name>

   <value>hdfs://ecs-bigdata-hdtest-0000.novalocal:8020</value>

 </property>

 <property>

   <name>hadoop.tmp.dir</name>

   <value>/home/modules/hadoop-2.8.3/tmp</value>

 </property>

 <property>

   <name>fs.obs.access.key</name>

   <value>myaccesskey</value>

 </property>

 <property>

   <name>fs.obs.secret.key</name>

   <value>mysecretkey</value>

 </property>

 <property>

   <name>fs.obs.endpoint</name>

   <value>myendpoint</value>

 </property>

 <property>

   <name>fs.obs.buffer.dir</name>

   <value>/home/modules/data/buf</value>

 </property>

 <property>

   <name>fs.obs.impl</name>

   <value>org.apache.hadoop.fs.obs.OBSFileSystem</value>

 </property>

 <property>

   <name>fs.obs.connection.ssl.enabled</name>

   <value>false</value>

 </property>

 <property>

   <name>fs.obs.fast.upload</name>

   <value>true</value>

 </property>

2、  在/home/modules/hbase-2.1.0/conf目录中配置hbase-site.xml,增加或修改如下property。

注:hbase.rootdir和 hbase.wal.dir请根据实际情况进行修改。

 <property>

     <name>hbase.rootdir</name>

     <value>obs://buckename/hbase</value>

  </property>

  <property>

     <name>hbase.wal.provider</name>

     <value>org.apache.hadoop.hbase.wal.FSHLogProvider</value>

  </property>

  <property>

     <name>hbase.wal.dir</name>

     <value>hdfs://ecs-bigdata-hdtest-0000.novalocal:8020/hbase</value>

  </property>

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

6.png

修改后:

https://github.com/apache/hbase/blob/rel/2.1.1/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java

7.png

来源:华为云社区  作者:大史不说话 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐