centos

怎样配置CentOS的HDFS环境

小樊
41
2025-07-29 03:43:29
栏目: 智能运维

在CentOS上配置Hadoop分布式文件系统(HDFS)涉及多个步骤,包括环境准备、安装Hadoop、配置环境变量、修改配置文件以及启动HDFS服务等。以下是详细的配置步骤:

1. 环境准备

安装Java环境

HDFS需要Java运行环境,首先确保已经安装了Java。

sudo yum install -y java-1.8.0-openjdk

然后配置Java环境变量:

vi /etc/profile

添加以下内容:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH

保存并退出,然后使配置生效:

source /etc/profile

验证Java安装:

java -version

安装SSH

SSH用于集群节点之间的通信。

sudo yum install openssh-server -y

2. 安装Hadoop

下载并解压Hadoop

从Apache Hadoop官网下载最新版本的Hadoop,例如Hadoop 3.2.1。

wget https://downloads.apache.org/hadoop/core/hadoop-3.2.0/hadoop-3.2.0.tar.gz
tar -zxvf hadoop-3.2.0.tar.gz -C /opt/hadoop

配置环境变量

编辑 /etc/profile 文件,添加Hadoop的路径和环境变量:

vi /etc/profile

添加以下内容:

export HADOOP_HOME=/opt/hadoop/hadoop-3.2.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

保存并退出,然后使配置生效:

source /etc/profile

3. 配置Hadoop

配置环境变量

编辑 /etc/hadoop/hadoop-env.sh 文件,设置JAVA_HOME为你安装的JDK路径:

vi /etc/hadoop/hadoop-env.sh

添加以下内容:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

配置Hadoop配置文件

core-site.xml 编辑 $HADOOP_HOME/etc/hadoop/core-site.xml 文件,配置以下内容:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://namenode:9000</value>
    </property>
</configuration>

hdfs-site.xml 编辑 $HADOOP_HOME/etc/hadoop/hdfs-site.xml 文件,配置以下内容:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</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>
    <property>
        <name>dfs.namenode.handler.count</name>
        <value>30</value>
    </property>
    <property>
        <name>fs.trash.interval</name>
        <value>60</value>
    </property>
    <property>
        <name>fs.trash.checkpoint.interval</name>
        <value>10</value>
    </property>
</configuration>

mapred-site.xml(如使用MapReduce):

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

yarn-site.xml(如启用YARN):

<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>resourcemanager</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

4. 配置SSH免密登录

生成SSH密钥对:

ssh-keygen -t rsa

将公钥复制到其他节点的 authorized_keys 文件中,实现免密登录:

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

5. 配置网络

配置静态IP

编辑网络接口配置文件,例如 /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes

保存文件并退出编辑器,然后重启网络服务:

sudo systemctl restart network

配置主机名和DNS

编辑 /etc/sysconfig/network 文件,设置主机名:

HOSTNAME=node1

编辑 /etc/resolv.conf 文件,添加DNS服务器地址:

nameserver 8.8.8.8
nameserver 8.8.4.4

使用 hostnamectl set-hostname 命令使更改生效:

hostnamectl set-hostname node1

6. 格式化NameNode

在NameNode上执行格式化命令:

hdfs namenode -format

7. 启动HDFS

启动HDFS服务:

./sbin/start-dfs.sh

8. 验证配置

使用以下命令检查HDFS状态:

hdfs dfsadmin -report

访问Web界面,例如:

http://namenode:50070

0
看了该问题的人还看了