在CentOS上配置HDFS网络涉及多个步骤,包括设置静态IP地址、配置网络接口、修改Hadoop配置文件等。以下是一个详细的指南:
首先,你需要为你的CentOS节点设置一个静态IP地址。编辑网络配置文件:
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
在这个文件中,你需要设置以下参数:
BOOTPROTO: 设置为 static 表示使用静态IP。IPADDR: 设置为你想要的静态IP地址。NETMASK: 设置子网掩码。GATEWAY: 设置网关地址。DNS1: 设置首选DNS服务器地址。DNS2: 设置备选DNS服务器地址(可选)。ONBOOT: 设置为 yes 表示在系统启动时自动启用网络连接。例如:
DEVICE=ens33
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
ONBOOT=yes
保存并退出编辑器,然后重启网络服务:
sudo systemctl restart network
确保每个节点的主机名是正确的,并且可以在网络中解析。你可以使用以下命令来设置主机名:
hostnamectl set-hostname hadoop1
编辑 /etc/hosts 文件,添加集群节点的IP地址和主机名映射:
192.168.1.100 hadoop1
192.168.1.101 hadoop2
192.168.1.102 hadoop3
编辑 /etc/profile 文件,添加Hadoop的环境变量:
sudo vi /etc/profile
添加以下内容:
export JAVA_HOME=/usr/lib/java-1.8.0-openjdk
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使配置生效:
source /etc/profile
在 hadoop/etc/hadoop 目录下找到 core-site.xml 文件,添加或修改以下内容:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
</configuration>
在 hadoop/etc/hadoop 目录下找到 hdfs-site.xml 文件,添加或修改以下内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/path/to/namenode/dir</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/path/to/datanode/dir</value>
</property>
</configuration>
生成SSH密钥对并复制到其他节点:
ssh-keygen -t rsa -P ''
ssh-copy-id user@node2
ssh-copy-id user@node3
在启动Hadoop集群前,需要格式化NameNode:
hdfs namenode -format
在master节点上,启动HDFS:
cd /path/to/hadoop/sbin
./start-dfs.sh
在slave节点上,同步Hadoop配置:
scp -r /path/to/hadoop/etc/hadoop slave1:/path/to/slave1/etc/hadoop
scp -r /path/to/hadoop/etc/hadoop slave2:/path/to/slave2/etc/hadoop
然后,在每个slave节点上启动DataNode:
cd /path/to/hadoop/sbin
./start-datanode.sh
配置完成后,你可以使用以下命令来验证网络连接:
ping www.baidu.com
使用以下命令检查HDFS是否正常运行:
hdfs dfsadmin -report
访问Web界面: