在ZooKeeper集群搭建好之后,配置HBase集群(master,node1,node3);

其中master作为HBase的主节点,担当Hmaster的角色。

在这次操作中,我只打开了三个节点,分别是master,node1,node3:

先用jps查看一下进程,发现之打开了主进程,关闭了ZooKeeper集群处于关闭状态,接下来不用打开,直接利用xftp将文件传输到mater节点的opt目录下:

将文件进行解压,并且改名,方便后续操作:

tar -zxf /opt/hbase-2.2.6-bin.tar.gz -C /usr/local
cd /usr/local
ls
mv hbase-2.2.6 hbase
ls

 然后进入conf目录进行文件配置:

cd hbase/conf
ls

首先进行hbase-site.xml文件的配置, 所添加的代码如下,值得注意的是最开始没有configuration,但是最后有,因为注释之前的没有删掉,而注释之后的删掉了,所以下面的代码中前有后没有configuration,总之只要照着下面的代码复制过去就没问题了:

<property>
<name>hbase.rootdir</name>
<value>hdfs://master:8020/hbase</value>
</property>
<property>
<name>hbase.master</name>
<value>master</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,node1,node3</value>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>60000000</value>
</property>
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
</configuration>

切记,这两个用于做标记的##号一定要删除,否则在启动hbase集群的时候会报错。

 接下来配置hbase-env.sh文件,在文件最末尾加上下面的代码(注意:每个人的配置内容可能不一样,特别是JAVA_HOME的地址):

export HBASE_CLASSPATH=/opt/hadoop-3.1.4/etc/hadoop
export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
export HBASE_MANAGES_ZK=false

 不确定自己文件目录位置和名称的,可以在xshell中再开一个窗口连接master主机进行查询:

cd /opt/hadoop-3.1.4/etc/hadoop
ls
pwd
echo $JAVA_HOME

 接下来配置regionservers文件,将原本的localhost改成下面的内容:

master
node1
node3

 然后将master上的这些文件复制到node1和node3子结点中:

scp -r /usr/local/hbase/ node1:/usr/local/
scp -r /usr/local/hbase/ node3:/usr/local/

接下来编辑环境变量,在文章末尾添加如下内容:

注意上面一句是添加在path的末尾,不能删除path原有的东西

:$HBASE_HOME/bin
export HBASE_HOME=/usr/local/hbase

在path中添加bin目录是因为bin中是hbase启动的一些命令:

 最后更新一下配置的环境变量:

vi /etc/profile
source /etc/profile

然后输入命令hbase出现反应就知道我们配置的文件起作用了,如果说hbase不是命令,多运行两次source即可:

 将配置的profile文件复制拷贝到node1和node3中:

scp -r /etc/profile node1:/etc/profile
scp -r /etc/profile node3:/etc/profile

 然后到node1和node3上运行一下,切记运行之前先source更新文件:

source /etc/profile
hbase

 然后再按照启动Hadoop集群,启动ZooKeeper集群,启动HBase集群的顺序启动集群,因为Hbase是建立在Hadoop集群基础上的:

这里启动Hadoop集群与之前有所不一样,他用all替换了三行命令,且在三个节点上(master,node1,node2上都要启动):

cd /opt/hadoop-3.1.4/sbin
./start-all.sh
jps

 接下来启动master节点,node1节点,node3节点的zookeeper集群,并查看状态:

zkServer.sh start
zkServer.sh status

 然后就开始启动hbase集群:

cd /usr/local/hbase/bin/
./start-hbase.sh
jps

如果报错图示,一定要将文件中的两个用于做标记的##删掉,记得三个结点都要删除,因为之前是从master复制过去的,现在修改那么三个节点都要单独修改,所以最好是开始就删除,不报错就不纠错:

 但是这样一来,就导致三个节点上都出现了HMaster,本来是只有master节点上应该有HMater这个进程的,正常应该是下面的图,只有master上有HMster,其余两个节点都没有,我是对三个节点关闭了hbase集群,再在mster节点上打开集群(打开集群只用在一个节点操作即可):

 然后在浏览器中输入master:16010就可以看到HBase的页面,里面有关于自己安装的节点的信息:

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