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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储OSS,敏感数据保护2.0 200GB 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版技术交流群。

目录
相关文章
|
IDE Java 分布式数据库
Apache HBase 落地JAVA 实战
Apache HBase 落地 Java 实战主要涉及使用 Java API 来操作 HBase 数据库,包括表的创建、删除、数据的插入、查询等操作。以下是一个基于 Java 的 HBase 实战指南,包括关键步骤和示例代码。
546 23
|
存储 分布式计算 分布式数据库
深入理解Apache HBase:构建大数据时代的基石
在大数据时代,数据的存储和管理成为了企业面临的一大挑战。随着数据量的急剧增长和数据结构的多样化,传统的关系型数据库(如RDBMS)逐渐显现出局限性。
1542 12
|
存储 缓存 分布式数据库
Apache HBase 的组件有哪些?
【8月更文挑战第31天】
281 0
|
存储 大数据 分布式数据库
什么是 Apache HBase?
【8月更文挑战第31天】
262 0
|
存储 大数据 分布式数据库
使用Apache HBase进行大数据存储:技术解析与实践
【6月更文挑战第7天】Apache HBase,一个基于HDFS的列式存储NoSQL数据库,提供高可靠、高性能的大数据存储。其特点是列式存储、可扩展至PB级数据、低延迟读写及多版本控制。适用场景包括大规模数据存储、实时分析、日志存储和推荐系统。实践包括集群环境搭建、数据模型设计、导入、查询及性能优化。HBase在大数据存储领域扮演关键角色,未来有望在更多领域发挥作用。
|
Java 大数据 API
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
259 0
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
|
存储 分布式计算 Hadoop
Hadoop节点文件存储Hbase高可靠性
【6月更文挑战第2天】
231 2
|
存储 分布式计算 Hadoop
Hadoop节点文件存储Hbase面向列
【6月更文挑战第2天】
119 2
|
6月前
|
XML 存储 分布式计算
【赵渝强老师】史上最详细:Hadoop HDFS的体系架构
HDFS(Hadoop分布式文件系统)由三个核心组件构成:NameNode、DataNode和SecondaryNameNode。NameNode负责管理文件系统的命名空间和客户端请求,维护元数据文件fsimage和edits;DataNode存储实际的数据块,默认大小为128MB;SecondaryNameNode定期合并edits日志到fsimage中,但不作为NameNode的热备份。通过这些组件的协同工作,HDFS实现了高效、可靠的大规模数据存储与管理。
615 70
|
11月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
437 6

推荐镜像

更多