ECS单机部署Hadoop

ops/2025/3/1 10:05:10/

ECS单机部署Hadoop

系统准备

  • 更新系统

    sudo yum update -y
    sudo yum install -y wget vim net-tools openssh-server
    
  • 关闭防火墙

    sudo systemctl stop firewalld    -- 关闭防火墙
    sudo systemctl disable firewalld -- 禁止自启动
    sudo systemctl status firewalld  -- 查看防火墙的状态
    

安装Java

  • 安装OpenJDK 8

    # 安装OpenJDK 8
    sudo yum install -y java-1.8.0-openjdk-devel
    
  • 查看版本

    # 验证安装
    java -version 
    

image-20250228152107751

  • 查看Java 安装路径

    # 执行命令 
    readlink -f $(which java) # 命令输出 
    /usr/lib/jvm/java-8-konajdk-8.0.20-1.oc9/bin/java# 安装路径
    /usr/lib/jvm/java-8-konajdk-8.0.20-1.oc9
    

Hadoop用户

  • 创建用户

    # 创建用户
    sudo useradd hadoop
    sudo passwd hadoop  # 设置密码(如:hadoop)# 赋予sudo权限
    sudo echo "hadoop ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers# 切换到hadoop用户
    su - hadoop
    
  • 免密登录

    # 生成密钥(一路回车)
    ssh-keygen -t rsa# 将公钥写入授权文件
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys# 测试免密登录
    ssh localhost  # 输入yes后应直接登录
    exit
    

下载安装Hadoop

  • 下载Hadoop

    # 下载Hadoop(以3.3.6为例)
    wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
    
  • 解压Hadoop

    # 解压并移动到指定目录
    tar -zxvf hadoop-3.3.6.tar.gz
    sudo mv hadoop-3.3.6 /opt/hadoop
    sudo chown -R hadoop:hadoop /opt/hadoop
    
  • 配置环境

    1. 编辑 ~/.bashrc 文件

      vim ~/.bashrc# 添加以下内容
      export JAVA_HOME=/usr/lib/jvm/java-8-konajdk-8.0.20-1.oc9  -- 这里地址参照 readlink -f $(which java) 命令输出地址
      export HADOOP_HOME=/opt/hadoop
      export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
      export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
      
    2. 生效配置

      source ~/.bashrc
      

修改Hadoop配置

  • hadoop-env.sh

    vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
    # 修改JAVA_HOME
    export JAVA_HOME=/usr/lib/jvm/java-8-konajdk-8.0.20-1.oc9  -- 这里地址参照 readlink -f $(which java) 命令输出地址
    
  • core-site.xml

    <configuration><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property><property><name>hadoop.tmp.dir</name><value>/opt/hadoop/tmp</value></property>
    </configuration>
    
  • hdfs-site.xml

    <configuration><property><name>dfs.replication</name><value>1</value></property><property><name>dfs.namenode.name.dir</name><value>/opt/hadoop/hdfs/namenode</value></property><property><name>dfs.datanode.data.dir</name><value>/opt/hadoop/hdfs/datanode</value></property>
    </configuration>
    
  • mapred-site.xml

    <configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
    </configuration>
    
  • yarn-site.xml

    <configuration><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,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value></property>
    </configuration>
    

初始化HDFS

  • 创建目录

    目录参照上面配置创建

    # 创建目录
    mkdir -p /opt/hadoop/tmp
    mkdir -p /opt/hadoop/hdfs/{namenode,datanode}
    
  • 格式化NameNode

    # 格式化NameNode
    hdfs namenode -format
    

启动Hadoop

  • 启动HDFS

    start-dfs.sh
    
  • 启动Yarn

    start-yarn.sh
    
  • 查看Hadoop进程

    jps
    # 应看到以下进程:
    # NameNode
    # DataNode
    # ResourceManager
    # NodeManager
    # SecondaryNameNode
    

    image-20250228153507979

