当前位置:   article > 正文

hbase安装与配置_配置hbase-site.xml文件

配置hbase-site.xml文件

hbase是基于hdfs的面向列的分布式数据库.源于google的BigTable论文.
这里聊聊NoSQL,总体上可分为:

  1. 基于列存储,如Hbase
  2. 基于文档存储,如mongdb
  3. 基于键值对存储,如redis
  4. 基于图形数据存储,如neo4j

Hbase架构

在这里插入图片描述

  1. HRegion, HBase使用表存储数据,表的大小一定,若数据超过表的大小则会将表划分为不同的Region,HRegion保存着表中的一段连续的数据,通过表名和主键范围区分.HRegion由HStore组成每个HStore对应一个列族,HStore由MemStore和StoreFile组成,数据首先写入MemStore,当MemStore满了后在写入StoreFile,StoreFile是HBase的最小存储单位,底层实现由HFile实现.HFile是键值对数据形式存储.HBase不直接更新删除数据,所有数据是通过追加的方式更新的.
  2. HRegionServer,负责相应用户I/O请求,一台机子只有一个,HRegionServer由HLog和 HRegion组成,HLog负责存储数据日志,最HRegion的写操作先会写入日志中,然后才会加入内存中的MemStore,所以HLog主要负责故障恢复.
  3. HMaster,主要负责通知HRegionServer负责多少个HRegion,每台HRegionServer都会与master通信.
  4. ZooKeeper,负责监控集群状态,若HRegionServer故障通知HMaster进行HRegion迁移.若HMaster故障,ZooKeeper负责回复HMaster,保证集群中只有一个HMaster.
    同时ZooKeeper保存着HBase的-ROOT-表(根表)和.META.表(元数据表),元数据表记录普通用户的HRegion表示符信息.根表保存元数据的HRegion信息.

HBase的安装

前提要安装好java, hadoop
1.单机模式
vim hbase-site.xml

<configuration>
	<property>
	<!--指定hbase的数据存储目录-->
		<name>hbase.rootdir</name>
		<value>file:///home/hbase</value>
	</property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

运行

bin/start-hbase.sh

2.伪分布式
与单机版一致只是多了几个进程,HMaster, HRegionServer, HQuorumPeer
vim hbase-site.xml

<configuration>
	<property>
	<!--指定hbase的数据存储目录-->
		<name>hbase.rootdir</name>
		<value>hdfs://node:9000/hbase</value>
	</property>
	<property>
	<!--分布式安装-->
		<name>hbase.cluster.distributed</name>
		<value>true</value>
	</property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

vim hbase-env.sh

export JAVA_HOME=/…/

3.完全分布式
HMaster运行在Namenode上, HRegionServer运行在datanode上.
前提同步各个结点的时钟,这是一个大坑
vim hbase-site.xml

<configuration>
	<property>
	<!--指定hbase的数据存储目录-->
		<name>hbase.rootdir</name>
		<value>hdfs://node:9000/hbase</value>
	</property>
	<property>
	<!--分布式安装-->
		<name>hbase.cluster.distributed</name>
		<value>true</value>
	</property>
	<property>
	<!--HMaster地址-->
		<name>hbase.master</name>
		<value>node:60000</value>
	</property>
	<property>
	<!--Zookeeper集群中所有服务器位置-->
		<name>hbase.zookeeper.quorum</name>
		<value>node1,node2,node3</value>
	</property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

vim hbase-env.sh

export JAVA_HOME=/../
export HADOOP_HOME=/../
export HBASE_HOME=/../
export HBASE_MANAGES_ZK=true
  • 1
  • 2
  • 3
  • 4

HBASE_MANAGES_ZK若果是true表示使用自带的zookeeper, false表示不会使用自带的,也就是说内置zookeeper不会随HBase启动.需要单独启动zookeeper实例.

添加所有HRegionServers结点

vim regionservers
node2
node3
  • 1
  • 2
  • 3

bin/start-hbase.sh启动,可通过http://node:16010查看是否成功安装
bin/hbase shell 可启动hbase的shell,输入status后如果显示有服务在运行表示安装成功,否则查日志检查错误吧.因为可能你启动后HMaster, HRegionServers可能会在几秒后自己结束,这表明安装中有问题.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/666183
推荐阅读
相关标签
  

闽ICP备14008679号