文档章节

大数据学习笔记-------------------(30)

henni_719
 henni_719
发布于 2017/03/14 17:25
字数 1367
阅读 8
收藏 0

第30章 HBASE架构与安装

30.1 HBase架构

HBase中,表分割成区域并由区域服务器提供服务。 区域被列族垂直划分为"Stores"。 Stores保存为HDFS中的文件。下面显示的是HBase的架构。

Note:术语"store"用于区域以解释存储结构

        

HBase有三个主要组件:客服端库(Client Library)、主服务器(Master Server)、区域服务器(Region Server)。可以根据需要添加或删除区域服务器。

30.1.1主服务器(MasterServer)

主服务器功能如下:

1.将区域分配给区域服务器,并获得Apache ZooKeeper对此任务的帮助

2.处理区域服务器之间的区域负载平衡。它卸载繁忙的服务器并将区域转移到占用较少的服务器

3. 通过协商负载平衡来维护集群的状态

4.负责模式更改和其他元数据操作,如创建表和列族

30.1.2 分区及分区服务器

区域只是分割并分布在区域服务器上的表。区域服务器有如下类型的区域:

Ø  与客户端通信并处理与数据相关的操作

Ø  处理对其下所有区域的读取和写入请求

Ø  按照区域大小阈值确定区域的大小

当深入研究区域服务器时,它包含区域和商店(Stores),如下所示:

         

Store包含内存StoreHFilesMemstore就像一个缓存。任何输入到HBase的东西都存储在这里。 随后,数据将作为块传输并保存在Hfiles中,并刷新memstore

30.1.3 Zookeeper

Ø  Zookeeper是一个开源项目,提供诸如维护配置信息、命名、提供分布式同步等服务。

Ø  Zookeeper具有表示不同区域服务器的临时节点。 主服务器使用这些节点来发现可用的服务器。

Ø  除可用性之外,节点还用于跟踪服务器故障或网络分区。

Ø  客户端通过zookeeper与区域服务器通信。

Ø  在伪和独立模式下,HBase本身将负责zookeeper

30.2 HBase安装

由于在第四部分,已经安装并配置好JAVA、Hadoop环境。基于第四部分配置好的环境,配置并安装HBase的步骤如下:

Step_1:以单独模式安装HBase

在链接: http://mirrors.cnnic.cn/apache/hbase/stable/ 使用"wget"命令下载最新稳定版本的HBase。进入到下载文件路径下,解压下载的HBase文件,执行操作的命令如下:

$su -
password: enter your password here
$cd /usr/local
$wget  http://mirrors.cnnic.cn/apache/hbase/stable/hbase-1.2.3-bin.tar.gz
$tar -zxvf hbase-1.2.3-bin.tar.gz
$mv hbase-1.2.3-bin  hbase

 执行结果如下:


Step_2:以单独模式配置HBase

在启动HBase之前,需要配置如下文件。

1.hbase-env.sh

打开hbase-env.sh文件,在文件中配置JAVA_HOME路径,执行命令如下:

                

 2.hbase-site.xml

 进入到文件所在路径,打开文件,在文件中添加如下信息:

<configuration>
       //Here you have to set the path where you want HBase to store its files.
       <property>
              <name>hbase.rootdir</name>
              <value>file:/home/hadoop/HBase/HFiles</value>
       </property>
       //Here you have to set the path where you want HBase to store its built in zookeeper files.
       <property>
               <name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/zookeeper</value>
        </property>
</configuration>
添加并保存,执行的步骤如下:


         到这,HBase安装和配置部分已经配置成功。到hbase文件夹中的bin文件下,运行shell脚本"start-hbase.sh"启动HBase服务,如果配置信息都正确,当运行HBase启动脚本命令时,将会给出如下图所示的响应信息。执行命令如下所示:

        

Step_2:以伪分布式模式安装HBase

在启动HBase时,配置Hadoop和本地系统或远程系统的HDFS并确保hadoop和hdfs正在运行。如果HBase正在运行,停止HBase。

hbase-site.xml

 在文件中添加如下属性

