大数据Hadoop入门之集群的搭建
hadoop的三种运行模式
- 本地模式:测试本地的hadoop是否能够运行,用来运行官方的代码。
- 伪分布模式:原先有人拿来测试,目前测试都不用这个模式了。
- 完全分布模式:多台服务器组成分布式环境,生产环境使用
分布式主机文件同步命令
scp -r 需要分发的本机文件路径 外部主机的路径xsync -av 需要分发的本机文件路径 外部主机的路径
编写集群分发脚本
编写一个脚本,实现调用xsync 文件名,可以快速将本地文件同步给所有外部主机,并且可以在所有主机的任意路径使用。
- $PATH,查看里面的环境变量
/home/atguigu/bin - 这个路径天然在环境变量中,可以在该路径中编写自己的脚本代码
- 脚本名称为xsync, 文件名参数可以有多个
#!/bin/bash#1. 判断参数个数
if [ $# -lt 1 ]
thenecho Not Enough Arguement!exit;
fi#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
doecho ==================== $host ====================#3. 遍历所有目录,挨个发送for file in $@do#4. 判断文件是否存在if [ -e $file ]then#5. 获取父目录pdir=$(cd -P $(dirname $file); pwd)#6. 获取当前文件的名称fname=$(basename $file)ssh $host "mkdir -p $pdir"rsync -av $pdir/$fname $host:$pdirelseecho $file does not exists!fidone
done
免密登录

- 每个用户的家目录下都有一个.ssh文件,用来保存公钥私钥
- 公钥私钥生成命令 ssh-keygen -t rsa, 三次回车即可
- 将公钥发送给其他主机
- 其他主机会将其他主机发送过来的公钥保存到authorized_keys文件中
- 其他主机登录时,查验该主机是否在目前的公钥文件中,是的话即可免密登录。
集群规划
原则:老大尽可能分开,小弟尽可能多
hdfs: 老大nn,老大2nn, 小弟dn
yarn: 老大rm , 小弟nm

每台主机最多一个datanode节点和nodemanager节点,namenode、resourcemanager、secondnamenode这三个节点为了负载均衡,分别分布在不同主机。
五个重要文件
在/etc路径下,在jar包中有与之对应的默认配置文件default.xml
- core-default.xml ->core-site.xml
- hdfs-default.xml -> hdfs-site.xml
- yarn-default.xml -> yarn-site.xml
- mapred-default.xml -> mapred-site.xml
- workers:配置datanode节点的主机
- core-site文件
- fs.defaultFs:文件系统参数
- 协议更改为hdfs
- NameNode节点的位置hadoop102
- 端口号为8020
- hadoop.tem.dir:指定数据的存储目录
- hadoop.http.staticuser.user: 配置网页登录使用的静态用户
- fs.defaultFs:文件系统参数
- hdfs-site文件
- dfs.namenode.http-address:nn web端访问地址
- dfs.namenode.secondary.http-address: 2nn web端访问地址
- yarn-site文件
- yarn.nodemanager.aux-service: 指定MR走shuffle
- yarn.resourcemanager.hostname: 指定RM节点的位置
- MapReduce-site文件
- mapreduce.framework.name:指定MapReduce跑在yarn上
- workers DataNode节点配置:配置数据库节点在哪些主机。
启动集群
- 格式化
- start-dfs.sh: 启动hdfs
- 单点启动 hdfs --daemon start datanode
- hadoop103:8088/cluster:查看hadoop集群任务运行情况
- 配置历史服务器在102上,内部端口号为10020,外部端口号为19888
- 访问历史服务器方式hadoop102:19888/jobhistory
- 开启日志聚集功能,方便查看日志
集群的启动方式
- 群启:按模块启动
- start/stop-dfs.sh 102
- start/stop-yarn.sh 103
- 单启:按组件启动
- hdfs --daemon start/stop namenode/datanode/secondarynamenode
- yarn --daemon start/stop resourcemanager/ nodemanager
- mapred --daemon start/stop
- 编写脚本实现一次性启动/关闭
#!/bin/bashif [ $# -lt 1 ]
thenecho "No Args Input..."exit ;
ficase $1 in
"start")echo " ============= 启动 hadoop集群 ================"echo " --------------- 启动 hdfs ---------------"ssh hadoop102 "/opt/module/hadoop-3.3.4/sbin/start-dfs.sh"echo " --------------- 启动 yarn ---------------"ssh hadoop103 "/opt/module/hadoop-3.3.4/sbin/start-yarn.sh"echo " --------------- 启动 historyserver ---------------"ssh hadoop102 "/opt/module/hadoop-3.3.4/bin/mapred --daemon start historyserver"
;;
"stop")echo " ============== 关闭 hadoop集群 ================"echo " --------------- 关闭 historyserver ---------------"ssh hadoop102 "/opt/module/hadoop-3.3.4/bin/mapred --daemon stop historyserver"echo " --------------- 关闭 yarn ---------------"ssh hadoop103 "/opt/module/hadoop-3.3.4/sbin/stop-yarn.sh"echo " --------------- 关闭 hdfs ---------------"ssh hadoop102 "/opt/module/hadoop-3.3.4/sbin/stop-dfs.sh"
;;
*)echo "Input Args Error..."
;;
esac
相关文章:
大数据Hadoop入门之集群的搭建
hadoop的三种运行模式 本地模式:测试本地的hadoop是否能够运行,用来运行官方的代码。伪分布模式:原先有人拿来测试,目前测试都不用这个模式了。完全分布模式:多台服务器组成分布式环境,生产环境使用 分布式主机文件同步命令 sc…...
华为云云耀云服务器L实例评测|基于云服务器的minio部署手册
华为云云耀云服务器L实例评测|基于云服务器的minio部署手册 【软件安装版本】【集群安装(是)(否)】 版本 创建人 修改人 创建时间 备注 1.0 jz jz 2023.9.2 minio华为云耀服务器 一. 部署规划与架…...
龙智携手Atlassian和JFrog举办线下研讨会,探讨如何提升企业级开发效率与质量
2023年9月8日,龙智将携手Atlassian和JFrog于上海举办线下研讨会,以“大规模开发创新:如何提升企业级开发效率与质量”为主题,邀请龙智高级咨询顾问、Atlassian认证专家叶燕秀,紫龙游戏上海研发中心高级项目管理主管叶凯…...
2023数学建模国赛A题定日镜场的优化设计- 全新思路及代码
背景资料关键信息和要点如下: 定日镜:塔式太阳能光热发电站的基本组件,由纵向转轴和水平转轴组成,用于反射太阳光。 定日镜场:由大量的定日镜组成的阵列。 集热器:位于吸收塔顶端,用于收集太…...
CSS笔记(黑马程序员pink老师前端)圆角边框
圆角边框 border-radius:length; 效果显示 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Documen…...
水表电表集中远程抄表系统分析
电表水表远程抄表系统石家庄光大远通电气有限公司主要经营自动抄表,远程抄表,集中抄表,新供应信息,是石家庄光大远通电气有限公司自动远程抄表系统集信号采集、网络通信于一体的高性能抄表装置,该系统以485通讯方式读取水表电表的数据,以MBUS通讯方式读取…...
Android 通知
1. 原生Android通知的几种显示方式: 状态栏的图标:发出通知后,通知会先以图标的形式显示在状态栏中。 抽屉式通知栏:用户可以在状态栏向下滑动以打开抽屉式通知栏,并在其中查看更多详情及对通知执行操作。在应用或用户…...
【Unittest】Requests实现小程序项目接口测试
文章目录 一、搭建接口测试框架二、初始化日志三、定义全局变量四、封装接口五、编写测试用例六、生成测试报告 一、搭建接口测试框架 目录结构如下。 二、初始化日志 在utils.py文件中编写如下如下代码,初始化日志。 # 导入app.py全局变量文件 import app import l…...
Mac 搭建本地服务器
文章目录 一、启动服务器二、添加文件到本地服务三、手机/其他电脑 访问本机服务器 MacOS 自带Apatch 服务器。所以我这里选择Apatch服务器搭建 一、启动服务器 在safari中输入 http://127.0.0.1/ ,如果页面出现 it works,则代表访问成功。启动服务器 …...
区块链基础之编写合约二
一、了解solidity中的关键字。 二、了解solidity中的类型。 三、编写合约 1.这里列出一些solidity中的关键字,有哪些。 pragma 作用:是告知编译器如何处理源代码的通用指令(例如, pragma once )。public 作用&#…...
【前端基础】js 如何判断一个值是数组
在JavaScript中,可使用不同的方法来判断一个值是否是一个数组。以下是一些常用的方法: 使用 Array.isArray() 方法: if (Array.isArray(value)) {// 值是一个数组 } else {// 值不是一个数组 }Array.isArray() 方法是最简单和推荐的方法&…...
Linux之NFS服务器
目录 Linux之NFS服务器 简介 NFS背景介绍 生产应用场景 NFS工作原理 NFS工作流程图 流程 NFS的安装 安装nfs服务 安装rpc服务 启动rpcbind服务同时设置开机自启动 启动nfs服务同时设置开机自启动 NFS的配置文件 主配置文件分析 示例 案例 --- 建立NFS服务器&#…...
ES delete_by_query条件删除的几种方式
es 查询删除的几种方式 1.根据id删除 #根据id删除 POST /indexname/_delete_by_query {"query": { "match": {"id": "100000"}} } 2.根据多个id删除 #根据多个id删除 POST /indexname/_delete_by_query {"query": {"…...
1.springboot 集成elasticsearch组件
1.前置条件已经安装和搭建好了elasticsearch中间件 一:项目中引入elasticsearch相关依赖 我安装的elasticsearch版本是7.10.2 对应依赖的版本保持一致 此处省略springboot 搭建及必要的依赖项 <dependency><groupId>org.elasticsearch.client</group…...
【学习笔记】元学习如何解决计算机视觉少样本学习的问题?
目录 1 计算机视觉少样本学习 2 元学习 3 寻找最优初始参数值方法:MAML 3.1 算法步骤 3.2 代码:使用MAML 和 FO-MAML、任务增强完成Few-shot Classification 4 距离度量方法:Siamese Network,ProtoNet,RN 4.1 孪生网络(Sia…...
【C语言】17-函数-3
1. 链接属性 当组成一个程序的各个源文件分别被编译之后,所有的目标文件以及那些从一个或多个函数库中引用的函数将链接在一起,形成可执行程序。然而,如果相同的标识符出现在几个不同的源文件中时,它们是表示同一个实体,还是表示不同的实体?标识符的链接属性决定如何处理…...
人工智能:为你提供的未来工作岗位
随着科技的快速发展,人工智能(Artificial Intelligence,AI)正逐渐渗透到各个领域。本文探讨一下人工智能可以提供的工作岗位,以期帮助大家更好地了解这个新兴行业的就业前景。 文章目录 1 机器学习工程师2 数据科学家3 自然语言处理工程师4 机器视觉工程…...
HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底层实现。
HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底层实现。 HashMap相关问题 1、你用过HashMap吗?什么是HashMap?你为什么用到它?用过,HashMap是基于哈希表的Map接口的非同步实现, 它允许null键…...
flink学习之广播流与合流操作demo
广播流是什么? 将一条数据广播到所有的节点。使用 dataStream.broadCast() 广播流使用场景? 一般用于动态加载配置项。比如lol,每天不断有人再投诉举报,客服根本忙不过来,腾讯内部做了一个判断,只有vip3…...
PPT架构师架构技能图
PPT架构师架构技能图 目录概述需求: 设计思路实现思路分析1.软素质2.核心输出(office输出) 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,ma…...
避免踩坑:Unity中Resources.LoadAll的正确使用姿势(含multiple模式Sprite处理)
Unity资源加载进阶:Resources.LoadAll与Sprite图集高效处理指南 在Unity开发中,资源加载是每个项目都无法绕开的核心环节。特别是当处理包含多张小图的Sprite图集时,很多开发者会陷入性能陷阱和功能误区。本文将深入剖析Resources.LoadAll的正…...
零基础学编程:借助快马与claude code生成交互式代码示例入门javascript
最近刚开始学习JavaScript,发现数组操作是编程中最基础也最常用的部分。作为一个完全零基础的小白,我尝试用InsCode(快马)平台结合Claude Code来学习这个知识点,整个过程比想象中顺利很多。这里记录下我的学习过程,希望能帮到同样…...
【RISC-V 指令集】RISC-V 向量V扩展指令集介绍(五)- 动态配置与性能优化实战(vsetvli/vsetivli/vsetvl)
1. 动态向量配置指令的核心作用 RISC-V向量扩展指令集中最精妙的设计之一,就是允许程序运行时动态调整向量处理参数的机制。想象你正在用不同尺寸的螺丝刀组装家具——当遇到大螺丝就换大号刀头,碰到小螺丝立即切换精密刀头,这就是vsetvli/vs…...
Phi-4-Reasoning-Vision行业落地:教育领域图像题解与隐藏线索识别案例
Phi-4-Reasoning-Vision行业落地:教育领域图像题解与隐藏线索识别案例 1. 项目背景与价值 在教育领域,图像题解和隐藏线索识别一直是教学和考试中的难点。传统方法依赖人工标注和分析,效率低下且容易遗漏关键信息。Phi-4-Reasoning-Vision多…...
用Python+Control库实现倒立摆LQR控制:从建模到仿真全流程
用PythonControl库实现倒立摆LQR控制:从建模到仿真全流程 倒立摆问题一直是控制理论中的经典案例,它不仅能帮助我们理解线性二次调节器(LQR)的核心思想,还能锻炼我们解决实际工程问题的能力。本文将带你从零开始&#…...
5步告别Windows卡顿:Win11Debloat系统优化工具让电脑性能提升51%的实战指南
5步告别Windows卡顿:Win11Debloat系统优化工具让电脑性能提升51%的实战指南 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各…...
离网逆变器下垂控制实战:从公式推导到MATLAB仿真(附资源下载)
离网逆变器下垂控制实战:从公式推导到MATLAB仿真 在新能源发电系统中,离网逆变器的稳定运行至关重要。传统电压电流双闭环控制虽然简单直接,但在面对复杂负载变化时,往往会出现电压跌落、频率失稳等问题。下垂控制技术通过模拟同…...
从零配置YOLOv5与RealSense D405:深度测距与目标检测的完整流程指南
从零构建YOLOv5与RealSense D405的智能视觉系统:深度感知与目标检测实战手册 当计算机视觉遇上深度感知,会碰撞出怎样的火花?YOLOv5作为当前最流行的实时目标检测框架,与Intel RealSense D405深度相机结合,能够为机器…...
Mac 版 SSH 登录脚本
Mac 版 SSH 登录脚本 整合原有编码机器人 + 新增飞书运营机器人,分区域展示、带完整名称/备注/专线IP,一键登录,Mac 专属、直接可用! 前置准备(仅执行1次) brew install sshpass完整脚本(复制保存为 robot_ssh.sh) #!/bin/bash # Mac 专用 - 编码机器人 + 飞书机器…...
告别手动复制!用ArcGIS字段计算器(VB/Python)批量提取字段值的保姆级教程
ArcGIS字段计算器实战指南:VB与Python高效提取字段值的深度对比 在GIS数据处理工作中,属性表字段值的部分提取是最常见却又最耗时的操作之一。想象一下,当你面对一个包含上万条记录的"BSM"字段,需要提取前6位作为行政区…...
