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
相关推荐
pearbing28 分钟前
天猫UV量提高实用指南:找准方向,稳步突破流量瓶颈
大数据·uv·天猫uv量提高·天猫uv量·uv量提高·天猫提高uv量
Dxy12393102162 小时前
Elasticsearch 索引与映射:为你的数据打造一个“智能仓库”
大数据·elasticsearch·搜索引擎
岁岁种桃花儿2 小时前
Kafka从入门到上天系列第一篇:kafka的安装和启动
大数据·中间件·kafka
Apache Flink3 小时前
Apache Flink Agents 0.2.0 发布公告
大数据·flink·apache
永霖光电_UVLED3 小时前
打造更优异的 UVB 激光器
大数据·制造·量子计算
m0_466525293 小时前
绿盟科技风云卫AI安全能力平台成果重磅发布
大数据·数据库·人工智能·安全
晟诺数字人3 小时前
2026年海外直播变革:数字人如何改变游戏规则
大数据·人工智能·产品运营
vx_biyesheji00013 小时前
豆瓣电影推荐系统 | Python Django 协同过滤 Echarts可视化 深度学习 大数据 毕业设计源码
大数据·爬虫·python·深度学习·django·毕业设计·echarts
2501_943695333 小时前
高职大数据与会计专业,考CDA证后能转纯数据分析岗吗?
大数据·数据挖掘·数据分析
实时数据4 小时前
通过大数据的深度分析与精准营销策略,企业能够有效实现精准引流
大数据