HBase是一个基于Hadoop的分布式列式数据库,可以存储海量的结构化和半结构化数据。本文介绍如何在三个Ubuntu系统上搭建一个HBase集群,并进行简单的数据操作。
在三个Ubuntu系统上分布式安装配置HBase-2.3.7,主要步骤包括:
IP地址 | 主机名 |
---|---|
192.168.1.100 | hadoop100 |
192.168.1.200 | hadoop200 |
192.168.1.201 | hadoop201 |
tar zxvf ~/Desktop/hbase-2.3.7-bin.tar.gz -C /usr/local
mv /usr/local/hbase-2.3.7 /usr/local/hbase
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin
然后执行source /etc/profile
命令使配置生效。
export JAVA_HOME=/usr/local/java/jdk1.8.0_341 # 根据实际的JAVA_HOME路径修改
export HBASE_MANAGES_ZK=false # 设置为false,表示使用外部的Zookeeper集群
export HBASE_CLASSPATH=/usr/local/hadoop/hadoop-3.2.4/etc/hadoop # 添加Hadoop的配置文件路径
export LD_LIBRARY_PATH=/usr/local/hadoop/hadoop-3.2.4/lib/native
如果报错:HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_OPTS: invalid variable name
##修改配置文件最后一项配置,取消注释
# Tell HBase whether it should include Hadoop's lib when start up,
# the default value is false,means that includes Hadoop's lib.
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"
hbase.cluster.distributed
true
hbase.tmp.dir
/home/c914/hbasetsst/tmp
hbase.unsafe.stream.capability.enforce
false
hbase.zookeeper.quorum
hadoop100,hadoop200,hadoop201
hbase.rootdir
hdfs://hadoop100:9000/hbase
hbase.zookeeper.property.dataDir
/usr/local/hbase/zk
注意,这里的hbase.rootdir的值要和Hadoop配置中core-site.xml里fs.defaultFS的值一致,而hbase.zookeeper.quorum的值要和Zookeeper配置中zoo.cfg里server.x的值一致。
hadoop100
hadoop200
hadoop201
这里指定了三个节点都作为HBase的RegionServer,负责存储数据。
scp -r /usr/local/hbase/ c914@hadoop200:/usr/local/
scp -r /usr/local/hbase/ c914@hadoop201:/usr/local/
这里假设已经在三个节点上配置了免密登录,否则需要输入密码。
启动顺序是 先启动hadoop ==> 再启动zookeeper ==> 最后启动hbase。
关闭的顺序是 先关闭hbase ==> 再关闭zookeeper ==> 最后关闭hadoop。
start-hbase.sh
jps
如果输出中显示了HMaster和HRegionServer进程,说明该节点已经加入到集群中。
hbase shell
如果连接成功,会进入一个交互式的shell环境,可以输入一些命令来操作HBase,例如:
如果上述结果都输出成功,就可以到浏览器中查看网页:
http://192.168.1.100:16010/
主节点IP地址:16010/