大数据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…...

利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...

LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...

汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...
数据库正常,但后端收不到数据原因及解决
从代码和日志来看,后端SQL查询确实返回了数据,但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离,并且ai辅助开发的时候,很容易出现前后端变量名不一致情况,还不报错,只是单…...