温馨提示×

CentOS HDFS网络如何设置

小樊
56
2025-03-19 23:14:53
栏目: 智能运维

在CentOS上设置HDFS网络涉及多个步骤,包括配置静态IP地址、设置主机名、配置免密登录、配置ZooKeeper以及配置Hadoop。以下是详细的步骤:

1. 配置静态IP地址

首先,你需要为每个节点配置静态IP地址。假设你有两个节点,分别为node1node2

  • 编辑网络配置文件:

    sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
    
  • 添加或修改以下内容:

    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens33
    UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    DEVICE=ens33
    ONBOOT=yes
    IPADDR=192.168.1.11
    DNS1=8.8.8.8
    DNS2=114.114.114.114
    
  • 保存并退出编辑器,然后重启网络服务:

    sudo systemctl restart network
    

2. 设置主机名

为每个节点设置主机名,例如node1node2等。

  • 使用hostnamectl命令设置主机名:

    sudo hostnamectl set-hostname node1
    

3. 配置免密登录

在每个节点上生成SSH密钥对,并将公钥复制到其他节点的~/.ssh/authorized_keys文件中。

  • 生成SSH密钥对:

    ssh-keygen -t rsa
    
  • 将公钥复制到其他节点:

    ssh-copy-id user@node2
    ssh-copy-id user@node3
    

4. 配置ZooKeeper

  • 下载并解压ZooKeeper:

    wget https://downloads.apache.org/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz
    tar -xzf apache-zookeeper-3.8.0-bin.tar.gz
    cd apache-zookeeper-3.8.0
    
  • 配置zoo.cfg文件:

    vi conf/zoo.cfg
    
  • 修改以下内容:

    dataDir=/tmp/zookeeper
    clientPort=2181
    
  • dataDir目录下创建myid文件,并添加相应的数值(例如,node1myid文件内容为1)。

  • 启动ZooKeeper服务:

    ./bin/zkServer.sh start
    

5. 配置Hadoop

  • 下载并解压Hadoop:

    wget https://downloads.apache.org/hadoop/core/hadoop-3.3.1/hadoop-3.3.1.tar.gz
    tar -xzf hadoop-3.3.1.tar.gz
    cd hadoop-3.3.1
    
  • 配置core-site.xml文件:

    vi etc/hadoop/core-site.xml
    
  • 添加以下内容:

    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://node1:9000</value>
    </property>
    
  • 配置hdfs-site.xml文件:

    vi etc/hadoop/hdfs-site.xml
    
  • 添加以下内容:

    <property>
        <name>dfs.nameservices</name>
        <value>mycluster</value>
    </property>
    <property>
        <name>dfs.ha.namenodes.mycluster</name>
        <value>nn1,nn2</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.mycluster.nn1</name>
        <value>node1:8020</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.mycluster.nn2</name>
        <value>node2:8020</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.mycluster.nn1</name>
        <value>node1:50070</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.mycluster.nn2</name>
        <value>node2:50070</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/tmp/hdfs/data</value>
    </property>
    <property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://node1:8485;node2:8485;node3:8485/mycluster</value>
    </property>
    

6. 格式化NameNode

node1上格式化NameNode:

hdfs namenode -format

7. 启动HDFS集群

node1上启动HDFS集群:

start-dfs.sh

node2上启动HDFS集群:

start-dfs.sh

8. 验证配置

使用以下命令验证HDFS是否正常运行:

hdfs dfs -ls /

通过以上步骤,你可以在CentOS上成功配置HDFS网络。请根据你的实际网络环境和需求调整配置。

0