<configuration>
       <property>
             <name>hbase.cluster.distributed</name>
              <value>true</value>
       </property>
       <property>
              <name>hbase.rootdir</name>
           <value>hdfs://localhost:8030/hbase</value>
       </property>
 </configuration>
 配置完成后,确保 hadoop正在运行,然后启动 hbase,执行结果如下:


      

Ø  检查HDFS下的HBase路径

HBase创建它在HDFS中的路径。执行命令"hadoop fs -ls /hbase",查看创建的路径。如果存在或者路径下有文件。格式类似如下:

        

Step_3:启动和停止Master服务

 进入hbase文件夹下的bin,使用"local-master-backup.sh",最多可以启动10服务器。启动的命令如下:"

$/usr/local/hbase/bin/local-master-backup.sh 2 4

如果想关闭一个backup Master,需要知道该进程id,把id存进一个名为"/tmp/hbase-USER-X-master.pid",执行命令关闭backup master服务:

$cat /tmp/hbase-user-1-master.pid |xargs kill -9

Step_4:启动和关闭分区服务器(Region Servers)

执行如下命令:

$/usr/local/hbase/bin/local-regionservers.sh start 2 3
在单个系统运行多个 region servers,执行如下命令:"
$/usr/local/hbase/bin/local-regionservers.sh stop 3
关闭一个 region server。

Step_5:启动HBase Shell

按照如下序列,启动HBaseShell。打开终端,切换到超级用户。

1.        启动Hadoop文件系统

执行命令启动hadoop文件系统:

2.        启动HBase

进入到hbase文件夹下的bin文件,执行命令"./start-hbase.sh",启动HBase

3.        启动HBase Master Server

进入到hbase文件夹下的bin文件,执行命令"./ local-master-backup.sh start2",启动Master Server

4.        启动 Region Server

进入到hbase文件夹下的bin文件,执行命令"./ local-regionservers.sh start2",启动Region Server

5.        启动HBase Shell

进入到hbase文件夹下的bin文件,执行命令"./hbase shell",执行成功,会弹出如下对话框:

Step_6:HBaseWeb接口

点击打开链接         


 

本文转载自:http://blog.csdn.net/henni_719/article/details/53008658

henni_719
粉丝 2
博文 466
码字总数 343938
作品 0
信阳
QA/测试工程师
私信 提问
20天,碎片化时间,266页西瓜书。大神笔记拿走,快速学起来

     五一小长假前,大数据文摘发起了打卡学习活动,收到了读者朋友的积极响应,也成了氛围良好的学习社区。目前,第三轮打卡学习活动即将接近尾声,文摘菌带大家一起来感受打卡学习社区...

大数据文摘
2018/05/13
0
0
AI角 | 把吴恩达深度学习系列课程画出来,这有份诚意满满的笔记求查收

在吴恩达机器学习系列课程完结后不久,一位名叫Tess Ferrandez的小姐姐在推特上分享了一套自己的课程笔记,瞬间收获了3k+赞和1k+转发。 不同于满屏公式代码的黑白笔记,这套信息图不仅知识点...

技术小能手
2018/03/19
0
0
把吴恩达深度学习系列课程画出来,这有份诚意满满的笔记求查收

     大数据文摘作品   在吴恩达机器学习系列课程完结后不久,一位名叫Tess Ferrandez的小姐姐在推特上分享了一套自己的课程笔记,瞬间收获了3k+赞和1k+转发。   不同于满屏公式代码...

大数据文摘
2018/03/19
0
0
只看视频不动手的你可能学了门假课程,李飞飞计算机视觉成名作斯坦福CS231n作业详解重磅来袭!

大数据文摘作品 看完视频并不是真正的学习了一遍,更重要的是写作业、动手实践、讨论,这才能把学到的知识真正掌握住。看完斯坦福CS231n的公开课,是不是觉得还不够过瘾?快来和文摘菌一起写...

大数据文摘
2018/01/27
0
0
第三期打卡召集令:李飞飞吴恩达周志华陪你过五一

     今天下班后,期待已久的五一小长假就开始了!相信大家都已经做好五一假期的安排,不管是出门还是宅在家,在给身体和心灵充电的同时,无比热爱学习的大数据文摘就来负责给你的脑袋充...

大数据文摘
2018/04/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
今天
4
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
今天
6
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
今天
4
0
OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
996
11
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
40
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部