赞
踩
如果你遇到了和我一样的问题并通过搜索引擎进入这篇文章,请善用Ctrl+F键搜索
该自检手册仅用于自己学习使用,记录所有自己遇到的问题。如果你没有检索到你的问题,请使用Bing或Google进行搜索
该自检手册严格按照以下模板标准编写:
## 主要出错集中点标题 ### 该错误的具体分支错误 报错信息 code ==原因:(若分点则另起一行)== ![出错截图](ERROR.jpg/png) > 提示信息:(若有则写,没有就不写) ==解决方法:(若分点则另起一行)== ![解决成功后的截图](RESOLVE.jpg/png) > 提示信息:(若有则写,没有就不写) 关键词:xxx、xxx 参考资料:(若分点则另起一行) 补充: 1. 若需要编写注意事项,统一使用<font size=5 color=red>标签编写
报错信息
java.io.IOException: Cannot create directory /usr/local/hadoop/tmp/dfs/name/current
原因:
core-site.xml
文件中 hadoop.tmp.dir
的 value 标签参数值设置错误hdfs-site.xml
文件中 dfs.namenode.name.dir
或 dfs.datanode.data.dir
的 value 标签参数值设置错误hadoop
文件夹的访问与写入权限解决方法(对应上面的1、2、3点):
修改 core-site.xml
存放临时文件夹的路径,这里我的目录名是 hadoop-3.1.3
修改 hdfs-site.xml
存放 name 和 data 文件夹的路径,这里我的目录名是 hadoop-3.1.3
使用 sudo chown -R 用户名:用户名 存放hadoop的文件路径
命令对文件夹提权
例如:sudo chown -R hadoop:hadoop /usr/local/hadoop
注意:格式化的操作在你成功格式化之后就不要再执行了!不要好奇,除非你想再体验一次集群的搭建。再次执行格式化,成功
提示:其实最正确的做法是文件名需要改成
hadoop
而不是hadoop-3.1.3
,这样便于管理与执行
关键词:java.io.IOException: Cannot create directory、hdfs namenode -format、格式化错误、CentOS7、Linux
参考资料:
报错信息
SLF4J: Found binding in
[jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hbase/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar!/org/slf4j/impl/StaticLoggerBinder.class]
原因:
解决方法:
✅推荐 在 hbase-env.sh
中添加
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"
添加完成后退出编辑界面,在bash命令窗口输入
source hbase-env.sh
原理是告诉 HBase 不要使用 Hadoop 的 classpath 来加载依赖项。这可以确保 HBase 使用自己的 classpath,避免与 Hadoop 中的库发生冲突
⚠️不推荐 删除 hadoop
或 hbase
其中一个 jar 包,原则上删除版本较低的那一个
注意:执行删除操作之前建议先备份,备份后再执行。rm命令需要精准指向该jar包
例如:sudo rm /usr/local/hbase/lib/client-facing-thirdparty/slf4j-reload4j-1.7.33.jar
再次查看是否会出现 jar 包的冲突信息,冲突信息消失,成功解决
关键词:Hbase启动、jar包冲突、SLF4J、HBase、CentOS7、Linux
参考资料:
报错信息
hbase:001:0> create 'student','Sname','Ssex','Sage','Sdept','course'
ERROR: KeeperErrorCode = ConnectionLoss for /hbase/master
For usage try 'help' 'create'
Took 33.9493 seconds
原因:
✅我遇到的 我没有安装 Zookeeper,但是在 hbase-site.xml
中错误的配置了有关Zookpeer的标签,导致Hbase shell无法找到Zookeeper文件夹,从而无法操作有关Hbase shell的任何命令
<configuration>
...
<property>
<name>hbase.zookeeper.quorum</name>
<value>zk1.example.com,zk2.example.com,zk3.example.com</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
...
</configuration>
HBase Master 和 ZooKeeper 在不同的节点上运行,防火墙或网络安全组阻止了它们之间的通信
没有启动 HBase
的相关服务
解决方法(对应上面的1、2、3点):
hbase-site.xml
对应文件里有关于 Zookpeer的标签systemctl status firewalld
查看防火墙的状态,如果是开着的请使用 systemctl stop firewalld
service firewalld status
检查防火墙服务是否开启,如果是开启的使用命令 service firewalld stop
停止防火请的服务进程start-hbase.sh
开启 hbase
的相关服务参考资料:
报错信息:
Restarting network (via systemctl): Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details
原因:
解决方法:
在终端中输入 journalctl -xe
或 systemctl status network.service
命令查看错误日志
[root@localhost network-scripts]# systemctl status network.service ● network.service - LSB: Bring up/down networking Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled) Active: failed (Result: exit-code) since 四 2023-05-04 10:55:49 CST; 22s ago Docs: man:systemd-sysv-generator(8) Process: 4536 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE) 5月 04 10:55:49 localhost.localdomain network[4536]: RTNETLINK answers: File... 5月 04 10:55:49 localhost.localdomain network[4536]: RTNETLINK answers: File... 5月 04 10:55:49 localhost.localdomain network[4536]: RTNETLINK answers: File... 5月 04 10:55:49 localhost.localdomain network[4536]: RTNETLINK answers: File... 5月 04 10:55:49 localhost.localdomain network[4536]: RTNETLINK answers: File... 5月 04 10:55:49 localhost.localdomain network[4536]: RTNETLINK answers: File... 5月 04 10:55:49 localhost.localdomain systemd[1]: network.service: control p... 5月 04 10:55:49 localhost.localdomain systemd[1]: Failed to start LSB: Bring... 5月 04 10:55:49 localhost.localdomain systemd[1]: Unit network.service enter... 5月 04 10:55:49 localhost.localdomain systemd[1]: network.service failed. Hint: Some lines were ellipsized, use -l to show in full.
“RTNETLINK answers: File exists”。这表明在尝试激活网络接口时出现了问题
可以尝试使用以下命令停止 NetworkManager 服务并禁止其在启动时启动:
service NetworkManager stop
chkconfig NetworkManager off
service network restart //重启网络服务
ip route
命令查看路由表,并使用 ip route del
命令删除冲突的条目关键词:ens33、网络错误、NetworkManager冲突,网络服务启动失败、ifconfig、CentOS 7
参看资料:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。