7.2 搭建HBase的环境
准备工作:
解压Hbase安装包
[root@bigdata111 tools]# tar -zxvf hbase-1.3.1-bin.tar.gz -C ~/training/
设置Hadoop的环境变量 vi ~/.bash_profile
HBASE_HOME=/root/training/hbase-1.3.1
export HBASE_HOME
PATH=$HBASE_HOME/bin:$PATH
export PATH
生效环境变量:source ~/.bash_profile
7.2.1 搭建HBase的本地模式
特点:不需要HDFS,把数据直接存在操作系统Linux上
HBase本地模式配置
参数文件 | 配置参数 | 参考值 | 备注 |
---|---|---|---|
.bash_profile | HBASE_HOME | /root/training/hbase-1.3.1 | |
hbase-env.sh | JAVA_HOME | /root/training/jdk1.8.0_144 | 28行 |
hbase-site.xml | hbase.rootdir | file:///root/training/hbase-1.3.1/data | 数据保存的目录 首先创建为本地文件 |
hbase-env.sh
28 export JAVA_HOME=/root/training/jdk1.8.0_144
hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>file:///root/training/hbase-1.3.1/data</value>
</property>
启动HBase命令:start-hbase.sh————仅仅只启动HMaster
停止HBase命令:stop-hbase.sh
hbase shell 命令进入数据库
7.2.2 搭建HBase的伪分布模式
特点
-
也是一台机器,需要一个zookeeper、一个HMaster、一个RegionServer
-
需要启动hadoop环境:start-hdfs.sh
HBase伪分布模式配置
参数文件 | 配置参数 | 参考值 | 备注 |
---|---|---|---|
.bash_profile | HBASE_HOME | /root/training/hbase-1.3.1 | |
hbase-env.sh | JAVA_HOME | /root/training/jdk1.8.0_144 | 28行 |
同上 | HBASE_MANAGES_ZK | true | 第129行注释打开 使用HBase自带的Zookeeper |
hbase-site.xml | hbase.rootdir | hdfs://192.168.157.111:9000/hbase | HBase对应的HDFS目录 |
同上 | hbase.cluster.distributed | true | 是一个分布式环境 |
同上 | hbase.zookeeper.quorum | 192.168.157.111 | 指定ZK的地址 |
同上 | dfs.replication | 1 | |
regionservers | 192.168.157.111 | 指定从节点所在的地址 |
参数配置
hbase-env.sh
28 export JAVA_HOME=/root/training/jdk1.8.0_144
129 export HBASE_MANAGES_ZK=true
hbase-site.xml
<!--HBase对应的HDFS目录-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.157.111:9000/hbase</value>
</property>
<!--是一个分布式环境-->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!--指定ZK的地址-->
<property>
<name>hbase.zookeeper.quorum</name>
value>192.168.157.111</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
regionservers
192.168.157.111
启动命令与本地模式一样,但是启动的服务不一样
可以同本地模式一样在本地操作,也可以在网页上查看,配置的hdfs网址
可以通过打开ZooInspector文件夹中的zookeeper-dev-ZooInspector.jar文件(JVM打开方式)
点击连接设置
- connet String :ip:2181
- session Timeout:5000
7.2.3 搭建HBase的全分布模式和HA
7.2.3.1 搭建HBase的全分布
需要机器及其配置:
bigdata112:HMaster、ZooKeeper
bigdata113:RegionServer
bigdata114:RegionServer
注意:每台机器的时间同步,可以使用 date -s 11/22/2016 设置时间
如果时间不同步:
- Hadoop:执行MR出错
- HBase:RegionServer会自动停止
准备工作:
在主节点上进行操作
- 启动hadoop环境:start-dfs.sh
- 上传hbase.tar.gz文件到主节点上
- 解压:tar -zxvf hbase-1.3.1-bin.tar.gz -C ~/training/
在每台机器上同步设置环境变量
设置Hadoop的环境变量 vi ~/.bash_profile
HBASE_HOME=/root/training/hbase-1.3.1
export HBASE_HOME
PATH=$HBASE_HOME/bin:$PATH
export PATH
生效环境变量:source ~/.bash_profile
主机参数配置
hbase-env.sh
28 export JAVA_HOME=/root/training/jdk1.8.0_144
129 export HBASE_MANAGES_ZK=true
hbase-site.xml
参数文件 | 配置参数 | 参考值 |
---|---|---|
.bash_profile | HBASE_HOME | /root/training/hbase-1.3.1 |
hbase-env.sh | JAVA_HOME | /root/training/jdk1.8.0_144 |
同上 | HBASE_MANAGES_ZK | true |
hbase-site.xml | hbase.rootdir | hdfs://192.168.157.111:9000/hbase |
同上 | hbase.cluster.distributed | true |
同上 | hbase.zookeeper.quorum | 192.168.157.111 |
同上 | dfs.replication | 2 |
同上 | hbase.master.maxclockskew | 180000 |
regionservers | 192.168.157.113 192.168.157.114 |
<!--HBase对应的HDFS目录-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.157.112:9000/hbase</value>
</property>
<!--是一个分布式环境-->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!--指定ZK的地址-->
<property>
<name>hbase.zookeeper.quorum</name>
value>192.168.157.112</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!--允许集群各个节点的时间误差的最大值,单位是毫秒-->
<property>
<name>hbase.master.maxclockskew</name>
<value>180000</value>
</property>
regionservers
192.168.157.113
192.168.157.114
文件分发
把安装目录复制到从节点上(可以删掉doc文件下面所有的xml文件)
- scp -r hbase-1.3.1/ root@bigdata113:/root/training
- scp -r hbase-1.3.1/ root@bigdata114:/root/training
启动Hbase:start-hbase.sh
7.2.3.2 搭建HA
不需要单独搭建,使用HBase自带的zookeeper
HBase的HA架构
-
配置参数:hbase.zookeeper.quorum
-
在某个从节点单独启动HMaster:hbase-daemon.sh start master
当bigdata112死掉的时候,bigdata114就会成为主节点 ,从节点的一些信息也会显示,因为我们的客户端都是连接zookeeper的
7.2.3.3 比较各种模式下HBase在ZK中保存的数据
伪分布和全分布模式主要区别是在 rs
全分布和HA模式主要区别是在 backup-masters