问题记录
node1突然无法连接finalshell
今天我打开虚拟机和finalshell的时候,发现我的node1连接不上finalshell,但是node2、node3依旧可以链接,我在网上找了很多方法,但是是关于全部虚拟机连接不上finalshell,但是,我只有一个连接不上,然后我发现我在虚拟机上输入ifconfig的时候显示
它不显示我虚拟机的ip地址,查找后我发现是我的ens33这个网络没有了,但是ifcfg-ens33这个文件还在,且我配置的静态地址等信息也在。重新启用ens33这个网络并重启网卡后,ip地址变成了其他地址192.168.88.129,而不是我设置的192.168.88.101,很奇怪。
我们要输入以下命令可以解决以上问题,使我的地址重新出现并变回101。
systemctl stop NetworkManager//临时关闭网络
systemctl disable NetworkManager//永久关闭网络管理命令
systemctl start network.service//开启网络服务
之后在config一下就会发现显示ip地址了。
这个时候在连接finalshell就会发现成功了。
- Bug理解
network和networkmanager是会冲突的,所以如果重启了service network restart 要注意下这个冲突的问题,禁用networkmanager。
Chatgpt的解释
NetworkManager会自动管理网络连接,包括网卡的配置和状态。如果NetworkManager检测到手动配置的网卡文件(如ifcfg-*),它可能会尝试覆盖这些配置文件并使用自己的配置。这可能导致你手动设置的网卡配置被忽略,从而导致网卡不启动。
网络服务冲突:有时,可能会存在其他网络管理服务或工具与NetworkManager冲突,导致网络配置出现问题。例如,如果你同时启用了NetworkManager和另一个网络管理器(如ifupdown),可能会发生冲突,导致网卡无法正确启动。
切换hadoop用户后显示 “bash-4.2 ”
而不是传统的 hadoop@node1
形式
原因:该用户 /home/userx/ 目录下文件缺失 .bash_profile .bashrc,可以用ls -al 查看
解决:从 /etc/skel/目录下复制文件到 /home/userx/目录下就ok了
启动集群permission denied
不知道是不是跟晚上没关机,电脑自动关机有关?
原因:node1的hadoop用户的免密登录失效了,/hpme/hadoop用户下缺少.shh。
验证登录node2需要输入密码:
解决:重新生成密钥并设置免密登录
依次执行
实现免密互通,集群成功启动
电信数仓项目
udf函数不能初始化
原因:没找到
解决方法:重启集群+服务+redis
dwd数据插入失败(时间限制)
原因:内存小,资源不够
网友给的办法:
Spark job failed解决方法
首先是先把hive/lib/hive-exec-3.1.2.jar拷贝到了spark/jars。但是许多人尝试过这个方法还是无法执行insert操作,以下是我一步步排查错误的步骤,希望可以帮到大家。
1、增大内存,因为MapJoin是指在Map 端进行join,其原理是broadcast join,即把小表作为一个完整的驱动表来进行join操作,当机器内存不足时,无法在Map端进行join,即会报错。
2、可以关闭hive的map join 改为common join
shell命令行:set hive.auto.convert.join=false
3、修改配置文件下的参数可以把map join 关闭,使用common join
hive-site.xml
<property>
<name>hive.auto.convert.join</name>
<value>false</value>//true修改为false
<description>Enables the optimization about converting common join into mapjoin</description>
</property>
4、关闭安全模式
在Hadoop启动后通过在shell中执行hdfs dfsadmin -safemode leave命令来强制退出安全模式
==============================
重启之后解决。