Hbase集群安装
1、前提
- Centos7.6
- Hadoop 3.2.1(HA环境)
- Zookeeper 3.4.13(集群环境)
- 节点:192.168.2.75、192.168.2.77、192.168.2.46
确保已经部署上述集群环境
版本对应:
2、下载安装包
选择主机中某个节点,比如75
wget http://archive.apache.org/dist/hbase/2.4.1/hbase-2.4.1-bin.tar.gz
tar -zxvf hbase-2.4.1-bin.tar.gz /srv/dstore/1.0.0.0
cd /srv/dstore/1.0.0.0
mv hbase-2.4.1 hbase
3.修改配置
-
hbase-env.sh
export JAVA_HOME="/srv/dstore/1.0.0.0/jdk1.8.0_211" #export HBASE_PID_DIR="/srv/dstore/1.0.0.0/hbase" export HBASE_MANAGES_ZK=false
-
hbase-site.xml
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <!-- 指定hbase在HDFS上存储的路径,HA模式填命名空间名称 --> <property> <name>hbase.rootdir</name> <value>hdfs://cluster/hbase</value> </property> <!-- 指定hbase是否分布式运行 --> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <!-- 指定zookeeper的地址,多个用“,”分割 --> <property> <name>hbase.zookeeper.quorum</name> <value>sun75:2181,sun77:2181,sun46:2181</value> </property> <!--指定hbase管理页面--> <property> <name>hbase.master.info.port</name> <value>60010</value> </property> <!-- 在分布式的情况下一定要设置,不然容易出现Hmaster起不来的情况 --> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property> <property> <name>hbase.master.port</name> <value>16000</value> </property> <property> <name>hbase.master.info.port</name> <value>60010</value> </property> </property> <property> <name>hbase.regionserver.port</name> <value>60020</value> </property> </configuration>
-
regionservers
指定HBase集群的从节点;原内容清空,添加如下三行
sun75 sun77 sun46
-
back-masters
创建backup-masters配置文件,里边包含备份HMaster节点的主机名,每个机器独占一行,实现HMaster的高可用
vi back-masters sun77
-
创建软连接 【测试发现不做该项,Hbase依旧可以使用Hadoop】
- 注意:三台机器均做如下操作
- 因为HBase集群需要读取hadoop的core-site.xml、hdfs-site.xml的配置文件信息,所以我们三台机器都要执行以下命令,在相应的目录创建这两个配置文件的软连接
ln -s /srv/dstore/1.0.0.0/hdfs/etc/hadoop/core-site.xml ./ ln -s /srv/dstore/1.0.0.0/hdfs/etc/hadoop/hdfs-site.xml ./
4、分发安装包
scp -r hbase sun77:`pwd`
scp -r hbase sun46:`pwd`
5、启动
-
后台启动HBase RegionServer
$ nohup hbase regionserver start > regionserver 2 >&1 & $./hbase-daemon.sh start master
-
后台启动HBase Master
$ nohup hbase master start > master 2 >&1 & $./hbase-daemon.sh start regionserver
6、测试
-
访问webui
http://192.168.2.75:60010/master-status
-
命令行
# 进入hbase shell hbase shell #查看帮助命令 help # 查看当前数据库有什么表 list # 创建表 create 'student','info' # 插入数据 put 'student','1001','info:sex','male' put 'student','1001','info:age','18' put 'student','1002','info:name','Janna' put 'student','1002','info:sex','female' put 'student','1002','info:age','20' #查看表数据 scan 'student'