在Ubuntu20.04版本中,没有/etc/network/interfaces文件,而是使用/etc/netplan/01-network-manager-all.yaml文件配置网络
目录
网络配置问题
重启后,网卡消失不见
解决虚拟机不能上网
路径错误
别致操作——没有配置从节点,启动hadoop
slave缺少datanode进程
别致操作——ssh连接和从节点启动hadoop进程
出现问题:
编辑/etc/network/interfaces文件信息,再执行下面命令使配置生效,结果找不到命令
linlin@master:~$ sudo /etc/init.d/networking restart
sudo: /etc/init.d/networking:找不到命令
原因说明:
/etc/network路径下原本并没有interfaces文件
/etc/netplan路径下有*.yaml文件
Ubuntu20.04的配置网络不是修改interfaces文件,而是需要修改*.yaml文件
解决步骤:
1. 使用命令查看IP端口名称,当前IP地址,掩码,广播地址
ifconfig
2. 在终端输入命令,编写文件(#后面的文字是注释,需要去掉)
sudo gedit /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:#网络
version: 2#版本
renderer: NetworkManager#渲染器
ethernets:#以太网
enp0s3:
addresses: [192.168.1.10/24]
dhcp4: no
dhcp6: no
gateway4: 192.168.1.1#网关
nameservers:#域名服务器
addresses: [192.168.1.1,114.114.114.114]
3. 输入命令,使刚才的配置生效
sudo netplan apply
4. 再次输入命令,查看修改后的IP地址(对比下面的红色标记),修改成功!
ifconfig
参考:
Ubuntu20.04网络配置
Ubuntu 20.4 没有/etc/network/interfaces,配置网络需用Netplan
Linux ubuntu20.04 网络配置(图文教程)
网计划|YAML 中与后端无关的网络配置 (netplan.io)
问题说明:网络配置中修改了interfaces文件,结果端口信息都看不到了(本来有enp0s3端口)
解决方法:
1. 在/etc/network的路径进入终端输入命令,删除文件(建议)
rm interfaces
或者清空修改的interfaces文件:sudo gedit /etc/network/interfaces
2. 输入下行的命令,使配置生效(sudo /etc/init.d/networking restart这条命令无效)
sudo /etc/init.d/network-manager restart
3. 再输入命令,就可以看到网卡回来了(下图中红色标记为输入的命令)
ifconfig
原因说明:
当使用网络地址转换时,为10.0.2.15,公网下可以上网
当使用仅主机网络时,为192.168.56.101,为私人网段,不能上网
修改IP地址为192.168.1.10,依然为私人网段,不能上网
解决方法:
虚拟机未启动的状态下,设置网卡一连接方式为网络地址转换(NAT),其它网卡取消勾选启用网络连接,点击ok
出现问题:编写masters文件,出现找不到文件,检查输入位置是否正确并重试
原因说明:混淆了绝对路径和相对路径,在主目录/home/linlin下打开终端,如下图
第一条绝对路径正确,根目录/下/etc/hosts文件确实存在
第二条绝对路径错误,根目录/下不存在/hadoop.../masters文件
第一条相对路径正确,主目录/home/linlin存在/hadoop.../masters文件
第一条相对路径正确,主目录/home/linlin存在/hadoop.../masters文件,省略了./
master节点进程正常启动,但是不能连接slave节点
hdfs页面Live Node节点数为0,yarn页面node数为0
出现问题:配置好所有节点后,启动hadoop,发现其中slave服务器缺少datanode进程
查看web页面,hdfs页面LiveNode节点数为0,yarn页面正常可以查看node信息
原因说明:
之前配置hadoop时,创建和产生的临时文件:
file:///home/linlin/hadoop/hadoop-3.2.3/dataNode_1_dir
file:///home/linlin/hadoop/hadoop-3.2.3/logs
file:///home/linlin/hadoop/hadoop-3.2.3/hadoop_data/hdfs/datanode
file:///home/linlin/hadoop/hadoop-3.2.3/hadoop_data/hdfs/namenode
这些路径下的/dfs/namesecondary/current/VERSION文件或者/current/VERSION文件与进程的节点存储目录有关。正常的集群应该是:master上只有namenode临时文件,slave上只有datanode临时文件。两个目录的临时文件信息应该通过什么关联,对比文件发现:
格式化namenode文件前后namenode文件中clusterID发生变化,所以与clusterID有关,与layoutVersion这一项无关。
解决方法一:
格式化namenode
将master服务器的namenode路径下的临时文件/current/VERSION的clusterID与slave服务器的datenode路径下临时文件/current/VERSION的clusterID改为一致
启动hadoop
解决方法二:
删除dataNode_1_dir和logs文件夹,删除节点存储目录的current文件夹
格式化namenode
启动hadoop
正常的hadoop进程
参考:
启动hadoop发现slave中jps没有datanode进程
jps查看发现没有datanode进程
服务器处于非启动状态,不能ssh连接;
服务器处于启动状态,从节点之间也可以ssh连接。
从节点启动hadoop进程,根据配置会缺少进程。