前言
通过访问hbase的官方网站,得知,hbase是一个分布式,开源的非关系型数据库,其他的我就不介绍了,主要介绍一下安装这个需要的环境,首先hadoop集群必须安装好,然后zookeeper集群也得安装好,如果您的zookeeper集群没有安装,请仿照我之前写的文章来搭建一下。
栋公子:搭建zookeeper集群下载
首先安装需要下载安装包,建议到官方去下载
官网地址:
https://hbase.apache.org/
这里我给出一个下载的地址,是从官方找的,版本为1.2.1,如果您想安装别的版本,可以自行下载选择。
http://archive.apache.org/dist/hbase/1.2.1/hbase-1.2.1-bin.tar.gz
好使用迅雷下载,用浏览器下载太慢了。
下载完成之后,把安装包上传到服务器上,这一步可以使用ftp上传,我就不演示了。
解压文件:
tar -zxvf hbase-1.2.1-bin.tar.gz -C /opt/bigdata/
cd /opt/bigdata
mv hbase-1.2.1 hbase
然后需要把hadoop中的配置core-site.xml 、hdfs-site.xml拷贝到hbase安装目录下的conf文件夹中
cd /opt/bigdata/hadoop-2.7.3/etc/hadoop
cp core-site.xml /opt/bigdata/hbase/conf
cp hdfs-site.xml /opt/bigdata/hbase/conf
修改hbase的conf文件夹下面的hbase-env.sh文件
cd /opt/bigdata/hbase/conf
vim .hbase_env.sh
修改内容
#添加java环境变量,这里指定自己安装的Java环境的路径
export JAVA_HOME=/usr/java/jdk1.8.0_211-amd64
#指定使用外部的zk集群
export HBASE_MANAGES_ZK=FALSE
hbase本身自己带了zookeeper,但是我们不使用,所以把这个选择改成false,默认为true。
修改 hbase-site.xml
<configuration>
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://node1:9000/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定zk的地址,多个用“,”分割 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>node1:2181,node2:2181,node3:2181</value>
</property>
</configuration>
这里需要注意的有我用到了node1,node2这种,用户需要根据自己的情况来定的。
接下来修改regionservers
vim regionservers
然后注释掉原本的localhost
添加:
node1
node2
node3
然后新建一个文件
vim backup-masters
加入内容
node2
这个是备灾服务器,假如主的hmaster挂掉了,node2节点会立即接管为主的hmaster,在主节点没有挂掉之前,他一直都是预备使用的状态。
配置环境变量
su - hadoop
cd ~
vim .bash_profile
记得要source一下
source .bash_profile
然后把环境分发到其他的服务器上面。
scp -r hbase node2:/opt/bigdata
scp -r hbase node3:/opt/bigdata
另外的节点上也要进行环境变量的配置,记得要source,让环境变量生效。
额外补充一下:
如果您想要在特定的用户环境下面启动集群,需要赋予权限,比如我是用hadoop,读者可以根据我的来自己改一下,记得所有节点都要执行哦。
chown -R hadoop:hadoop hbase
chmod -R 755 hbase
hbase集群的启动
到了上面一步,我们的环境就搭建好了,现在来启动一下试一试
在node1上执行以下命令
这里需要补充一下,我们是在node1上启动,他将会产生HMASTER主节点,其实更通俗的理解是,在哪台服务器上启动,他就会被选举为主节点的,我这里用node1作为例子。
start-hbase.sh
然后我们执行jps命令查看
node1:
node2:
node3:
如果有上面这些进程,说明启动成功了。
补充启动backup-master
我们上面在配置文件中配置了一个node2作为backup-master的服务器,那我现在想更多的会咋样,比如我们再在node3上启动一个master?
hbase-daemon.sh start master
通过这个命令就可以在node3上再启动一个backup-master,理论上所有集群里的节点都可以启动,但是在
同一时间只有一个是主节点,其他的都是backup-master。
停止集群
stop-hbase.sh
总结
以上就是搭建hbase集群的所有内容了,如果有什么疑问,欢迎在下面留言,共同学习进步!