CentOS 安装Hadoop 单机版[Hadoop 3 学习笔记]

我们可以在官方网站Apache Hadoop上查看最新的信息,当我们需要安装Hadoop时我们可以在Hadoop Download上进行下载。

我本次安装的是Hadoop 3.3.x,它需要Linux中有安装JDK,JDK的版本最好是8。关于详细的Hadoop和Java版本兼容性请看Hadoop Java Versions

单机版本

单机安装是最简单的Hadoop环境搭建方式,但是它不具备Hadoop分布式设计思想,不能通过多服务器水平扩展实现计算能力的提升,也不能容忍单台机器故障。所以适合学习和开发用途。

单机模式的特点:运行在一台主机上,按默认配置以非分布式模式运行的一个独立Java进程。它直接使用本地文件系统,而不是分布式文件系统,不需要加载任何 Hadoop 的守护进程,一般用于本MapReduce 程序的调试。默认情况下,Hadoop处于该模式,用于开发和调试。

我们可以参考Local (Standalone) Mode进行单机安装。安装的环境为亚马逊云宁夏区域的一台X64 EC2上,运行的Linux为Amazon Linux 2023(属于RHEL系,兼容CentOS、RHEL、Fedora)。

安装JDK8

首先下载JDK8

ruby 复制代码
# 方便起见使用Amazon corretto JDK8 X64版本
wget https://corretto.aws/downloads/latest/amazon-corretto-8-x64-linux-jdk.tar.gz

然后解压并配置JAVA_HOME环境变量

bash 复制代码
# 解压
tar -zxvf amazon-corretto-8-x64-linux-jdk.tar.gz 
# 重命名解压后得到的jdk文件夹,方便后续管理,我命名为jdk8
mv amazon-corretto-8.402.06.1-linux-x64/ jdk8

配置JAVA_HOME环境变量和PATH

bash 复制代码
# 查看当前目录的路径
pwd
# 查看当前目录下的文件列表,找到jdk8
ls
# 编辑当前用户的环境变量
vim ~/.bash_profile

当前用户的环境变量中,我们可以直接指定JAVA_HOME环境变量和PATH

bash 复制代码
export JAVA_HOME=/home/ec2-user/jdk8
export PATH=$PATH:$JAVA_HOME/bin

最后我们应用当前环境变量设置,并检测JDK8是否安装正确

安装Hadoop

本次我安装的是Hadoop 3.3.6,我们可以直接在hadoop-3.3.6.tar.gz Download找到下载连接

下载

bash 复制代码
# 下载
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
# 解压
tar -zxvf hadoop-3.3.6.tar.gz

由于网络原因,一般在国内下载会非常慢,如你发现类似问题,建议直接用迅雷等工具下载好了再传到服务器上

然后解压并配置HADOOP_HOME环境变量

bash 复制代码
# 解压
tar -zxvf hadoop-3.3.6.tar.gz
# 编辑当前用户的环境变量
vim ~/.bash_profile

当前用户的环境变量中,我们可以直接指定HADOOP_HOME环境变量和PATH

bash 复制代码
export HADOOP_HOME=/home/ec2-user/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 

最后我们应用当前环境变量设置,并检测HADOOP是否安装正确

bash 复制代码
# 检查JAVA_HOME
echo $JAVA_HOME
# 检查java版本
java -version
# 检查hadoop版本
hadoop version

测试

hadoop自带一些简单的样例,我们可以利用这些样例来进行功能测试

测试1:wordcount 单词次数统计

可以统计一个文件里面单词出现的次数

我们首先可以创建一个文件

bash 复制代码
# 进入用户home目录
cd ~
# 创建一个文件
vim wordcount_test.txt

在wordcount_test.txt中填入下面的文字

Amazon EMR Easily run and scale Apache Spark, Hive, Presto, and other big data workloads

然后进入到hadoop自带的mapreduce文件样例文件夹中,执行测试

bash 复制代码
#进入到hadoop自带的mapreduce文件样例文件夹中
cd hadoop-3.3.6/share/hadoop/mapreduce/
ls
# 执行测试,使用hadoop-mapreduce-examples-3.3.6.jar中的wordcount方法来统计~/wordcount_test.txt中单词出现的个数并将结果输出到~/output
hadoop jar hadoop-mapreduce-examples-3.3.6.jar wordcount ~/wordcount_test.txt ~/output

查看结果,输出的统计结果在~/output文件夹下

bash 复制代码
cat ~/output/part-r-00000

我们可以看到单词被正确的统计了

测试2:圆周率计算

Hadoop自带圆周率估算函数,我们可以用来进行功能测试,比如下面的命令:第一个100是运行100次map任务,第二个200是每个map任务投掷次数,所以总投掷次数是100×200,你可以调整这2个值。值越大运算耗时越长但是估算出的圆周率越精确

lua 复制代码
hadoop jar hadoop-mapreduce-examples-3.3.6.jar pi 100 200
相关推荐
IT毕设梦工厂1 小时前
大数据毕业设计选题推荐-基于大数据的客户购物订单数据分析与可视化系统-Hadoop-Spark-数据可视化-BigData
大数据·hadoop·数据分析·spark·毕业设计·源码·bigdata
java水泥工1 小时前
基于Echarts+HTML5可视化数据大屏展示-白茶大数据溯源平台V2
大数据·echarts·html5
广州腾科助你拿下华为认证3 小时前
华为考试:HCIE数通考试难度分析
大数据·华为
在未来等你5 小时前
Elasticsearch面试精讲 Day 17:查询性能调优实践
大数据·分布式·elasticsearch·搜索引擎·面试
大数据CLUB8 小时前
基于spark的澳洲光伏发电站选址预测
大数据·hadoop·分布式·数据分析·spark·数据开发
ratbag6720138 小时前
当环保遇上大数据:生态环境大数据技术专业的课程侧重哪些领域?
大数据
计算机编程小央姐10 小时前
跟上大数据时代步伐:食物营养数据可视化分析系统技术前沿解析
大数据·hadoop·信息可视化·spark·django·课程设计·食物
智数研析社11 小时前
9120 部 TMDb 高分电影数据集 | 7 列全维度指标 (评分 / 热度 / 剧情)+API 权威源 | 电影趋势分析 / 推荐系统 / NLP 建模用
大数据·人工智能·python·深度学习·数据分析·数据集·数据清洗
潘达斯奈基~11 小时前
《大数据之路1》笔记2:数据模型
大数据·笔记
寻星探路11 小时前
数据库造神计划第六天---增删改查(CRUD)(2)
java·大数据·数据库