Alex 的 Hadoop 菜鸟教程: 第6课 Hbase 安装教程「建议收藏」

Alex 的 Hadoop 菜鸟教程: 第6课 Hbase 安装教程「建议收藏」这次给大家介绍一下Hbase的概念和安装教程

大家好,又见面了,我是你们的朋友全栈君。

原帖地址: http://blog.csdn.net/nsrainbow/article/details/38515007

声明:

  • 本文基于Centos 6.x + CDH 5.x 
  • 官方英文安装教程http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH5/latest/CDH5-Installation-Guide/cdh5ig_hbase_installation.html 。本文并不是简单翻译,而是再整理
  • 因为之前说过了HA模式的部署,所以这边不会说单机版的安装,直接说分布式的安装
  • 有一个基本常识需要知道,hadoop的配置文件基本上是所有机器都一样的,所以如果有改到配置文件方面基本都是要同步修改所有机器

介绍

Hbase是什么

Hbase 是基于google那篇 bigtable的论文的一个开源的实现,基于hdfs来存储表里面的数据。是一个NoSQL数据库。它是一个列式数据库。啥叫列式数据库呢?我们一般的数据库里面一行的数据就是存成一行,但是在hbase里面如果你这行有5个列,那就是5个独立的键值对,有可能都不是存在同一台机器上,这5个键值对之间的关联就是 rowkey,他们有共同的rowkey,除此之外他们之间么有关联,就像完全属于不同的表一样。

Hbase的架构

Alex 的 Hadoop 菜鸟教程: 第6课 Hbase 安装教程「建议收藏」

  • HMaster— HBase中仅有一个Master server。
  • HRegionServer—负责多个HRegion使之能向client端提供服务,在HBase cluster中会存在多个HRegionServer。

安装

配置最大文件数

centos 最大文件数

hbase 会打开很多文件,而centos的默认最大打开数是不够的,所以要调整
编辑 /etc/security/limits.conf file 增加下面两行
hdfs  -       nofile  32768
hbase -       nofile  32768

hdfs最大文件数

还要调整hdfs的最大文件数。编辑 /etc/hadoop/conf/hdfs-site.xml 增加以下属性 (所有机器)
<property>
  <name>dfs.datanode.max.xcievers</name>
  <value>4096</value>
</property>

如果不增加这个容易出现以下错误

10/12/08 20:10:31 INFO hdfs.DFSClient: Could not obtain block blk_XXXXXXXXXXXXXXXXXXXXXX_YYYYYYYY from any node: 
java.io.IOException: No live nodes contain current block. Will get new block locations from namenode and retry... 

记得改完后重启hadoop的服务

安装hbase

在随便一台你要运行hbase的机子上安装,这里就在 
host1 上安装吧(根据之前的课程
Alex 的 Hadoop 菜鸟教程: 第4课 Hadoop 安装教程 – HA方式 (2台服务器) 我们有两台机器 host1 和 host2 )

$ sudo yum install hbase -y

如果没有yum源请参考  
Alex 的 Hadoop 菜鸟教程: 第2课 hadoop 安装教程 (CentOS6 CDH分支 yum方式)

rpm -ql hbase

检验安装路径,会发现安装在 /usr/lib/hbase下

安装hbase-master

这边要说下hbase的 master 和 slave 概念。hbase 运行的时候有一个master 和多个 slave 。这边的 hbase-master 从命名上也能看出就是master机。

还是选择在 host1 上安装

yum install hbase-master -y

host1 host2 两台机子上都修改 /etc/hbase/conf/hbase-site.xml 在 <configuration> 和 </configuration> 之间增加以下2个属性

  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://mycluster/hbase</value>
  </property>

这里的mycluster 是我自己的集群id,具体名称看你在 hdfs-site.xml 里面的 dfs.nameservices 属性配的是什么名字了。

在hdfs上建立 hbase 使用的文件夹

sudo -u hdfs hdfs dfs -mkdir /hbase
sudo -u hdfs hdfs dfs -chown hbase /hbase

启动 hbase-master 。 hbase-master 是需要zookeeper的,所以确保你的zookeeper启动了。

安装 RegionServer

官方建议在所有的 datanode 机器上安装 RegionServer 。所以在host1 和  host2 都安装 RegionServer 。

yum install hbase-regionserver -y

安装好后修改
两台机器的配置文件 /etc/hbase/conf/hbase-site.xml ,在 <configuration> 和 </configuration> 中增加以下属性

    <property>
      <name>hbase.zookeeper.quorum</name>
      <value>mymasternode</value>
    </property>

