原帖地址: 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的架构

  • 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

host1host2 两台机子上都修改 /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/ 会看到这样的界面

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

Alex 的 Hadoop 菜鸟教程: 第6课 Hbase 安装教程相关推荐

  1. Alex 的 Hadoop 菜鸟教程: 第5课 YARN 安装以及helloworld (基于centos的CDH)

    原帖地址:http://blog.csdn.net/nsrainbow/article/details/36627675 新老MapReduce的比较 说到YARN肯定要先说下老的MapReduce ...

  2. Hadoop、Hbase安装教程保姆级教程

    Hadoop.Hbase安装教程 准备Centos系统 设置网络 安装java环境 配置SSH免密登录 安装hadoop 修改Hadoop相关命令执行环境 修改Hadoop配置 运行和测试 Web界面 ...

  3. Mysql8.0.12安装教程方法 Mysql8.0.12安装教程

    Mysql8.0.12安装教程方法 Mysql8.0.12安装教程 MySql安装教程 - 首先,MySql官网下载地址: 官网下载地址 主要下载server版本的 Archive版本,不需要安装解压 ...

  4. mysql8.0.12怎么用_Mysql8.0.12安装教程方法 Mysql8.0.12安装教程

    Mysql8.0.12安装教程方法 Mysql8.0.12安装教程 MySql安装教程 - 首先,MySql官网下载地址: 官网下载地址 主要下载server版本的 Archive版本,不需要安装解压 ...

  5. STM32安装教程和J-link烧录驱动安装教程【第二天】

    STM32安装教程和J-link烧录驱动安装教程 一.SOC 二.安装简介 三.STM32工程创建步骤 四.J-link安装过程 五.STM32型号 一.SOC SoC称为系统级芯片,也有称片上系统, ...

  6. mysql安装的官方教程_MySQL官方教程及各平台的安装教程和配置详解入口

    官方文档入口: https://dev.mysql.com/doc/ 一般选择MySQL服务器版本入口: https://dev.mysql.com/doc/refman/en/ 在右侧有版本选择: ...

  7. Linux中Hadoop的Hbase安装教程

    学习目标: 1.学习HBase的安装流程 2.掌握HBase的工作原理 实验平台:章鱼互联网学院(https://www.ipieuvre.com/) 相关知识: HBase是一个分布式的,面向列的开 ...

  8. Ubuntu18.04安装教程及SLAM常用软件安装教程

    文章目录 前言 Ubuntu18.04安装教程 一.准备工作 1.1.下载ubuntu镜像 1.2.制作U盘启动项 1.3.给ubuntu分配硬盘空间 二 安装ubuntu18.04系统 2.1.设置 ...

  9. python3.7.4安装教程-Python3.7.4图文安装教程

    Python Python开发 Python语言 Python3.7.4图文安装教程 Python更新的很快,一转眼Python2已经过时了,本文为大家详细说明Python最新版本3.7.4的安装过程 ...

  10. python官网下载步骤除了windows-python安装教程详解|python下载安装教程步骤

    Python是现在最受欢迎的编程语言,使用Python开发软件应用效率极高,相比其它语言有不可比拟的优势,Python是一种跨平台的计算机程序设计语言. 免费开源.最初被设计用于编写自动化脚本(she ...

最新文章

  1. 文件服务器高可用群集,fastDFS文件服务器(三):集群和高可用环境篇
  2. 自由自在意式手工冰淇淋,健康时尚的美味零食
  3. 基于Spring Boot不同的环境使用不同的配置方法
  4. Python绘图,圣诞树,花,爱心 | Turtle篇
  5. CSS3实现垂直居中
  6. linux添加变量6,Linux下查看和添加环境变量
  7. Okhttp 与 Retrofit的简单介绍及两者间的联系
  8. HDU 6156 2016ICPC网络赛 G: Palindrome Function(数位DP)
  9. python自动拷贝U盘文件(打包成exe)
  10. DIRECTSHOW中的视频捕捉
  11. 无法将数据库从SINGLE_USER模式切换回MULTI_USER模式(Error 5064)
  12. 系统封装到底有个什么用
  13. Vim中文本全部选中
  14. 六个做PPT离不开的辅助插件,一秒让你的PPT逼格满满!
  15. 史上最被低估的神级学科,看完忍不住感慨“它”也太重要了!
  16. Django REST framework学习笔记
  17. 心脏滴血(CVE-2014-0160)
  18. 什么是依赖注入,vue的依赖注入如何实现的
  19. 1.性能测试项目实战
  20. Synopsys DC 笔记

热门文章

  1. asp.net组件检查网站探针
  2. 设计教务管理系统MySQL,数据库设计实例 教务管理系统
  3. u3d商业级开心消消乐源码开发总结
  4. hbuildx微信开发者工具-微信小程序测试
  5. Nvidia 的新显卡架构 Maxwell 性能相比开普勒提升了多少?
  6. 趋势科技防毒墙-网络版(OfficeScan)客户端管理工具
  7. Linux wget下载方式
  8. android按钮放图片不显示文字,Android 自定义标签 Imagebutton实现ImageButton里放置文字...
  9. 更新visual studio 报错The dependent package of ‘Microsoft.Net.PackageGroup.4.6.Redist‘
  10. win7 做无盘服务器配置,两种方法轻松实现无盘安装Win7系统