ubuntu安装hbase、hadoop出现的问题及应对
部署真的hbase好累啊,留一份记录,等再崩溃了可以参考,也希望可以为像我一样崩溃的同学提供一份帮助
hadoop的安装参考问题4,我基本相当于重装了hadoop,在保留ssh等前置的条件下
这里java版本使用8,使用apt下载openjdk
hbase-2.5.6,hadoop-3.3.6,zookeeper-3.8.3
注意hbase和zookeeper使用bin的
zookeeper下载地址 到2023年11月9日为止,最新的LTS是3.8.3
hbase下载地址 到2023年11月9日为止,最新的LTS是2.5.6
问题1
Error: JAVA_HOME is not set
解法:在hbase/conf/hbase-env.sh里添加. /etc/profile
即使用. /etc/profile的JAVA_HOME
~/.bashrc
在这个文件夹里写
export JAVA_HOME=你的JAVA地址
也是方法,但如果未来要修改JAVA地址,就很麻烦了
问题2
无法进入16010
且jps无Hmaster
问题3
成功进入node1:16010,但显示
Failed to become active master due to:Call From node1/192.168.189.128 to node1:8020 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see: ConnectionRefused - HADOOP2 - Apache Software Foundation (since 2sec ago)
然后发现telnet node1 8020
显示telnet: Unable to connect to remote host: Connection refused
解法:更改$HADOOP_HOME/etc/hadoop/core-site.xml里的fs.defaultFS
问题4
hadoop出问题了
可以参考这个重新配置
注意这里的静态用户名设置为自己的,如我是设置为root
$HADOOP_HOME/etc/hadoop/hadoop-env.sh里填上一条类似于问题一的方案
$HADOOP_HOME/etc/hadoop/workers这个文件也要检查
执行时的问题
在hbase的shell里执行代码就报错
ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
at org.apache.hadoop.hbase.master.HMaster.checkServiceStarted(HMaster.java:3173)
at org.apache.hadoop.hbase.master.MasterRpcServices.isMasterRunning(MasterRpcServices.java:1163)
at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:415)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:124)
at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:102)
at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:82)
解法:这里的最后一个方法
最终结果
region server正常
新的问题1
yarn出不来
解法:使用jdk8,使用node1作为yarn的节点
新的问题2
master一直在启动
ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:3181)
at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:2307)
at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:694)
at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:415)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:124)
at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:102)
at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:82)
到zookeeper里使用bin/zkCli.sh deleteall /hbas
然后hdfs namenode -format
新的问题3
Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${full path of your hadoop distribution directory}</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${full path of your hadoop distribution directory}</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${full path of your hadoop distribution directory}</value>
</property>
这里要等于$HADOOP_HOME那里的地址就行
新的问题4
[main] mapreduce.Job: dError: org/apache/hadoop/yarn/util/Clock
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:670)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:652)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.yarn.util.Clock
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 7 more
还在解决