部署伪分布式 Hadoop集群
部署伪分布式 Hadoop集群
- 一、JDK安装配置
- 1.1 下载JDK
- 1.2 上传解压
- 1.3 java环境配置
- 二、伪分布式 Hadoop 安装配置
- 2.1 Hadoop 下载
- 2.2 上传解压
- 2.3 Hadoop 文件目录介绍
- 2.4 Hadoop 配置
- 2.4.1 修改 core-site.xml 配置文件
- 2.4.2 修改 hdfs-site.xml 配置文件
- 2.4.3 修改 hadoop-env.xml 配置文件
- 2.4.4 修改 mapred-site.xml 配置文件
- 2.4.5 修改 yarn-site.xml 配置文件
- 2.4.6 修改 slaves 配置文件
- 2.4.7 配置 Hadooop 环境变量
- 2.4.8 创建配置文件里面的目录
- 三、启动伪分布式 Hadoop 集群
- 3.1 格式化主节点 namenode
- 3.2 启动 Hadoop 伪分别集群
- 3.3 查看 Hadoop 服务进程
- 3.4 查看 HDFS 文件系统
- 3.5 查看 YARN 资源管理系统
- 四、测试运行 Hadoop 伪分布集群
- 4.1 查看 HDFS 目录
- 4.2 参加 HDFS 目录
- 4.3 准备测试数据
- 4.4 测试数据上次到 HDFS
- 4.5 运行 WordCount 案例
- 查看作业运行结果
一、JDK安装配置
部署伪分布式 Hadoop 集群的安装,依赖JDK
1.1 下载JDK
下载地址:https://www.oracle.com/java/technologies/downloads/#license-lightbox
根据需要进行下载,我的系统是 Centos Linux 7 ,所以就下载
1.2 上传解压
- 使用xshell等工具将java压缩包上传到 /root 根目录
- 使用下面命令解压java并放到 /usr/local/ 目录下面
tar -zxvf jdk-8u421-linux-x64.tar.gz -C /usr/local/
1.3 java环境配置
- 设置软连接,方便使用
ln -s jdk1.8.0_421 jdk
- 配置JDK环境变量
vim /etc/profile
添加如下内容
# 添加JAVA环境变量
JAVA_HOME=/usr/local/jdk
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
刷新配置环境
source /etc/profile
二、伪分布式 Hadoop 安装配置
2.1 Hadoop 下载
下载地址:https://hadoop.apache.org/releases.html
根据需要下载自己的版本,这里我下载 2.10.2
2.2 上传解压
上传到根目录 /root
把文件解压到 /usr/local
tar -zxvf /usr/local/hadoop-2.10.2.tar.gz -C /usr/local/
配置软连接
ln -s /usr/local/hadoop-2.10.2/ hadoop
2.3 Hadoop 文件目录介绍
Hadoop目录介绍
-
bin:
- 存放内容:Hadoop的各种可执行脚本和程序,如启动和停止Hadoop服务的脚本、Hadoop命令行工具等。
- 功能:用于执行对Hadoop相关服务(如HDFS、YARN、MapReduce等)的操作和管理任务。
-
etc:
- 存放内容:Hadoop的配置文件,如hadoop-env.sh(环境变量配置)、core-site.xml(核心配置)、hdfs-site.xml(HDFS配置)、yarn-site.xml(YARN配置)和mapred-site.xml(MapReduce配置)等。
- 功能:这些文件定义了Hadoop集群的行为和设置,是Hadoop正常运行的基础。
-
include
- 存放内容:供C/C++应用程序使用的Hadoop相关的头文件。
- 功能:当需要编写与Hadoop交互的本地代码时,这些头文件是必要的。它们提供了与Hadoop API交互的接口和定义。
-
lib
- 存放内容:Hadoop运行所需的本地库(.so文件,即动态链接库)。
- 功能:这些库提供了如压缩/解压缩等底层功能支持,是Hadoop正常运行的必要条件。
-
sbin
- 存放内容:包含超级用户(管理员)使用的脚本,主要用于系统级别的操作,如启动和停止Hadoop守护进程。
- 功能:这些脚本通常需要更高的权限来执行,用于管理Hadoop集群的底层服务和进程。
-
share
- 存放内容:Hadoop的共享资源,主要包括Java的jar包(二进制源码)、文档和其他资源文件。子目录如share/hadoop/common、share/hadoop/hdfs、share/hadoop/yarn和share/hadoop/mapreduce等分别对应Hadoop各个组件的库文件和文档。
- 功能:这些资源为Hadoop的开发和部署提供了必要的支持,包括API文档、示例代码和依赖库等。
-
logs
- 存放内容:Hadoop各个组件和服务的日志文件,通常以.log结尾。
- 功能:这些日志文件记录了Hadoop集群的运行状态和错误信息,是问题排查和性能优化的重要依据。
2.4 Hadoop 配置
2.4.1 修改 core-site.xml 配置文件
core-site.xml 文件主要是配置 Hadoop 的共有属性,具体配置内容如下所示。
[root@hadoop1 hadoop]# vim core-site.xml
在里面添加如下内容(注释记得去掉,避免引起格式错误)
<property><name>fs.defaultFS</name><value>hdfs://hadoop1:9000</value><!--配置 hdfs NameNode 的地址,9000是RPC通信的端口-->
</property>
<property><name>hadoop.tmp.dir</name><value>/data/tmp</value><!--hadoop 的临时目录-->
</property>
2.4.2 修改 hdfs-site.xml 配置文件
hdfs-site.xml 文件主要配置跟 HDFS相关的属性,具体配置内容如下所示:
[root@hadoop1 hadoop]# vim hdfs-site..xml
在里 面添加如下内容(注释记得去掉,避免引起格式错误)
<property><name>dfs.namenode.name.dir</name><value>/root/data/dfs/name</value><!--配置 namenode 节点存储 fsimage的目录位置-->
</property>
<property><name>dfs.datanode.data.dir</name><value>/root/data/dfs/data</value><!--配置 datanode 节点存储 block 的目录位置-->
</property>
<property><name>dfs.replication</name><value>1</value><!--配置 hdfs 副本数量-->
</property>
<property><name>dfs.permissions</name><value>false</value><!--关闭 hdfs 的权限检查-->
</property>
2.4.3 修改 hadoop-env.xml 配置文件
hadoop.env.sh 文件主要配置 Hadoop 环境相关的变量,这里主要修改JAVA_HOME的安装目录,具体配置如下所示。
[root@hadoop1 hadoop]# vim hadoop-env.sh
大概第 25 行位置进行修改:
export JAVA_HOME=/usr/local/jdk
备注
,如果你有给JAVA配置JAVA_HOME环境变量,此处也可以不进行修改
2.4.4 修改 mapred-site.xml 配置文件
mapred-site.xml 文件主要配置跟 MapReduce 相关的属性,这里主要将 MapReduce 的运行框架名称配置为 YARN,具体配置内容如下所示:
# 先拷贝一份
[root@hadoop1 hadoop]# cp mapred-site.xml.template mapred-site.xml
[root@hadoop1 hadoop]# vim mapred-site.xml
在里面添加如下内容(注释记得去掉,避免引起格式错误)
<property><name>mapreduce.framework.name</name><value>yarn</value><!--指定运行 mapreduce 的环境为 YARN-->
</property>
2.4.5 修改 yarn-site.xml 配置文件
yarn-site.xml 文件主要配置跟 YARN 相关的属性,具体配置内容如下所示。
[root@hadoop1 hadoop]# vim yarn-site.xml
在里面添加如下内容(注释记得去掉,避免引起格式错误)
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value><!--配置 NodeManager 执行MR任务的方式为 Shuffle 混洗-->
</property>
2.4.6 修改 slaves 配置文件
slaves 文件主要配置哪些节点为 datanode 角色,由于目前搭建的是 Hadoop伪分布集群,所以只需要填写当前主机的 hostname 即可,具体配置内容如下所示:
[root@hadoop1 hadoop]# vim slaves
里面添加如下内容(主机名称):
hadoop1
2.4.7 配置 Hadooop 环境变量
在 root 用户下,添加 Hadoop 环境变量, 具体操作如下所示:
[root@hadoop1 hadoop]# vim /etc/profile
里面添加如下内容:
# 添加 Hadoop环境变量
HADOOP_HOME=/usr/local/hadoop
PATH=$HADOOP_HOME/bin:$PATH
export HADOOP_HOME PATH
更新环境配置文件
[root@hadoop1 hadoop]# source /etc/profile
查看 Hadoop 版本
[root@hadoop1 hadoop]# hadoop version
2.4.8 创建配置文件里面的目录
[root@hadoop1 hadoop]# mkdir -p /root/data/tmp
[root@hadoop1 hadoop]# mkdir -p /root/data/dfs/name
[root@hadoop1 hadoop]# mkdir -p /root/data/dfs/data
三、启动伪分布式 Hadoop 集群
3.1 格式化主节点 namenode
再 Hadoop 安装目录,使用如下命令对 NameNode 进行格式化
[root@hadoop1 hadoop]# ./bin/hdfs namenode -format
注意:第一次安装 Hadoop 集群需要对 NameNode 进行格式化,Hadoop 集群安装成功之后,下次只需要使用脚本 start-all.sh 一键启动 Hadoop 集群即可。
3.2 启动 Hadoop 伪分别集群
在 Hadoop 安装目录下,使用脚本一键启动 Hadoop 集群,具体操作如下所示:
[root@hadoop1 hadoop]# ./sbin/start-all.sh
3.3 查看 Hadoop 服务进程
通过 jps 命令查看 Hadoop 伪分布集群的服务进程,具体操作如下:
[root@hadoop1 hadoop]# jps
如果服务进程中包含 Resourcemanager、Nodemanager、NameNode、DataNode 和 SecondaryNameNode 等5个进程,这就说明 Hadoop 伪分布式集群启动成功了。
3.4 查看 HDFS 文件系统
在浏览器中输入 http://hadoop1:50070 地址,通过 web 界面查看 HDFS 文件系统,具体操作如下:
3.5 查看 YARN 资源管理系统
在浏览器中输入 http://hadoop1:8088 地址,通过 web 界面查看 HDFS 文件系统,具体操作如下:
四、测试运行 Hadoop 伪分布集群
Hadoop 伪分布集群启动之后,我们以 Hadoop 自带的 WordCount 案例来检测 Hadoop 集群环境的可用性。
4.1 查看 HDFS 目录
在 HDFS shell 中,使用 ls 命令查看 HDFS 文件系统目录,具体操作如下所示:
[root@hadoop1 hadoop]# ./bin/hdfs dfs -ls /
由于是第一次使用 HDFS 文件系统,所以 HDFS 中目前没有任何文件和目录
4.2 参加 HDFS 目录
在 HDFS shell 中,使用 ls 命令查看 HDFS 文件系统目录,具体操作如下所示:
[root@hadoop1 hadoop]# ./bin/hdfs dfs -mkdir /test
4.3 准备测试数据
在 HDFS shell 中,使用 ls 命令查看 HDFS 文件系统目录,具体操作如下所示:
[root@hadoop1 hadoop]# vi words.log
添加如下内容:
hadoop hadoop hadoop
spark spark spark
flink flink flink
4.4 测试数据上次到 HDFS
在 HDFS shell 中,使用 ls 命令查看 HDFS 文件系统目录,具体操作如下所示:
[root@hadoop1 hadoop]# ./bin/hdfs dfs -put words.log /test
4.5 运行 WordCount 案例
使用 yarn 脚本将 Hadoop 自带的 WordCount 程序提交到 YARN 集群运行,具体操作如下所示:
[root@hadoop1 hadoop]# ./bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.2.jar wordcount /test/words.log /test/out
执行完,查看 YARN 资源管理系统
查看作业运行结果
使用 cat 命令查看 WordCount 作业输出结果,具体操作如下所示。
[root@hadoop1 hadoop]# ./bin/hdfs dfs -cat /test/out/*
如果 WordCount 运行结果符合预期值,说明 Hadoop 伪分布式集群已经搭建成功
相关文章:

