HBase伪分布式模式
1)所有进程运行在同一个节点上,不同进程运行在不同的JVM当中
2)使用HBase内置的ZooKeeper
3)比较适用于HBase开发和测试环境
实验前提:HBase伪分布式部署依赖于Hadoop伪分布式部署,本实验紧接Hadoop伪分布式实验,在Hadoop伪分布式部署完成并运行成功的基础上,继续进行Hbase伪分布式部署实验
实验目标:在单台Linux虚拟机主机上部署伪分布式数据库HBase ,用于教学演示
实验环境: 虚拟机VirtualBox 操作系统 Centos7 Hadoop版本 hadoop-2.6.0-cdh5.7.0 Hbase版本 hbase-1.2.0-cdh5.7.0.tar.gz 由于HBase依赖于HDFS,所以选择安装包版本时必须注意HBase和Hadoop的版本兼容性
集群规划: 无需复制虚拟机,直接利用Hadoop伪分布式的单台主机hadoop完成Hbase伪分布式部署
主机IP | 主机名 | 集群角色(进程名称) |
192.168.56.20 | hadoop |
NameNode DataNode SecondaryNameNode HMaster HRegionServer HQuorumPeer(HBase自带的ZooKeeper进程) |
〇 首先要部署完成并运行成功Hadoop伪分布式集群
1)启动伪分布式集群中的单台主机hadoop
2)在win7用XSHELL远程登录Linux,注意VirtualBox主机网络管理器的虚拟网卡IP(192.168.56.1)地址和虚拟机Linux处于一个网段
3)上传HBase安装包到Linux的/root目录,解压缩hbase-1.2.0-cdh5.7.0.tar.gz安装包到指定目录/usr/local
tar -zxvf /root/hbase-1.2.0-cdh5.7.0.tar.gz -C /usr/local/ 解压缩到/usr/local目录
4)设置HBase环境变量并使之生效
vi /etc/profile 在配置文件profile的末尾增加以下内容:
# hbase
export HBASE_HOME=/usr/local/hbase-1.2.0-cdh5.7.0
export PATH=$PATH:$HBASE_HOME/bin
5)关闭防火墙firewall和SeLinux
执行关闭防火墙命令 systemctl disable firewalld 执行关闭SeLinux命令 setenforce 0
6)检查hadoop主机到自己的SSH免密登录(特别重要)
执行ssh hadoop命令,检查免密登录是否成功,免密登录成功后,必须输入exit退出并返回原会话,以免搞混
7)修改HBase的配置文件(关键步骤)
cd /usr/local/hbase-1.2.0-cdh5.7.0/conf 切换到HBase的配置文件所在目录
a)先修改配置文件hbase-env.sh
vi hbase-env.sh 修改以下配置参数:
export JAVA_HOME=/usr/local/java/jdk1.8
export HBASE_MANAGES_ZK=true #启用HBase自带的Zookeeper集群
b)修改配置文件hbase-site.xml
vi hbase-site.xml修改以下参数:
在<configuration> </configuration>之间增加蓝色字体配置参数
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop:8020/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/root/hbase/zookeeper</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
</configuration>
参数说明:
hbase.cluster.distributed:HBase群集的模式,对于单机模式值为false,对于伪分布式和完全分布式模式值为true。如果为false,将在同一个JVM中运行所有HBase和ZooKeeper守护进程
hbase.rootdir:用于指定HBase数据在HDFS的存储路径
hbase.zookeeper.property.dataDir:用于指定HBase自带的ZooKeeper存储数据的本地路径
c)修改regionservers文件
vi regionservers
删除原有行,新添加一行:
hadoop
8)创建ZooKeeper存放数据的目录
cd /root 切换到root目录
执行命令mkdir -p hbase/zookeeper 在root目录下创建两级子目录hbase/zookeeper
路径/root/hbase/zookeeper和hbase-site.xml文件中的hbase.zookeeper.property.dataDir参数值相同
9)启动HDFS
执行start-dfs.sh脚本命令启动HDFS
10)启动HBase
执行start-hbase.sh脚本命令启动HBase
11)执行java进程查看命令jps,hadoop主机出现以下进程,说明HDFS,HBase自带的ZooKeeper以及HBase都已启动成功:
[[email protected] ~]# jps
3985 Jps
3075 HRegionServer
2276 DataNode
2184 NameNode
2936 HMaster
2860 HQuorumPeer
2462 SecondaryNameNode
12)在win7下,用chrome浏览器访问HBase自带的web配置网站 http://192.168.56.20:60010 ,能出现如下页面说明访问成功:
14)执行命令hbase shell进入hbase的shell命令行环境
15)HBase Shell命令的简单测试
执行命令create 'testTable', 'testFamily' 创建一张表testTable,包含一个列族testFamily
执行命令list 列出HBas中的所有表
执行命令describe 'testTable' 描述表testTable的属性信息