推荐阅读:
[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分布式计算平台。
本文目录导读:
随着大数据时代的到来,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,集群状态,环境变量,格式化,启动,验证,编译,运行,结果,总结
本文标签属性:
Ubuntu Hadoop:ubuntu hadoop环境搭建
环境配置:java环境配置
Ubuntu Hadoop 配置:ubuntu hadoop环境搭建