配置集群:主机master、从机s1、s2
``
需要的文件
VMware
Xshell
jdk 1.8.0_171
CentOS-7-x86_64-DVD-2003.iso
hadoop2.7.7
zookeeper3.6.3
hbase1.3.1
文件已上传百度网盘,密码1024
CentOS-7-x86_64-DVD-2003.iso文件清华镜像网下载
这里首先创建master主机
由于我们经常使用主机master进行命令操作,copy到从机
从机只是后台运行挂起,最大磁盘大小最好大一点,这里我设置为30G
从机磁盘的大小就可以小一点,这里我设置为20G
如果你的电脑配置不好,最好配置和我一样
(个人建议,因为我的内存条是两条4G的,虚拟机的运行内存过大,同时启动三台虚拟机的话你的电脑会严重卡顿,我的就是卡到只能长按开机重启。。血的教训。。)
最后直接点击完成,启用虚拟机,我的虚拟机配置结果——如图所示
从机的安装流程和master主机基本一致,区别在于,磁盘大小用默认20GB大小即可
进入虚拟机后,首先需要配置语言
接着是安装位置
——这里我安装目标位置需要点击两次
然后是打开网络
这里如果网络配置打不开也无所谓,因为我们后面需要自己手动去配置静态网络的
最后选择软件选择,这里我选择GNOME桌面安装,如果是Linux大牛的话,可以跳过
小白最好选择桌面,最小安装对新手不是特别友好
配置ROOT密码并确认后,重启虚拟机
设置这台电脑的用户名并输入你的开机密码
注意是开机密码!!!开机密码!!!开机密码!!!
而不是终端切换管理员权限的密码
配置静态网络
电脑密码zhang2001
进入root用户su root
密码111111
cd /etc/sysconfig/network-scripts/
进入ifcfg-ens33文件编辑修改配置vi ifcfg-ens33
小知识
cd etc相对路径
cd /etc 绝对路径
即cd etc是在当前文件夹下寻找名字为etc的文件夹并切换到该目录下
cd /etc是不管你在哪个目录下,都是切换到“/”目录下名字为etc的文件夹目录下
配置具体如下
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=85698115-0678-42bc-bac6-cc6294b8d285
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.137.110
NETWORK=255.255.255.0
GATWAY=192.168.137.2
DNS1=180.76.76.76
ip地址最后小数点后随意设置(有时候会出现ip冲突,意思就是说有人用你想用的ip,换一个就好)
network网关在虚拟机“编辑”->“虚拟网络编辑器”中查看
点击“更改设置”
操作完成后执行命令service network restart运行配置
ping www.baidu.com 查看是否连上网络
报错:主机能ping外网,能ping到从机
从机slave1、slave2 ping不上百度,能ping上主机master
解决:从机不是必须要ping通外网,因为我们主要使用的是master
systemctl stop firewalld
systemctl disable firewalld
查看当前防火墙的状态 输入命令
systemctl status firewalld
看到Active: inactive (dead),说明防火墙已关闭
Active: active (live)说明防火墙还没有关闭,返回以上操作
切换root目录cd ~ 输入命令 hostnamectl set-hostname master
然后执行重启虚拟机应用 输入命令reboot
重启后,修改hosts文件
cd /etc/hosts
添加以下配置:
192.168.137.140 master
192.168.137.141 s1
192.168.137.142 s2
配置好会话后,开始ssh传输文件
yum install lrzsz -y
-y的作用是,默认全部回答为yes
rz传输本地文件到linus虚拟机系统
master可以远程连接s1、s2
ssh s1 ssh s2
结果如图所示
cd ~
在各个机器下输入命令
ssh-keygen -b 1024 -t rsa
然后一直回车,结果如图所示
在~/.ssh/目录下生成文件id_rsa、id_rsa.pub
(ls是不会显示隐藏文件的,/.ssh中的“.”就是隐藏文件
输入命令ls –all显示全部文件)
结果如图所示
免密码登录
需要把master的id_rsa.pub公钥发送到s1、s2中
s1、s2接收了master的id_rsa.pub公钥,master就可以免密码登录
把master的公钥放到s1、s2的authorized_keys文件里
输入命令ssh-copy-id s1(s2同上)
结果如图所示
s1、s2配置免密码登录
s1的公钥发给s2
结果如图所示
s2的公钥发给s1
结果如图所示
完成以上操作后,结果如图所示
master给master配置免密码登录
切换到ssh目录下 cd .ssh
输入命令 ssh-copy-id master
结果如图所示
配置权限
chmod 600 authorized_keys
chmod 修改权限的命令
600 参数含义请参考菜鸟教程
具体查看chmod命令
s1、s2同样的操作
(注:xshell中的粘贴不是ctrl+v,而是shift+insert)
cd ~
tar –xvzf 待解压压缩包名字–C 目标存放路径
tar –czvf 目标压缩文件名 文件或目录
结果如图所示
下载vim
yum install vim –y
vi 编辑文件内容,没有该文件时会新建文件
vim 编辑文件时会有高亮显示
结果如图所示
输入命令 vim .bash_profile
进入 .bash_profile文件进行添加JAVA_HOME
export JAVA_HOME=/root/jdk1.8.0_171
export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH
结果如图所示
配置完成后,执行命令 source .bash_profile应用配置
结果如图所示
然后将master配置好的java文件发送到s1、s2
输入命令 scp -r jdk1.8.0_171 root@s1:~/
结果如图所示
(hadoop配置文件只需先在master主机上配置,后面直接scp复制到从机即可)
进入hadoop配置文件目录下cd /hadoop/etc/hadoop
输入命令vim hadoop-env.sh
修改如下:
export JAVA_HOME=/root/jdk1.8.0_171
输入命令vim yarn-env.sh
修改如下:
JAVA_HOME=/root/jdk1.8.0_171
输入命令vim core-site.xml
修改如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoopdata</value>
</property>
</configuration>
输入命令vim hdfs-site.xml
修改如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
输入命令vim yarn-site.xml
修改如下:
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux.services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
输入命令vim mapred-site.xml. template
修改如下:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
修改完成后,需要改名成mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
截图如下:
输入命令vim slaves
修改如下:
s1
s2
截图如下:
完成以上操作后切换到root目录下
输入命令scp -r hadoop s1:~/
将配置好的hadoop配置文件,直接将hadoop文件夹发送到s1、s2
截图如下:
各个机器都需要在文件尾配置追加
切换到root目录下
输入命令vim .bash_profile
修改如下:
PATH=$PATH:$HOME/bin
export JAVA_HOME=/root/jdk1.8.0_171
export PATH=$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/root/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
完成后需要输入命令source .bash_profile应用配置
各个机器创建都是一样的数据目录
切换到root目录下
输入命令:
mkdir /root/hadoopdata
截图如下:
格式化文件系统,只能格式化一次
如果多次格式化文件系统,DataNode或NameNode或两个都启动不了
在master主机上的root目录下
输入命令:
hdfs namenode –format
截图如下:
一步启动hadoop集群服务
切换到hadoop的安装目录中的sbin文件夹中
cd $HADOOP_HOME/sbin
命令./start-all.sh
或
分步启动hadoop集群服务
切换到hadoop的安装目录中的bin文件夹下
cd $HADOOP_HOME/bin
命令start-dfs.sh start-yarn.sh
一步关闭hadoop集群服务
~/hadoop/sbin/stop-all.sh
或
分步关闭hadoop集群服务
stop-yarn.sh stop-dfs.sh
记录:使用一次启动所有hadoop集群服务命令start-all.sh
jps查看时少了DataNode
解决:
关闭集群服务
分步启动hadoop集群服务
切换的/opt目录下,创建data文件夹(存放ZooKeeper、hbase的数据文件夹)、server文件夹(ZooKeeper、hbase的安装文件夹)、soft文件夹 (ZooKeeper、hbase的压缩包文件夹)
cd /opt/soft -> rz上传压缩包
cd /opt/server -> tar –xvzf * -C *解压压缩包到指定文件夹路径下
切换路径cd /opt/server/zookeeper/conf
输入命令cp zoo_sample.cfg zoo.cfg copy一份到当前目录下,并命名为zoo.cfg
输入命令vim zoo.cfg修改zoo.cfg文件
配置如图所示
需要在文件尾部追加以下文件
server.1=master:2888:3888
server.2=s1:2888:3888
server.3=s2:2888:3888
结果如图所示
配置ZooKeeper的环境变量
vim /etc/profile
添加以下信息
export ZOOKEEPER =/opt/server/zookeeper
后面需要改成以下内容,方便切换ZooKeeper安装目录
export ZOOKEEPER_HOME =/opt/server/zookeeper
export PATH=$PATH:$ZOOKEEPER/bin
结果如图所示
完成以上操作后输入命令source /etc/profile应用配置
1)tickTime:通信心跳数,Zookeeper服务器心跳时间,单位毫秒
Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。
它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超时时间是2*tickTime)
2)initLimit:LF初始通信时限
集群中的follower跟随者服务器(F)与leader领导者服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量),用它来限定集群中的Zookeeper服务器连接到Leader的时限。
投票选举新leader的初始化时间
Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。
Leader允许F在initLimit时间内完成这个工作。
3)syncLimit:LF同步通信时限
集群中Leader与Follower之间的最大响应时间单位,假如响应超过syncLimit * tickTime,
Leader认为Follwer死掉,从服务器列表中删除Follwer。
在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。
如果L发出心跳包在syncLimit之后,还没有从F那收到响应,那么就认为这个F已经不在线了。
4)dataDir:数据文件目录+数据持久化路径
保存内存数据库快照信息的位置,如果没有其他说明,更新的事务日志也保存到数据库。
5)clientPort:监听客户端连接的端口
主要修改了dataDir文件夹的路径和添加了dataLogDir文件夹的路径
完成后,启动ZooKeeper
切换到bin目录下输入命令./zkServer.sh start
jps查看是否启动成功
启动成功的截图如图所示
我的截图如图所示
配置ZooKeeper环境变量时
vim /etc/profile上添加环境变量信息
/etc/profile文件是配置ZOOKEEPER_HOME、HBASE_HOME
可以方便切换ZooKeeper、hbase的安装目录
方便启动集群服务
export ZOOKEEPER=/opt/server/zookeeper
export PATH= P A T H : PATH: PATH:ZOOKEEPER/bin
出现报错,截图如下
原因:在/etc/profile文件中某处多了个p(我也不道啊。。我就是歌姬吧QAQ)
cd /opt/soft
rz命令上传压缩包
tar –xvzf hbase-1.2.1-bin.tar.gz –C /opt/server
命令解压压缩包
ln -s /root/hadoop/etc/hadoop/core-site.xml /opt/server/hbase/conf/core-site.xml
ln -s /root/hadoop/etc/hadoop/hdfs-site.xml /opt/server/hbase/conf/hdfs-site.xml
在hbase的conf目录下进行
cd /opt/server/hbase/conf
配置信息如下
<configuration>
<property>
<name>hbase.rootdir</name>
<!-- hbase存放数据目录 -->
<value>hdfs://master:9000/hbase</value>
<!-- 端口要和Hadoop的fs.defaultFS端口一致 -->
</property>
<property>
<name>hbase.cluster.distributed</name>
<!-- 是否分布式部署 -->
<value>true</value>
</property>
<!-- 0.98后的新变动,之前版本没有.port,默认端口为60000 -->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<!-- zookeeper服务启动的节点,最好为奇数个 -->
<value>master,s1,s2</value>
</property>
<property>
<!-- zookeeper配置、日志等的存储位置,必须为已存在 -->
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/data/zookeeper</value>
</property>
</configuration>
cat regionservers运行一下
[root@master bin]# ./start-hbase.sh
/opt/server/hbase/bin/hbase:行437: /root/java/jdk1.8.0_181-amd64/bin/java: 没有那个文件或目录
running master, logging to /opt/server/hbase/bin/…/logs/hbase-root-master-master.out
/opt/server/hbase/bin/…/bin/hbase:行437: /root/java/jdk1.8.0_181-amd64/bin/java: 没有那个文件或目录
s2: running regionserver, logging to /opt/server/hbase/bin/…/logs/hbase-root-regionserver-s2.out
master: running regionserver, logging to /opt/server/hbase/bin/…/logs/hbase-root-regionserver-master.out
s1: running regionserver, logging to /opt/server/hbase/bin/…/logs/hbase-root-regionserver-s1.out
s2: /opt/server/hbase/bin/…/bin/hbase:行437: /root/java/jdk1.8.0_181-amd64/bin/java: 没有那个文件或目录
master: /opt/server/hbase/bin/…/bin/hbase:行437: /root/java/jdk1.8.0_181-amd64/bin/java: 没有那个文件或目录
s1: /opt/server/hbase/bin/…/bin/hbase:行437: /root/java/jdk1.8.0_181-amd64/bin/java: 没有那个文件或目录
解决:
问题出自与配置文件hbase-env.sh中的java目录的路径
由于java解压后的文件夹不是正常的jdk1.8.0_171,如图所示
这是报错时的配置文件截图
导致找不到JAVA_HOME
修改为java的安装目录
在启动HBase之前要先把三台机的zookeeper给启动起来,不然会出现刚启动hbase的进程就消失,我通过查看日志文件,找出的原因是zookeeper没有启动。报错信息如下:
020-06-20 11:31:30,550 INFO [main-SendThread(node1:2181)] zookeeper.ClientCnxn: Opening socket connection to server node1/10.211.55.59:2181. Will not attempt to authenticate using SASL (unknown error)
2020-06-20 11:31:30,550 WARN [main-SendThread(node1:2181)] zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: 拒绝连接
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
at org.apache.zookeeper.ClientCnxn S e n d T h r e a d . r u n ( C l i e n t C n x n . j a v a : 1081 ) 2020 − 06 − 2011 : 31 : 30 , 652 I N F O [ m a i n − S e n d T h r e a d ( n o d e 2 : 2181 ) ] z o o k e e p e r . C l i e n t C n x n : O p e n i n g s o c k e t c o n n e c t i o n t o s e r v e r n o d e 2 / 10.211.55.60 : 2181. W i l l n o t a t t e m p t t o a u t h e n t i c a t e u s i n g S A S L ( u n k n o w n e r r o r ) 2020 − 06 − 2011 : 31 : 30 , 652 E R R O R [ m a i n ] z o o k e e p e r . R e c o v e r a b l e Z o o K e e p e r : Z o o K e e p e r c r e a t e f a i l e d a f t e r 4 a t t e m p t s 2020 − 06 − 2011 : 31 : 30 , 652 E R R O R [ m a i n ] m a s t e r . H M a s t e r C o m m a n d L i n e : M a s t e r e x i t i n g j a v a . l a n g . R u n t i m e E x c e p t i o n : F a i l e d c o n s t r u c t i o n o f M a s t e r : c l a s s o r g . a p a c h e . h a d o o p . h b a s e . m a s t e r . H M a s t e r . a t o r g . a p a c h e . h a d o o p . h b a s e . m a s t e r . H M a s t e r . c o n s t r u c t M a s t e r ( H M a s t e r . j a v a : 2486 ) a t o r g . a p a c h e . h a d o o p . h b a s e . m a s t e r . H M a s t e r C o m m a n d L i n e . s t a r t M a s t e r ( H M a s t e r C o m m a n d L i n e . j a v a : 231 ) a t o r g . a p a c h e . h a d o o p . h b a s e . m a s t e r . H M a s t e r C o m m a n d L i n e . r u n ( H M a s t e r C o m m a n d L i n e . j a v a : 137 ) a t o r g . a p a c h e . h a d o o p . u t i l . T o o l R u n n e r . r u n ( T o o l R u n n e r . j a v a : 70 ) a t o r g . a p a c h e . h a d o o p . h b a s e . u t i l . S e r v e r C o m m a n d L i n e . d o M a i n ( S e r v e r C o m m a n d L i n e . j a v a : 127 ) a t o r g . a p a c h e . h a d o o p . h b a s e . m a s t e r . H M a s t e r . m a i n ( H M a s t e r . j a v a : 2496 ) C a u s e d b y : o r g . a p a c h e . h a d o o p . h b a s e . Z o o K e e p e r C o n n e c t i o n E x c e p t i o n : m a s t e r : 600000 x 0 , q u o r u m = n o d e 1 : 2181 , n o d e 2 : 2181 , n o d e 3 : 2181 , b a s e Z N o d e = / h b a s e U n e x p e c t e d K e e p e r E x c e p t i o n c r e a t i n g b a s e n o d e a t o r g . a p a c h e . h a d o o p . h b a s e . z o o k e e p e r . Z o o K e e p e r W a t c h e r . c r e a t e B a s e Z N o d e s ( Z o o K e e p e r W a t c h e r . j a v a : 206 ) a t o r g . a p a c h e . h a d o o p . h b a s e . z o o k e e p e r . Z o o K e e p e r W a t c h e r . < i n i t > ( Z o o K e e p e r W a t c h e r . j a v a : 187 ) a t o r g . a p a c h e . h a d o o p . h b a s e . r e g i o n s e r v e r . H R e g i o n S e r v e r . < i n i t > ( H R e g i o n S e r v e r . j a v a : 594 ) a t o r g . a p a c h e . h a d o o p . h b a s e . m a s t e r . H M a s t e r . < i n i t > ( H M a s t e r . j a v a : 420 ) a t s u n . r e f l e c t . N a t i v e C o n s t r u c t o r A c c e s s o r I m p l . n e w I n s t a n c e 0 ( N a t i v e M e t h o d ) a t s u n . r e f l e c t . N a t i v e C o n s t r u c t o r A c c e s s o r I m p l . n e w I n s t a n c e ( N a t i v e C o n s t r u c t o r A c c e s s o r I m p l . j a v a : 62 ) a t s u n . r e f l e c t . D e l e g a t i n g C o n s t r u c t o r A c c e s s o r I m p l . n e w I n s t a n c e ( D e l e g a t i n g C o n s t r u c t o r A c c e s s o r I m p l . j a v a : 45 ) a t j a v a . l a n g . r e f l e c t . C o n s t r u c t o r . n e w I n s t a n c e ( C o n s t r u c t o r . j a v a : 423 ) a t o r g . a p a c h e . h a d o o p . h b a s e . m a s t e r . H M a s t e r . c o n s t r u c t M a s t e r ( H M a s t e r . j a v a : 2479 ) . . . 5 m o r e C a u s e d b y : o r g . a p a c h e . z o o k e e p e r . K e e p e r E x c e p t i o n SendThread.run(ClientCnxn.java:1081) 2020-06-20 11:31:30,652 INFO [main-SendThread(node2:2181)] zookeeper.ClientCnxn: Opening socket connection to server node2/10.211.55.60:2181. Will not attempt to authenticate using SASL (unknown error) 2020-06-20 11:31:30,652 ERROR [main] zookeeper.RecoverableZooKeeper: ZooKeeper create failed after 4 attempts 2020-06-20 11:31:30,652 ERROR [main] master.HMasterCommandLine: Master exiting java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster. at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2486) at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:231) at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:137) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:127) at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2496) Caused by: org.apache.hadoop.hbase.ZooKeeperConnectionException: master:600000x0, quorum=node1:2181,node2:2181,node3:2181, baseZNode=/hbase Unexpected KeeperException creating base node at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.createBaseZNodes(ZooKeeperWatcher.java:206) at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:783)
at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.createNonSequential(RecoverableZooKeeper.java:565)
at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.create(RecoverableZooKeeper.java:544)
at org.apache.hadoop.hbase.zookeeper.ZKUtil.createWithParents(ZKUtil.java:1204)
at org.apache.hadoop.hbase.zookeeper.ZKUtil.createWithParents(ZKUtil.java:1182)
总结来说,出现错误有很大几率是因为配置文件时的粗心大意,可能漏了个标点符号,也可能失手摁多了个字母
启动hbase shell报错
ERROR: Can’t get master address from ZooKeeper; znode data == null
结果如图所示
访问master:50070,结果如图所示
进入hadoop端口界面
发现都没有问题
2022-05-05 21:15:32,815 ERROR [main] client.ConnectionManager$HConnectionImplementation: The node /hbase is not in ZooKeeper. It should have been written by the master. Check the value configured in ‘zookeeper.znode.parent’. There could be a mismatch with the one configured in the master.
截图如图所示:
原因:
没有配置ZooKeeper集群,ZooKeeper只在master主机上启动运行
解决办法:
切换到ZooKeeper的安装目录下
cd $ZOOKEEPER_HOME
输入命令vim zoo.cfg
在zoo.cfg文件尾部追加以下内容:
server.1=master:2888:3888
server.2=s1:2888:3888
server.3=s2:2888:3888
结果截图如图所示:
在给从机s1、s2追加内容后,出现新报错
ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
截图如图所示:
重启服务重启虚拟机后,出现新的报错信息
2022-05-06 08:54:02,490 ERROR [main] client.ConnectionManager$HConnectionImplementation: Can’t get connection to ZooKeeper: KeeperErrorCode = ConnectionLoss for /hbase
截图如图所示:
去搜索了不同的解决办法
方法不适用,问题没有解决
原因:
ZooKeeper只在master启动服务,s1、s2没有配置与master一步启动集群服务,导致ZooKeeper服务启动命令只在master主机上输入,只有master启动了ZooKeeper服务
解决办法:
先在ZooKeeper的服务关闭,再去master把hbase服务关闭
再分别去s1、s2启动ZooKeeper服务
cd $ZOOKEEPER_HOME 切换ZooKeeper安装目录
cd bin
./zkServer.sh status查看ZooKeeper的节点状态
结果首次运行报错,原因是主节点master正在初始化
一会再重新输入命令就可以成功运行了
ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
从字面可以知道,主节点正在初始化
解决方案
https://blog.csdn.net/a_drjiaoda/article/details/88697894
如图所示
192.168.137.140:16010
查看hbase web网页界面
有不同意见的大佬可在评论区相互交流哦!