HBase单机模式:
1)Hbase不使用HDFS存储数据,仅使用本地Linux文件系统来存储数据
2) 不同的HBase或ZooKeeper守护进程都运行在同一个JVM(Java Virtual Machine)中
3)HBase单机模式安装是完全不依赖于Hadoop的,仅用于在硬件配置(内存)很低的计算机上进行最简单的HBase安装和使用体验
实验前提:无任何实验前提,HBase伪分布式部署完全不依赖于Hadoop,在一台普通的Linux主机上即可进行HBase单机模式安装
实验目标:在单台Linux虚拟机主机上部署单机模式的HBase ,用于教学演示
集群规划: 无需任何集群规划
实验步骤:
1)启动单台运行Linux的主机,主机名是hadoop,IP地址可自定义,例如192.168.56.20
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!!!
执行source hbase-env.sh命令使得HBase配置参数生效
b)修改配置文件hbase-site.xml
vi hbase-site.xml修改以下参数:
在
参数说明:
hbase.cluster.distributed:HBase群集的模式,对于单机模式值为false,对于伪分布式和完全分布式模式值为true。如果为false,将在同一个JVM中运行所有HBase和ZooKeeper守护进程
hbase.rootdir:用于指定HBase数据的存储路径,单机模式的存储路径为本地路径(Linux文件系统目录)
hbase.zookeeper.property.dataDir:用于指定HBase自带的ZooKeeper存储数据的本地路径
8)创建HBase和ZooKeeper存放数据的目录
cd /root 切换到root目录
执行命令mkdir -p /root/hbase/zookeeper 在root目录下创建两级子目录hbase/zookeeper
执行命令mkdir -p /root/hbase/hbase在root目录下创建两级子目录hbase/hbase
路径/root/hbase/zookeeper和hbase-site.xml文件中的hbase.zookeeper.property.dataDir参数值相同
路径/root/hbase/hbase和hbase-site.xml文件中的hbase.rootdir参数值相同
注意:经过实际测试发现,以上两个三级目录zookeeper 和hbase可以不事先创建,只需要在/root目录下执行mkdir hbase命令创建二级子目录hbase即可,启动HBase时会自动创建这两个三级目录zookeeper 和hbase
9)启动HBase
执行start-hbase.sh脚本命令启动HBase
10)执行java进程查看命令jps,hadoop主机出现以下进程,说明HBase单机模式已经启动成功:
[root@hadoop ~]# jps
4464 Jps
4218 HMaster
12)在win7下,用chrome浏览器访问HBase自带的web配置网站 http://192.168.56.20:60010 ,能出现如下页面说明访问成功:
13)执行命令hbase shell进入hbase的shell命令行环境
14)HBase Shell命令的简单测试
尝试执行命令create 'testTable', 'testFamily' 创建一张表testTable,包含一个列族testFamily
尝试执行命令list 列出HBase中的所有表
尝试执行命令describe 'testTable' 描述表testTable的属性信息