上云无忧 > 文档中心 > 百度智能云MapReduce - 存储数据至HBase
百度智能云MapReduce - 存储数据至HBase

文档简介:
使用HBase存储数据需正确安装HBase,操作详情如下: 安装HBase。请在创建集群时安装HBase,具体操作请参考创建集群。HBase安装成功后,HBase的Master部署在BMR的Master节点,Region Server部署在BMR的Core节点。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

准备

使用HBase存储数据需正确安装HBase,操作详情如下:

  1. 安装HBase。请在创建集群时安装HBase,具体操作请参考创建集群。HBase安装成功后,HBase的Master部署在BMR的Master节点,Region Server部署在BMR的Core节点。
  2. 登录HBase Master节点。即连接到BMR集群的Master节点,具体操作请参考SSH连接到集群。
  3. 登录HBase Master节点后,通过SSH登录BMR的Core节点:Core节点的内网地址作为SSH连接的IP地址,端口号请至站内信获取。

读写数据

可通过以下步骤完成读写数据操作:

  1. 连接HBase。登录HBase Master节点,执行命令:hbase shell。
  2. 建表。

    示例:若建立一个名为’test’的表,这个表包含一个名为’family’的列族,请执行命令:hbase(main):001:0> create 'test', 'family'。

  3. 列出所有表。执行命令:hbase(main):001:0> list。
  4. 写入数据。

    示例:若设置行’row1’、列’ family:col1’对应的数据为’val1’,请执行命令:hbase(main):001:0> put 'test', 'row1', 'family:col1', 'val1'

  5. 读取数据。

    示例:

    • 若读取行’row1’的全部数据,请执行命令:hbase(main):001:0> get 'test', 'row1'
    • 若读取行’row1’、列’family:col1’对应的数据,请执行命令:hbase(main):001:0> get 'test', 'row1', 'family:col1'

配置HBase

  1. 登录HBase的Master节点。
  2. 在Master节点的/etc/hbase/conf目录下,找到配置文件hbase-sit.xml和配置JVM和GC参数的hbase-env.sh脚本,修改相应的参数并保存配置文件。
  3. 修改完配置文件后,请重启HBase Master节点和Region Server使配置生效。

    • Master的重启命令如下:su hbase -c '/opt/bmr/hbase/bin/hbase-daemon.sh --config /etc/hbase/conf restart master'
    • Region Server的重启命令如下:su hbase -c '/opt/bmr/hbase/bin/hbase-daemon.sh --config /etc/hbase/conf restart regionserver'

使用Hive访问HBase

应用场景

在BMR中,用户可以结合HBase使用Hive。使用Hive访问HBase时,Hive和HBase可以在同一集群上,也可以分别存在于不同集群上。通常建议用户将HBase和Hive运行于不同集群中,因为这样可以让HBase更充分的利用集群资源。

将Hive连接到HBase后,可以通过在Hive中创建外部表对HBase中存储的数据进行访问。

说明: 用户只能将Hive集群连接到单个的HBase集群。

操作步骤

  1. Hive连接到HBase。

    1. 通过控制台创建BMR集群,并添加Hive应用。请参考创建集群。
    2. 通过SSH连接到主节点。请参考SSH连接到集群。
    3. 复制HBase集群的/etc/hosts内容至Hive集群的/etc/hosts中。
    4. 执行命令hive启动Hive程序。
    5. 连接Hive集群上的HBase客户端与包含数据的HBase集群。执行命令set hbase.zookeeper.quorum=hbase_cluster_master_ip。

      说明:

      • hbase_cluster_master_ip为Hbase服务所在集群的主节点内网IP,Hive和Hbase必须是同一用户的两个集群。
      • 若Hive和Hbase在同一集群中,此步骤可省略。
  2. Hive访问HBase数据。 从Hive提示符中运行时,以下示例创建了一个外部表,此表引用了存储在名为hive_hbase的HBase表上的数据。然后,您可直接引用Hive语句中的pagecounts_hbase,查询和修改存储在HBase集群上的数据。

    CREATE EXTERNAL TABLE IF NOT EXISTS pagecounts_hbase (rowkey STRING, pageviews STRING, bytes STRING)
        STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
            WITH SERDEPROPERTIES ('hbase.columns.mapping' = ':key,f:c1,f:c2')
             TBLPROPERTIES ('hbase.table.name' = 'hive_hbase');
    
    select count(*) from pagecounts_hbase;

查看HBase日志

请在HBase Master和Region server节点的/var/log/hbase目录下查看HBase日志。

相似文档
  • Maven项目包样例: 百度智能云提供了以下组件的Maven项目样例代码,您可通过GitHub克隆代码至本地设计自己的程序:MapReduce。 Linux环境下使用命令行编译Maven项目: 以Ubuntu 14.04环境为例,介绍Maven的安装和编译。
  • 介绍: 多用户访问控制,主要用于帮助用户管理云账户下资源的访问权限,适用于企业内的不同角色,可以对不同的工作人员赋予使用产品的不同权限,当您的企业存在多用户协同操作资源时,推荐您使用多用户访问控制。
  • 概览: 通过定时任务创建BMR集群,分析日志数据,定时释放集群,为用户大大节约了使用成本。 需求场景: 对于业务稳定且有规律的用户,日志的峰值和低谷的规律一般是固定的。对于有规律的日志业务场景,用户只需要在特定的时间段内用集群进行分析即可,其余时间无需使用集群。
  • 概览: 网站日志包含用户访问信息,通过日志分析我们可以了解网站的访问量、网页访问次数、网页访问人数、频繁访问时段等等,以便获取用户行为以优化网站的商业价值。由于网站每天会产生海量的日志,非常适合使用MapReduce(简称BMR)这样的托管Hadoop服务。
  • MapReduce混部方案可以让您以“分时”的方式使用BCC云服务器,即在云服务器BCC繁忙的时候专注自身业务,空闲的时候分一部分精力帮助BMR集群的大数据计算。既提高了云服务器BCC的资源利用率,也提高了BMR集群的计算能力,降低总体IT支出。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部