这里的 mymasternode 要替换成真实的地址。
这个东西其实我们在 Alex 的 Hadoop 菜鸟教程: 第4课 Hadoop 安装教程 – HA方式 (2台服务器) 中见过,在hdfs的HA配置中有一个属性叫 ha.zookeeper.quorum 配置的是 zookeeper 集群的地址,同理的,这边也是配置了hbase 的 RegionServer 需要的 zookeeper 地址,所以在本例中我们配置成

    <property>
      <name>hbase.zookeeper.quorum</name>
      <value>host1:2181,host2:2181</value>
    </property>

启动Hbase

先启动hbase-master 再期待共 hbase-regionserver
service hbase-master start
service hbase-regionserver start

注意: 确保两台机器的hbase-site.xml的配置是一样的,别某台机器漏掉了某项配置就麻烦了

安装HBase Thrift Server

这个Thrift 是用来让其他程序跟Hbase连接用的,你可以看做是有了Thrift 之后Hbase才开放了程序调用的API,你才可以用不同的语言来调用hbase。我们选择hbase-master 所在的
host1进行安装
 yum install hbase-thrift -y

启动服务

service hbase-thrift start

服务的启动顺序

官方说服务的启动顺序是这样的
  1. zookeeper
  2. hbase-master
  3. 各个regionserver

检验

web界面

服务都启动完毕后,访问 http://host1:60010/ 会看到这样的界面
Alex 的 Hadoop 菜鸟教程: 第6课 Hbase 安装教程「建议收藏」


shell命令行工具

在 hbase-master 那台机子上进入 hbase shell 并运行  list 查询所有表试试看
$ hbase shell

......

hbase(main):001:0> list
TABLE                                                                                                                         
0 row(s) in 15.1010 seconds

=> []

如果没有报任何异常,输出像这样,那么恭喜你成功了!


如果出现任何异常就去 /var/log/hbase/ 下面看日志,这些日志对你解决问题的帮助非常大,可以说是唯一的线索!


参考资料

  • http://www.uml.org.cn/sjjm/201212141.asp 


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144828.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 蓝奏云直链解析api源码_全部免费软件蓝奏云网盘

    蓝奏云直链解析api源码_全部免费软件蓝奏云网盘介绍蓝奏云下载地址解析API模拟蓝奏云真实操作获取下载地址.软件架构1.支持检测文件是否被取消2.支持带密码的文件分享链接但不支持分享的文件夹3.支持生成直链或直接下载4.支持ios应用在线安装获取地址使用说明url:蓝奏云外链链接type:是否直接下载值:downpwd:外链密码(1)内部调用方法include(‘lanzou.clsss.php’);$lz=newlanzou;$re…

    2022年10月22日
  • 浮动QQ在线咨询(js,c#,NET)[通俗易懂]

    浮动QQ在线咨询(js,c#,NET)[通俗易懂] 浮动QQ在线咨询(js,c#,NET)浮动在网页上面的QQ在线咨询代码:4@:O5V,o7_6];L7qb310波球论坛b310波球网,波球网,博球,博球网,行家心水,赛事推荐,赛事分析,资料库,足球赛事,篮球,NBA,赔率,比分,篮球数据,足球数据,分析,推荐+k0O1I2d$z6o,c”k.f(感谢:http://www.ijavascript.cn

  • mpc hc设置_mpc是指什么

    mpc hc设置_mpc是指什么MPC-HC播放器设置启动 MPC-HC ,先设置语言:(最新版本会自动选择对应的系统语言)View-Language-Chinese=>界面变为中文进 视图-选项:播放器:建议勾选「保存设置至.ini文件中」格式:建议勾选全部视频类格式,其中 QuickTime 建议采用「DirectShow」滤镜(双击右侧,在下拉框中即可选择),播放性能会

  • SSM整合Shiro进行登陆认证和授权详细配置

    SSM整合Shiro进行登陆认证和授权详细配置

  • 对称加密算法常用的五种分组模式(ECB/CBC/CFB/OFB/CTR)「建议收藏」

    版权声明:本文为作者原创,如需转载,请注明出处https://blog.csdn.net/weixin_42940826注:以下图片来自于《图解密码学》,这本书讲的更全面细致,建议阅读,在我资源库中有此书,还有使用go语言具体实现和解释此书中的各种加密算法的文档,有需要的可以自习前往免费下载一图全览五种模式详解1.ECB-ElectronicCodeBook,电子密码本…

  • Fungus插件_插件大师

    Fungus插件_插件大师一个任务的fungus声明fungus设置一个开关,当触发碰撞器时,将开关打开,当在持续碰撞时如是碰到的是人物,并且按下空格且开关为开,就执行对话重载名字并且关闭开关//多个任务的时候就是加个else其他都一样usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingFungus;usingUnityEngine;publicclassFungunNpcGrandFather:.

    2022年10月25日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号