【Linux】Hadoop-3.4.1的伪分布式集群的初步配置

配置步骤

一、检查环境

  • JDK
# 目前还是 JDK8 最适合 Hadoop
java -version
echo $JAVA_HOME
  • Hadoop
hadoop version
echo $HADOOP_HOME

    二、配置SSH免密登录

    Hadoop需要通过SSH管理节点(即使在伪分布式模式下)

    sudo apt install openssh-server    # 安装SSH服务(如未安装)
    
    cd ~/.ssh/
    
    ssh-keygen -t rsa    # 生成密钥对
    
    cat ./id_rsa.pub >> ./authorized_keys    # 添加公钥到授权列表
    
    ssh localhost    # 测试免密登录(首次可能需输入yes)
    
    ssh-copy-id xxx
    ssh xxx

    三、修改Hadoop核心配置文件

    进入配置文件目录:

    cd $HADOOP_HOME/etc/hadoop
    # 手动创建文件夹
    mkdir -p /opt/software/hadoop/data/tmp
    mkdir -p /opt/software/hadoop/data/logs
    mkdir -p /opt/software/hadoop/data/namenode
    mkdir -p /opt/software/hadoop/data/datanode
    • hadoop-env.sh
    vim hadoop-env.sh
    
    # 在文件最后一行加上
    export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
    export HADOOP_CONF_DIR=/opt/software/hadoop/etc/hadoop
    export HADOOP_LOG_DIR=/opt/software/hadoop/data/logs
    export HADOOP_PID_DIR=/opt/software/hadoop/data/tmp
    • yarn-env.sh
    vim hadoop-env.sh
    
    # 在文件最后一行加上
    export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
    • mapred-env.sh

    vim mapred-env.sh
    
    # 在文件最后一行加上
    export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"

    把环境刷新一下

    source hadoop-env.sh
    source yarn-env.sh
    source mapred-env.sh
    • core-site.xml

    <configuration>
        <!-- 指定 NameNode 通信的地址 -->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://hadoop01:8020</value>
        </property>
        <!-- 指定 hadoop 运行过程中临时数据的存储目录 -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/software/hadoop/data/tmp</value>
        </property>
    </configuration>
    • hdfs-site.xml

    <configuration>
        <!-- NameNode 存放元数据的本地目录-->
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>/opt/software/hadoop/data/namenode</value>
        </property>
        <!-- NameNode web 端访问地址-->
        <property>
            <name>dfs.namenode.http-address</name>
            <value>hadoop01:9870</value>
        </property>
        <!-- Datanode 在本地存储 block 块的目录 -->
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>/opt/software/hadoop/data/datanode</value>
        </property>
        <!-- HDFS blocksize block 块大小 -->
        <property>
            <name>dfs.blocksize</name>
            <value>134217728</value>
        </property>
        <!-- HDFS blocksize 也就是 block 的副本数-->
        <property>
            <name>dfs.replication</name>
            <value>2</value>
        </property>
    </configuration>
    • mapred-site.xml

    <configuration>
        <!-- 指定 MapReduce 程序运行在 Yarn 上 -->
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    • yarn-site.xml

    <configuration>
        <!-- 指定 MR 走 shuffle -->
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
        <!-- 环境变量的继承 -->
        <property>
            <name>yarn.nodemanager.env-whitelist</name>
            <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HA
            DOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_H
            OME,HADOOP_MAPRED_HOME</value>
        </property>
    </configuration>

    四、初始化与启动Hadoop

    • 格式化HDFS
    hdfs namenode -format
    
    # 成功标志:Storage directory ... has been successfully formatted
    • 启动HDFS和YARN
    start-dfs.sh   # 启动NameNode和DataNode
    start-yarn.sh  # 启动ResourceManager和NodeManager
    • jps 验证进程
    jps

    结束

    ### 配置Hadoop 3.4.1伪分布式环境 #### 下载并解压Hadoop安装包 为了配置Hadoop 3.4.1,在开始之前需先获取对应的版本。可以通过访问Apache官方站点来下载所需的压缩文件[^3]。 ```bash wget https://dlcdn.apache.org/hadoop/common/hadoop-3.4.1/hadoop-3.4.1.tar.gz ``` 接着,将下载好的tarball解压至目标位置,并设置合适的权限以便后续操作: ```bash tar -zxvf hadoop-3.4.1.tar.gz sudo chown -R $USER:$USER hadoop-3.4.1 ``` #### 修改环境变量 为了让系统能够识别Hadoop命令,需要编辑`~/.bashrc`或者相应的shell profile文件,添加如下内容以更新PATH环境变量[^1]: ```bash export HADOOP_HOME=/path/to/hadoop-3.4.1 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin source ~/.bashrc ``` 请注意替换上述路径中的`/path/to/hadoop-3.4.1`为实际解压后的目录地址。 #### 编辑核心配置文件 对于伪分布式的部署方式,主要涉及以下几个重要配置文件的修改: - `etc/hadoop/core-site.xml`: 设置NameNode的位置以及默认FS URI。 ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` - `etc/hadoop/hdfs-site.xml`: 定义数据节点存储副本的数量以及其他DFS参数。 ```xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/tmp/hadoop-${user.name}/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/tmp/hadoop-${user.name}/dfs/data</value> </property> </configuration> ``` - `etc/hadoop/mapred-site.xml`: 如果该文件不存在,则可以从模板复制一份(`cp mapred-site.xml.template mapred-site.xml`);用于指定MapReduce框架使用的资源管理器。 ```xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` - `etc/hadoop/yarn-site.xml`: YARN的相关设定,比如ResourceManager的位置等。 ```xml <configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>localhost</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> ``` 完成以上更改之后保存所有文件。 #### 初始化并启动服务 执行下面两条指令初始化namenode并将整个集群启动起来: ```bash $HADOOP_HOME/bin/hdfs namenode -format $HADOOP_HOME/sbin/start-dfs.sh $HADOOP_HOME/sbin/start-yarn.sh ``` 此时应该可以在浏览器里通过http://localhost:8088查看YARN ResourceManager界面,而http://localhost:9870则指向HDFS NameNode Web UI。
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值