在文件存储HDFS版上使用 Apache HBase

本文涉及的产品
对象存储 OSS,20GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
简介: 本文档主要介绍在文件存储HDFS版上使用 Apache HBase 的方法。

一 目的

本文档主要介绍在文件存储HDFS上使用 Apache HBase 的方法。如果您使用的是CDH或者阿里云E-MapReduce中内置的 HBase,请参考最佳实践中的《在文件存储HDFS上使用CDH6》《在文件存储HDFS上使用E-MapReduce》


二 准备工作

  1. 开通文件存储HDFS服务并创建文件系统实例和挂载点,详细文档请参见:快速入门
  2. 在 Hadoop 集群所有节点上安装JDK。版本不能低于1.8。
  3. 在集群中配置文件存储HDFS实例,详细文档请参见:挂载文件系统
  4. 部署 Apache HBase 分布式集群,官方文档:Apache HBase Reference Guide。部署时需参考下方第三章节配置。
  5. 本文档使用 Hadoop-2.10.1 和 HBase-2.3.7 测试验证。更多信息请参考 HBase官网Hadoop版本兼容性说明


三 配置 Apache HBase

复制 Hadoop 中配置的 core-site.xml${HBASE_HOME}/conf 目录下

cp${HADOOP_HOME}/etc/hadoop/core-site.xml ${HBASE_HOME}/conf

配置 ${HBASE_HOME}/conf/hbase-site.xml

<property><!-- 使用分布式模式运行 HBase --><name>hbase.cluster.distributed</name><value>true</value></property><property><!-- 指定 HBase 的存储目录, f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com 为您的挂载点域名,根据实际情况修改 --><name>hbase.rootdir</name><value>dfs://f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com:10290/hbase</value></property><property><!-- 在文件存储HDFS版上使用 HBase 时该配置必须设置为 false --><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property><property><!-- 依赖的 ZooKeeper 配置, 根据实际情况修改 --><name>hbase.zookeeper.quorum</name><value>hostname:2181</value></property>

配置 ${HBASE_HOME}/conf/hbase-env.sh

## HBase 不使用自己的 ZooKeeperexportHBASE_MANAGES_ZK=false## 在 HBASE_CLASSPATH 中添加文件存储HDFS版 Java SDKexportHBASE_CLASSPATH=/path/to/aliyun-sdk-dfs-x.y.z.jar:${HBASE_CLASSPATH}

四 验证

  1. 启动 HBase
${HBASE_HOME}/bin/start-hbase.sh

注意:启动分布式HBase集群前确保 ZooKeeper 已经启动。


  1. 创建测试文件 dfs_test.txt 并写入如下内容
create 'dfs_test', 'cf'for i in Array(0..9999)
 put 'dfs_test', 'row'+i.to_s , 'cf:a', 'value'+i.to_s
end
list 'dfs_test'scan 'dfs_test', {LIMIT => 10, STARTROW => 'row1'}
get'dfs_test', 'row1'


  1. 执行如下命令向 HBase 中创建表并写入 10000 条数据
${HBASE_HOME}/bin/hbase shell dfs_test.txt


  1. 使用 MapReduce 计算行数
HADOOP_CLASSPATH=`${HBASE_HOME}/bin/hbase mapredcp` \
${HADOOP_HOME}/bin/hadoop jar ${HBASE_HOME}/lib/hbase-mapreduce-2.3.7.jar \
rowcounter dfs_test
## 如果在环境变量中已配置 HADOOP_HOME 及 HADOOP_CLASSPATH 也可以执行如下命令进行 RowCounter 计算${HBASE_HOME}/bin/hbase org.apache.hadoop.hbase.mapreduce.RowCounter dfs_test

注意:在 YARN 上执行 MapReduce 计数前需要先在 Hadoop 集群中启动 YARN 服务。


了解更多关于文件存储HDFS版的产品信息,欢迎访问https://www.aliyun.com/product/alidfs

如果您对文件存储HDFS版有任何问题,欢迎钉钉扫描以下二维码加入文件存储HDFS版技术交流群。

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
&nbsp; 相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情:&nbsp;https://cn.aliyun.com/product/hbase &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
2月前
|
IDE Java 分布式数据库
Apache HBase 落地JAVA 实战
Apache HBase 落地 Java 实战主要涉及使用 Java API 来操作 HBase 数据库,包括表的创建、删除、数据的插入、查询等操作。以下是一个基于 Java 的 HBase 实战指南,包括关键步骤和示例代码。
186 23
|
2月前
|
存储 分布式计算 分布式数据库
深入理解Apache HBase:构建大数据时代的基石
在大数据时代,数据的存储和管理成为了企业面临的一大挑战。随着数据量的急剧增长和数据结构的多样化,传统的关系型数据库(如RDBMS)逐渐显现出局限性。
341 12
|
3月前
|
存储 缓存 分布式数据库
Apache HBase 的组件有哪些?
【8月更文挑战第31天】
73 0
|
3月前
|
存储 大数据 分布式数据库
什么是 Apache HBase?
【8月更文挑战第31天】
66 0
|
5月前
|
Java 大数据 API
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
147 0
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
|
5月前
|
存储 大数据 分布式数据库
使用Apache HBase进行大数据存储:技术解析与实践
【6月更文挑战第7天】Apache HBase,一个基于HDFS的列式存储NoSQL数据库,提供高可靠、高性能的大数据存储。其特点是列式存储、可扩展至PB级数据、低延迟读写及多版本控制。适用场景包括大规模数据存储、实时分析、日志存储和推荐系统。实践包括集群环境搭建、数据模型设计、导入、查询及性能优化。HBase在大数据存储领域扮演关键角色,未来有望在更多领域发挥作用。
|
5月前
|
存储 分布式计算 Hadoop
Hadoop节点文件存储Hbase高可靠性
【6月更文挑战第2天】
91 2
|
5月前
|
存储 分布式计算 Hadoop
Hadoop节点文件存储Hbase面向列
【6月更文挑战第2天】
41 2
|
29天前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
588 13
Apache Flink 2.0-preview released
|
1月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
67 3

相关实验场景

更多

推荐镜像

更多