验证部署

  • 访问Web UI

    • HDFS: http://服务器IP:9870
    • YARN: http://服务器IP:8088
  • 测试HDFS操作

    # HDFS 创建文件夹
    hdfs dfs -mkdir /test
    # HDFS 查看文件
    hdfs dfs -ls /test
    # hdfs 上传文件 
    hdfs dfs -put test.txt /test
    # hdfs 下载文件
    hdfs dfs -get /test/test.txt hdfs_test.txt
    
  • 运行MapReduce示例

    # 生成测试文件echo "Hello World Hello Hadoop" > input.txt# 创建input目录
    hdfs dfs -mkdir /input# 上传到测试目录
    hdfs dfs -put input.txt /input# 运行官方案例 
    hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /input /output# 查看输出结果
    hdfs dfs -cat /output/*
    

http://www.ppmy.cn/ops/162207.html

相关文章

AIGC生图产品PM必须知道的Lora训练知识!

hihi&#xff0c;其实以前在方向AIGC生图技术原理和常见应用里面已经多次提到Lora的概念了&#xff0c;但是没有单独拿出来讲过&#xff0c;今天就耐心来一下&#xff01; &#x1f525; 一口气摸透AIGC文生图产品SD&#xff08;Stable Diffusion&#xff09;&#xff01; 一、…

蓝桥杯备赛 Day9 构造

构造 1.要点 考察总结归纳能力&#xff0c;没有固定解法 2.题目 2023平方差 (1)找到规律先存到set里面&#xff0c;然后要考虑最大开到1e6&#xff0c;然后暴力能得70分 (2)再观察规律&#xff0c;y为奇数或者偶数,z为奇数或者偶数&#xff0c;可以得到满足条件的为奇数和…

Redis 持久化方式:RDB(Redis Database)和 AOF(Append Only File)

本部分内容是关于博主在学习 Redis 时关于持久化部分的记录&#xff0c;介绍了 RDB 和 AOF 两种持久化方式&#xff0c;详细介绍了持久化的原理、配置、使用方式、优缺点和使用场景。并对两种持久化方式做了对比。文章最后介绍了 Redis 持久化的意义并与其他常见的缓存技术做了…

Java 输入输出流

Java 输入输出流 本小节将介绍 Java 中的基本输入输出操作&#xff0c;涵盖输入输出的基本概念、流的概念、输入输出流的应用场景、File 类的使用以及 Java 提供的输入输出流相关 API。 1. 什么是输入和输出&#xff08;I/O&#xff09; 1.1 基本概念 在计算机中&#xff0…

Android实现漂亮的波纹动画

Android实现漂亮的波纹动画 本文章讲述如何使用二维画布canvas和camera、矩阵实现二、三维波纹动画效果&#xff08;波纹大小变化、画笔透明度变化、画笔粗细变化&#xff09; 一、UI界面 界面主要分为三部分 第一部分&#xff1a;输入框&#xff0c;根据输入x轴、Y轴、Z轴倾…

导游从业资格证有什么备考秘籍?

导游从业资格证备考秘籍与考试技巧​ 导游从业资格证考试包含笔试与面试&#xff0c;对考生知识储备与综合素养要求高。​ 笔试备考&#xff0c;初期通读教材&#xff0c;搭建导游基础知识、政策法规、导游业务等知识框架&#xff0c;明确各科目重点&#xff0c;如导游业务中的…

软件工程应试复习(考试折磨版)

针对学校软件工程考试&#xff0c;参考教材《软件工程导论&#xff08;第6版&#xff09;》1-8章 学习的艺术&#xff1a;不断地尝试&#xff0c;我一定会找到高效用的方法&#xff0c;让学习变成一门艺术&#xff0c;从应试备考中解救出我的时间同胞们。 好嘞&#xff01;既然…

17 款电脑压缩工具详解及下载指南(2025 年最新版)

在数字时代,文件压缩是日常工作与生活中不可或缺的操作。无论是视频剪辑师压缩视频以便上传,还是普通用户节省存储空间,一款优质的压缩软件都能极大提升效率。本文将详细介绍 17 款热门电脑压缩软件,涵盖它们的特点、下载地址及适用场景,助你找到最适合自己的工具。 一、…