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

本文涉及的产品
对象存储 OSS,20GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
文件存储 NAS,50GB 3个月
简介: 本文档主要介绍在文件存储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
目录
相关文章
|
3月前
|
IDE Java 分布式数据库
Apache HBase 落地JAVA 实战
Apache HBase 落地 Java 实战主要涉及使用 Java API 来操作 HBase 数据库,包括表的创建、删除、数据的插入、查询等操作。以下是一个基于 Java 的 HBase 实战指南,包括关键步骤和示例代码。
238 23
|
3月前
|
存储 分布式计算 分布式数据库
深入理解Apache HBase:构建大数据时代的基石
在大数据时代,数据的存储和管理成为了企业面临的一大挑战。随着数据量的急剧增长和数据结构的多样化,传统的关系型数据库(如RDBMS)逐渐显现出局限性。
535 12
|
4月前
|
存储 缓存 分布式数据库
Apache HBase 的组件有哪些?
【8月更文挑战第31天】
100 0
|
4月前
|
存储 大数据 分布式数据库
什么是 Apache HBase?
【8月更文挑战第31天】
82 0
|
6月前
|
Java 大数据 API
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
156 0
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
|
6月前
|
存储 大数据 分布式数据库
使用Apache HBase进行大数据存储:技术解析与实践
【6月更文挑战第7天】Apache HBase,一个基于HDFS的列式存储NoSQL数据库,提供高可靠、高性能的大数据存储。其特点是列式存储、可扩展至PB级数据、低延迟读写及多版本控制。适用场景包括大规模数据存储、实时分析、日志存储和推荐系统。实践包括集群环境搭建、数据模型设计、导入、查询及性能优化。HBase在大数据存储领域扮演关键角色,未来有望在更多领域发挥作用。
|
6月前
|
存储 分布式计算 Hadoop
Hadoop节点文件存储Hbase高可靠性
【6月更文挑战第2天】
111 2
|
6月前
|
存储 分布式计算 Hadoop
Hadoop节点文件存储Hbase面向列
【6月更文挑战第2天】
49 2
|
11天前
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
289 33
The Past, Present and Future of Apache Flink
|
2月前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
843 13
Apache Flink 2.0-preview released

相关实验场景

更多

推荐镜像

更多