当前位置: 首页 > article >正文

【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

    结束


    http://www.kler.cn/a/596451.html

    相关文章:

  • mysql——第二课
  • spring MVC 介绍
  • Java实体类(Javabean)-编程规范
  • AI Agent设计模式 四种高层次模式以及更具体的九种模式
  • CSS 文档流:元素排列的底层逻辑与布局控制
  • Android Studio最后一个绑定JDK8的版本,但是官方下载是最新的,怎么下载Android Studio历史版本包,这篇文章帮你解决。
  • 2025年消防设施操作员考试题库及答案
  • centos 7 搭建FTP user-list用户列表
  • Spring AOP实战指南:面向切面编程精髓
  • C语言:循环控制结构习题
  • 从 0 到 1:深度学习模型,重构世界的数字蓝图
  • solana增加流动性和删除流动性
  • 练习:运动计划
  • CUDA 学习(2)——CUDA 介绍
  • DeepSeek和Kimi在Neo4j中的表现
  • Python在图像处理领域的核心能力及典型应用场景(二)
  • 8 两数相加
  • Elasticsearch 在航空行业:数据管理的游戏规则改变者
  • 香橙派连接摄像头过程
  • 网络安全之前端学习(HTML属性篇)