hbase安装
下载 wget http://apache.gree.com/apache/hbase/hbase-1.2.11/hbase-1.2.11-bin.tar.gz
tar -zxvf base-1.2.11-bin.tar.gz -C /usr/local/
mv /ussr/local/hbase-1.2.11 /usr/local/hbase
配置环境
vi /etc/profile
export HBASE_HOME=/usr/local/hbase
export PATH=$HBASE_HOME/bin:$PATH
保存退出
source /etc/profile
编辑HBASE_HOME/conf/hbase-env.sh,添加
export JAVA_HOME=/usr/java/jdk1.8.0_191-amd64/jre
export HBASE_CLASSPATH=/usr/local/hadoop/conf
export HBASE_MANAGES_ZK=false 不使用hbase自带的zookeeper,使用外部的zookeeper管理hbase
编辑 HBASE_HOME/conf/hbase-site.xml
<configuration> <property> <!--设置hbasemaster的主机和端口--> <name>hbase.master</name> <value>HDP-master:60000</value> </property> <property> <!-- 设置hbase在HDFS上的存储路径,要与hadoop的core-site.xml中的fs.defaultFS路径一致 --> <name>hbase.rootdir</name> <value>hdfs://HDP-master:9000/hbase</value> </property> <property> <!-- 指定hbase是分布式的 --> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <!-- 指定外部zookeeper地址,多个用‘,’分隔 --> <name>hbase.zookeeper.quorum</name> <value>HDP-master,HDP-slave1,HDP-slave2</value> </property> </configuration>
编辑HBASE_HOME/conf/regionservers ,设置hbase的从节点(安装regionserver的节点)添加
HDP-slave1
HDP-slave2
退出保存
hbase集群之间要进行数据同步,除了要配置ssh免密连接之外,还要保证各个服务器的时间一致,所以要配置时间同步
选定一个服务器,将其时间设置为标准时间,进行配置
主服务器 编辑 /etc/chrony.conf 添加
allow 10.2.14.0/24 设置允许哪些网段的机器同步本机时间
local stratum 10 不去同步任何机器的时间,设置时间同步服务器级别
保存退出
systemctl restart chronyd
从服务器 编辑/etc/chrony.conf
将
server 0.rhel.pool.ntp.org.iburst
...
server 4.rhel.pool.ntp.org iburst
修改为:
server 10.2.xxx.xx iburst ip为主服务器的IP,设置同步时间的源服务器
保存退出
重启chronyd
systemctl restart chronyd
测试,可通过指令查看各机器时间
watch -n 1 date
更正主服务器时间
date -s 10/24/2019
date -s 17:23:22
要启动hbase,需要先依次启动zookeeper,hadoop
启动zookeeper,集群中每台机子都需要执行
zookeeper/bin/zkServer.sh start
zookeeper/bin/zkServer.sh status
启动hadoop(仅需在主节点执行)
sbin/start-all.sh
启动hbase(仅需在主节点执行)
/usr/local/hbase/bin/start-hbase.sh
hbase启动后在master用jps查看时是 HMaster ,在slave上是HRegionServer进程
在命令行 执行hbase shell即可以进入hbase的shell
list 列出所有的hbase表
describe table_name 查看表结构
scan table_name 遍历表中的数据
get table_name, rowkey 查看表中主键为rowkey的一行数据
get table_nmae,rowkey,column:qualifier 查看表中指定行,指定列簇的指定列的值
get table_name,rowkey,{COLUMN => 'colum_name',TIMESTAMP => 15555699956861,FILTER =>"QualifierFilter(=, 'binary:Gil/0/31')"} 查看表中指定rowkey指定列簇中符合条件的列的数据