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的安装、环境变量的设置、HDFS和YARN的配置等关键步骤,旨在帮助读者在Ubuntu平台上顺利部署和运行Hadoop分布式计算框架。

本文目录导读:

  1. 环境准备
  2. 下载和配置 Hadoop
  3. 验证 Hadoop 配置

随着大数据时代的到来,Hadoop 作为一款开源的分布式计算框架,得到了广泛应用,本文将详细介绍如何在 Ubuntu 系统下配置 Hadoop,帮助读者更好地理解和运用这一强大的工具。

环境准备

1、安装 Java

Hadoop 依赖于 Java 环境,因此首先需要安装 Java,可以使用以下命令安装 OpenJDK:

sudo apt-get install openjdk-8-jdk

安装完成后,设置 Java 环境变量:

sudo nano /etc/profile

在打开的文件中添加以下内容:

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

保存并退出,然后运行以下命令使环境变量生效:

source /etc/profile

2、安装 SSH

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

sudo apt-get install ssh

3、配置 SSH 无密码登录

生成 SSH 密钥对:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

将公钥复制到本机的 authorized_keys 文件中:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

设置文件权限:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

下载和配置 Hadoop

1、下载 Hadoop

从官网下载 Hadoop 的压缩包,这里以 hadoop-3.1.3 为例:

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

2、解压 Hadoop

解压下载的压缩包:

tar -zxvf hadoop-3.1.3.tar.gz -C /usr/local/

3、配置 Hadoop

修改 hadoop.env.sh 文件,设置 Java 路径:

sudo nano /usr/local/hadoop-3.1.3/etc/hadoop/hadoop.env.sh

找到export JAVA_HOME 行,将其修改为:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

修改 core-site.xml 文件:

sudo nano /usr/local/hadoop-3.1.3/etc/hadoop/core-site.xml

添加以下内容:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/app/hadoop/tmp</value>
    </property>
</configuration>

修改 hdfs-site.xml 文件:

sudo nano /usr/local/hadoop-3.1.3/etc/hadoop/hdfs-site.xml

添加以下内容:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/app/hadoop/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/app/hadoop/hdfs/data</value>
    </property>
</configuration>

修改 mapred-site.xml 文件:

sudo nano /usr/local/hadoop-3.1.3/etc/hadoop/mapred-site.xml

添加以下内容:

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

修改 yarn-site.xml 文件:

sudo nano /usr/local/hadoop-3.1.3/etc/hadoop/yarn-site.xml

添加以下内容:

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

4、格式化 HDFS 文件系统

hdfs namenode -format

5、启动 Hadoop 服务

启动 NameNode 和 DataNode:

start-dfs.sh

启动 ResourceManager 和 NodeManager:

start-yarn.sh

验证 Hadoop 配置

1、查看进程

使用以下命令查看 Hadoop 进程:

jps

如果看到 NameNode、DataNode、ResourceManager 和 NodeManager 进程,说明 Hadoop 配置成功。

2、执行 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.java:

javac -cp /usr/local/hadoop-3.1.3/share/hadoop/common/hadoop-common-3.1.3.jar:/usr/local/hadoop-3.1.3/share/hadoop/common/lib/*:/usr/local/hadoop-3.1.3/share/hadoop/hdfs/hadoop-hdfs-3.1.3.jar:/usr/local/hadoop-3.1.3/share/hadoop/hdfs/lib/*:/usr/local/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-client-core-3.1.3.jar:/usr/local/hadoop-3.1.3/share/hadoop/mapreduce/lib/*:/usr/local/hadoop-3.1.3/share/hadoop/yarn/hadoop-yarn-api-3.1.3.jar:/usr/local/hadoop-3.1.3/share/hadoop/yarn/hadoop-yarn-client-3.1.3.jar:/usr/local/hadoop-3.1.3/share/hadoop/yarn/lib/* WordCount.java

将编译生成的 WordCount.class 文件打包为 hadoop-wordcount.jar:

jar -cvf hadoop-wordcount.jar WordCount.class

执行 WordCount 程序:

hadoop jar hadoop-wordcount.jar WordCount /input /output

执行完成后,查看 output 文件夹,可以看到 WordCount 的结果。

本文详细介绍了在 Ubuntu 系统下配置 Hadoop 的过程,包括环境准备、下载和配置 Hadoop、验证 Hadoop 配置等步骤,通过本文的介绍,读者可以快速掌握 Hadoop 的安装和配置方法,为后续的大数据处理打下基础。

关键词:Ubuntu, Hadoop, 配置, Java, SSH, Hadoop 环境变量, NameNode, DataNode, ResourceManager, NodeManager, WordCount, MapReduce, HDFS, YARN, hadoop.env.sh, core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml, 格式化 HDFS, 启动 Hadoop 服务, jps, 编译, 打包, 执行 WordCount, 输出结果

bwg Vultr justhost.asia racknerd hostkvm pesyun Pawns


本文标签属性:

Ubuntu Hadoop:ubuntu hadoop集群

配置详解:nginx负载均衡配置详解

Ubuntu Hadoop 配置:ubuntu18.04安装hadoop

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