部署伪分布式 Hadoop集群
部署伪分布式 Hadoop集群 一、JDK安装配置1.1 下载JDK1.2 上传解压1.3 java环境配置 二、伪分布式 Hadoop 安装配置2.1 Hadoop 下载2.2 上传解压2.3 Hadoop 文件目录介绍2.4 Hadoop 配置2.4.1 修改 core-site.xml 配置文件2.4.2 修改 hdfs-site.xml 配置文件2.4.3 修改 hadoop-…...

十九、虚拟机VMware Workstation(CentOSDebian)的安装
目录 🌻🌻 一、安装 VMware Workstation1.1 安装 VMware Workstation1.2 虚拟机上安装 CentOS1.3 虚拟机安装 Debian 二、配置Debian方便第三方工具远程连接2.1 配置debian2.2 安装远程SSH工具并连接 一、安装 VMware Workstation 官网下载 本地资源库…...

理解Android framework之AOSP:从内核到应用层
一、AOSP Android framework确保设备的各个部件和程序顺利协同工作。对于想要全面了解 Android 设备内部工作原理、开发高质量应用、优化设备性能以及充分利用 Android 生态系统潜力的人来说,了解 Android 框架也是必不可少的。它是连接用户、开发者和 Android 平台…...

杂谈c语言——3.内存对齐
先看两个例子: typedef struct S {int a;double b;char c; }S;typedef struct B {int a;char b;double c; }B;int main() {printf("S : %d\n", sizeof(S));printf("B : %d\n", sizeof(B));return 0; } 结果为: S:24; B:16ÿ…...

