在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界面: