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

本文涉及的产品
对象存储 OSS,20GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
对象存储 OSS,恶意文件检测 1000次 1年
简介: 本文档主要介绍在文件存储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
目录
相关文章
|
17天前
|
存储 缓存 分布式数据库
Apache HBase 的组件有哪些?
【8月更文挑战第31天】
28 0
|
17天前
|
存储 大数据 分布式数据库
什么是 Apache HBase?
【8月更文挑战第31天】
29 0
|
3月前
|
Java 大数据 API
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
108 0
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
|
3月前
|
存储 大数据 分布式数据库
使用Apache HBase进行大数据存储:技术解析与实践
【6月更文挑战第7天】Apache HBase,一个基于HDFS的列式存储NoSQL数据库,提供高可靠、高性能的大数据存储。其特点是列式存储、可扩展至PB级数据、低延迟读写及多版本控制。适用场景包括大规模数据存储、实时分析、日志存储和推荐系统。实践包括集群环境搭建、数据模型设计、导入、查询及性能优化。HBase在大数据存储领域扮演关键角色,未来有望在更多领域发挥作用。
|
3月前
|
存储 分布式计算 Hadoop
Hadoop节点文件存储HBase设计目的
【6月更文挑战第2天】
48 6
|
3月前
|
存储 分布式计算 Hadoop
Hadoop节点文件存储Hbase高可靠性
【6月更文挑战第2天】
66 2
|
3月前
|
存储 分布式计算 Hadoop
Hadoop节点文件存储Hbase面向列
【6月更文挑战第2天】
33 2
|
4月前
|
分布式计算 安全 Hadoop
HBase Shell-org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet 已解决
在HBase Shell遇到错误时,检查Hadoop非安全模式:`hdfs dfsadmin -safemode get`。问题解决在于`hbase-site.xml`中添加配置:Zookeeper客户端端口设为2181和预写日志提供者设为filesystem。
|
23天前
|
存储 消息中间件 Java
Apache Flink 实践问题之原生TM UI日志问题如何解决
Apache Flink 实践问题之原生TM UI日志问题如何解决
31 1
|
7天前
|
SQL 消息中间件 关系型数据库
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。

热门文章

最新文章

相关实验场景

更多

推荐镜像

更多