瑞芯微Android设备指定应用开启性能模式
本文档主要针对特定应用(如 安兔兔)如何进行加速及性能的提升做相关说明。 快速开启方法 开启与关闭 在 device/rockchip/rk3xxx/下配置文件:package_performance.xml,在其中的节点中加入需要使用性能模式的包名:(…...

ASP.NET Core基础 - 简介
目录 一. 简介 A、跨平台性 B、高性能 C、开源性 D、模块化与可扩展性 E、集成现代前端技术 二. ASP.NET 4.x 和 ASP.NET Core 比较 A、架构与平台支持 B、性能 C、开发体验 D、社区支持与生态系统 三. NET 与 .NET Framework 比较 A、概念范围 B、跨平台能力 C…...

Flask+LayUI开发手记(一):LayUI表格的前端数据分页展现
用数据表格table展示系统数据,是LayUI的基本功能,编码十分简单,就是通过table.render()渲染,把属性配置好就OK了,十分方便,功能也十分强大。 不过,在实现时,把table的有个功能却理解…...

Vulnhub靶场DC-9练习
目录 0x00 准备0x01 主机信息收集0x02 站点信息收集0x03 漏洞查找与利用1. 发现SQL注入点2. Sqlmap跑数据3. 文件包含4. SSH爆破端口敲门服务5. 提权(写入/etc/passwd) 0x04 总结 0x00 准备 下载链接:https://download.vulnhub.com/dc/DC-9.z…...

Java对象内存布局和对象头
文章目录 面试题Object object new Object() 谈谈你对这句话的理解? 对象在堆内存中存储布局权威定义(周志明老师JVM第三版)对象在堆内存中的存储布局详解对象头的MarkWord源码对象标记源码 对象内存布局(使用JOL证明)…...

python:基于YOLO框架和遥感图像的目标检测
作者:CSDN _养乐多_ 本文将介绍如何通过YOLO框架和遥感图像进行目标检测的代码。 文章目录 一、数据集下载与格式转换1.1 NWPU VHR-10(73.1 MB)1.2 DIOR(7.06 GB)1.3 配置data.yaml 二、训练三、训练结果 一、数据集…...

DAMA学习笔记(十一)-元数据管理
1.引言 元数据最常见的定义是“关于数据的数据”。它描述了数据本身(如数据库、数据元素、数据模型),数据表示的概念(如业务流程、应用系统、软件代码、技术基础设施),数据与概念之间的联系(关系…...
密码学基本理论
密码学是研究信息安全保护的科学,实现信息的保密性、完整性、可用性以及抗抵赖性 根据密码分析者在破译时已经具备的前提条件,密码分析攻击类型分类: 唯密文攻击:已知密文;未知明文+秘钥已知明文攻击:已知部分明文和密文对;未知秘钥+算法选择明文攻击:已知明文+算法--…...
【深度学习】【语音TTS】vits 论文,Variational Inference Text-to-Speech(1)
代码:https://github.com/jaywalnut310/vits 论文:https://arxiv.org/abs/2106.06103 文章目录 摘要1. 引言2. 方法2.1. 变分推理2.1.1. 概述2.1.2. 重构损失2.1.3. KL散度2.2. 对齐估计2.2.1. 单调对齐搜索2.2.2. 从文本预测时长2.3. 对抗训练2.4. 最终损失2.5. 模型架构2.5…...
javascript中 window 相关知识点以及代码演示
一.了解window 在JavaScript中,window对象是浏览器的全局对象,它不仅代表了浏览器窗口,同时也充当了ECMAScript中的Global对象的角色。因此,深入了解和掌握window对象的属性和方法对于JavaScript开发者来说至关重要。 以下内容将…...

企业社会责任(CSR)国际标准有哪些?
以下是一些常见的企业社会责任(CSR)国际标准和相关体系等: 原则性、指南性标准 ISO 26000《社会责任指南》 :将社会责任归纳为7个核心方面,即公司治理、人权、劳工、环境、公平运营实践、消费者问题以及对社会发展作贡…...
The C programming language (second edition,KR) exercise(CHAPTER 7)
E x c e r c i s e 7 − 1 Excercise\quad 7-1 Excercise7−1: #include <stdio.h> #include <string.h> #include <ctype.h>enum type {LOWER, UPPER };int main(int argc, char *argv[]) {int c, mode = -1;if (stricmp(*argv, "lower.exe") =…...

面向服务架构(SOA)介绍
在汽车电子电气架构还处于分布式时代时,汽车软件的开发方式主要是采用嵌入式软件进行开发,而随着汽车智能化程度的加深,更加复杂且多样的功能需求让汽车软件在复杂度上再上一层。在整车的自动驾驶方面,由于未来高阶自动驾驶能力的…...
关于使用Next遇到的一些新特性
用next之后发现,这是作为全栈比较好用的框架 API 1、app Router 这是目前next官方以及未来推荐的新技术方向 若使用api路由用来管理后端api接口 (1)此时在app文件夹下创建 api名称目录(如 getApiKey) (…...

Python 爬虫入门(七):requests 库的使用「详细介绍」
Python 爬虫入门(七):requests 库的使用「详细介绍」 前言1. 初识 requests1.1 安装 requests 库1.2 发送 GET 请求1.3 发送 POST 请求 2. HTTP 请求详解2.1 请求方法2.2 请求头2.3 请求参数 3. 处理响应3.1 响应内容3.2 响应状态码3.3 响应头…...
两端约束的最优控制问题及其数值解法
问题的基本形式 设 n n n维系统状态房产 x ˙ ( t ) f [ x ( t ) , u ( t ) , t ] \dot{x}(t)f[x(t),u(t),t] x˙(t)f[x(t),u(t),t],控制向量 u ( t ) ∈ Ω u(t)\in\Omega u(t)∈Ω是分段连续函数, Ω ∈ R m \Omega\in R^m Ω∈Rm是有界闭集…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...

招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...