huanayun
hengtianyun
vps567
莱卡云

[Linux操作系统]Ubuntu 下 Hadoop 配置详解与实践|ubuntu配置hadoop环境,Ubuntu Hadoop 配置,Ubuntu下Hadoop环境配置全攻略,从入门到精通

PikPak

推荐阅读:

[AI-人工智能]免翻墙的AI利器:樱桃茶·智域GPT,让你轻松使用ChatGPT和Midjourney - 免费AIGC工具 - 拼车/合租账号 八折优惠码: AIGCJOEDISCOUNT2024

[AI-人工智能]银河录像局: 国内可靠的AI工具与流媒体的合租平台 高效省钱、现号秒发、翻车赔偿、无限续费|95折优惠码: AIGCJOE

[AI-人工智能]免梯免翻墙-ChatGPT拼车站月卡 | 可用GPT4/GPT4o/o1-preview | 会话隔离 | 全网最低价独享体验ChatGPT/Claude会员服务

[AI-人工智能]边界AICHAT - 超级永久终身会员激活 史诗级神器,口碑炸裂!300万人都在用的AI平台

本文详细介绍了在Ubuntu操作系统配置Hadoop环境的步骤与实践。内容涵盖了Hadoop的安装、环境变量设置、核心配置文件修改等关键环节,旨在帮助用户在Ubuntu系统中顺利搭建Hadoop分布式计算平台。

本文目录导读:

  1. Hadoop 简介
  2. 安装前的准备工作
  3. 安装 Hadoop
  4. 验证 Hadoop 配置

随着大数据时代的到来,Hadoop 作为一种分布式计算框架,被广泛应用于处理海量数据,本文将详细介绍如何在 Ubuntu 系统下配置 Hadoop,帮助读者更好地理解和掌握 Hadoop 的安装与使用。

Hadoop 简介

Hadoop 是一个开源的分布式计算框架,由 Apache Software Foundation(ASF)维护,它主要包括以下几个核心组件:

1、Hadoop 分布式文件系统(HDFS):用于存储海量数据。

2、Hadoop YARN:资源调度与管理。

3、Hadoop mapReduce:分布式计算模型。

安装前的准备工作

1、安装 java 环境

Hadoop 是基于 Java 开发的,因此需要安装 Java 环境,可以使用以下命令安装 OpenJDK:

sudo apt-get install openjdk-8-jdk

安装完成后,可以使用java -version 命令检查 Java 版本。

2、安装 SSH

Hadoop 集群中的节点需要通过 SSH 进行通信,因此需要安装 SSH 服务,使用以下命令安装 SSH:

sudo apt-get install ssh

安装完成后,启动 SSH 服务:

sudo service ssh start

3、配置 SSH 免密登录

为了方便管理集群,需要配置 SSH 免密登录,生成 SSH 密钥对:

ssh-keygen -t rsa -P ''

将公钥复制到其他节点的~/.ssh/authorized_keys 文件中:

ssh-copy-id 用户名@其他节点IP

安装 Hadoop

1、下载 Hadoop

从 Hadoop 官网下载最新版本的 Hadoop,这里以 hadoop-3.2.1 为例:

wget https://archive.apache.org/dist/hadoop/3.2.1/hadoop-3.2.1.tar.gz

2、解压 Hadoop

解压下载的 Hadoop 压缩包:

tar -zxf hadoop-3.2.1.tar.gz

3、配置环境变量

编辑~/.bashrc 文件,添加以下内容:

export HADOOP_HOME=/path/to/hadoop-3.2.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

使环境变量生效:

source ~/.bashrc

4、配置 Hadoop

(1)配置 HDFS

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

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

(2)配置 YARN

编辑$HADOOP_HOME/etc/hadoop/yarn-site.xml 文件,添加以下内容:

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

(3)配置 MapReduce

编辑$HADOOP_HOME/etc/hadoop/mapred-site.xml 文件,添加以下内容:

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

5、格式化 HDFS

在 Hadoop 主节点上执行以下命令,格式化 HDFS:

hdfs namenode -format

6、启动 Hadoop

启动 HDFS:

start-dfs.sh

启动 YARN:

start-yarn.sh

验证 Hadoop 配置

1、查看集群状态

执行以下命令,查看 Hadoop 集群状态:

hdfs dfsadmin -report

2、运行 WordCount 程序

将以下 WordCount 程序保存为WordCount.java

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
public class WordCount {
    public static class TokenizerMapper
            extends Mapper<Object, Text, Text, IntWritable>{
        private final static IntWritable one = new IntWritable(1);
        private Text word = new Text();
        public void map(Object key, Text value, Context context
        ) throws IOException, InterruptedException {
            String[] words = value.toString().split("\s+");
            for (String w : words) {
                word.set(w);
                context.write(word, one);
            }
        }
    }
    public static class IntSumReducer
            extends Reducer<Text,IntWritable,Text,IntWritable> {
        private IntWritable result = new IntWritable();
        public void reduce(Text key, Iterable<IntWritable> values,
                           Context context
        ) throws IOException, InterruptedException {
            int sum = 0;
            for (IntWritable val : values) {
                sum += val.get();
            }
            result.set(sum);
            context.write(key, result);
        }
    }
    public static void main(String[] args) throws Exception {
        Configuration conf = new Configuration();
        Job job = Job.getInstance(conf, "word count");
        job.setJarByClass(WordCount.class);
        job.setMapperClass(TokenizerMapper.class);
        job.setCombinerClass(IntSumReducer.class);
        job.setReducerClass(IntSumReducer.class);
        job.setOutputKeyClass(Text.class);
        job.setOutputValueClass(IntWritable.class);
        FileInputFormat.addInputPath(job, new Path(args[0]));
        FileOutputFormat.setOutputPath(job, new Path(args[1]));
        System.exit(job.waitForCompletion(true) ? 0 : 1);
    }
}

编译 WordCount 程序:

javac -cp $HADOOP_HOME/share/hadoop/common/hadoop-common-3.2.1.jar:$HADOOP_HOME/share/hadoop/common/hadoop-auth-3.2.1.jar:$HADOOP_HOME/share/hadoop/hdfs/hadoop-hdfs-3.2.1.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-3.2.1.jar -d . WordCount.java

运行 WordCount 程序:

hadoop jar WordCount.jar WordCount /input /output

运行完成后,查看/output 目录下的结果。

本文详细介绍了如何在 Ubuntu 系统下配置 Hadoop,包括安装前的准备工作、安装 Hadoop、配置 Hadoop 以及验证 Hadoop 配置,通过本文,读者可以掌握 Hadoop 的基本安装与使用方法,为进一步学习大数据处理打下基础。

关键词:Ubuntu, Hadoop, 配置, 安装, SSH, Java, HDFS, YARN, MapReduce, WordCount, 集群状态, 环境变量, 格式化, 启动, 验证, 编译, 运行, 结果, 总结

关键词之间用逗号分隔:Ubuntu,Hadoop,配置,配置,安装,SSH,Java,HDFS,YARN,MapReduce,WordCount,集群状态,环境变量,格式化,启动,验证,编译,运行,结果,总结

bwg Vultr justhost.asia racknerd hostkvm pesyun Pawns


本文标签属性:

Ubuntu Hadoop:ubuntu hadoop环境搭建

环境配置:java环境配置

Ubuntu Hadoop 配置:ubuntu hadoop环境搭建

原文链接:,转发请注明来源!