Linux CentOS 9搭建Hadoop3集群
1. 引言
本教程旨在介绍在Linux上安装Hadoop
2. 前提条件
2.1 安装JDK
安装Hadoop,必须首先安装JDK,并配置环境变量(此处不做详细描述)
Jdk官网(https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html)
2.2 修改主机名称
三台服务器分别对应master、slave1、slave2
# 三台服务器分别执行对应的命令修改主机名
hostnamectl set-hostname master
hostnamectl set-hostname slave1
hostnamectl set-hostname slave2
2.3 配置主机名映射
分别修改3台节点的/etc/hosts文件
vi /etc/hosts
# 在文件末端添加以下内容
10.211.55.11 master
10.211.55.12 slave1
10.211.55.13 slave2
2.4 配置ssh环境
注意:开发环境建议关闭防火墙
# 关闭防火墙
systemctl stop firewalld
# 永久关闭
systemctl disable firewalld
# 查看状态
systemctl status firewalld
注意:生产环境端口配置
在 Hadoop 3.x 中,各个服务的默认端口如下:
HDFS(Hadoop Distributed File System)端口
服务名称 | 默认端口 | 描述 |
---|---|---|
NameNode Web UI | 9870 | NameNode 的 Web 界面(监控 HDFS 状态) |
NameNode RPC 服务 | 8020 | NameNode 的 RPC 通信端口,用于客户端通信 |
SecondaryNameNode Web UI | 9868 | SecondaryNameNode 的 Web 界面 |
DataNode Web UI | 9864 | DataNode 的 Web 界面(监控数据节点) |
DataNode 数据传输端口 | 9866 | DataNode 数据块传输端口 |
DataNode IPC 通信端口 | 9867 | DataNode 的内部通信端口 |
YARN(Yet Another Resource Negotiator)端口
服务名称 | 默认端口 | 描述 |
---|---|---|
ResourceManager Web UI | 8088 | ResourceManager 的 Web 界面(监控资源) |
ResourceManager RPC 服务 | 8032 | ResourceManager 的 RPC 通信端口 |
NodeManager Web UI | 8042 | NodeManager 的 Web 界面 |
JobHistory Server Web UI | 19888 | 用于查看 MapReduce 作业历史的 Web 界面 |
NodeManager 通信端口 | 45454 | NodeManager 内部通信端口 |
MapReduce 端口
服务名称 | 默认端口 | 描述 |
---|---|---|
JobHistory Server Web UI | 19888 | MapReduce JobHistory 服务 Web 界面 |
MapReduce Shuffle 服务 | 13562 | MapReduce 任务 Shuffle 数据传输端口 |
Hadoop 通用端口(其他)
服务名称 | 默认端口 | 描述 |
---|---|---|
Zookeeper 默认端口 | 2181 | 如果 Hadoop 集群使用 Zookeeper |
HTTP FS 服务端口 | 14000 | HDFS HTTP 接口服务 |
常见服务总结
1. HDFS 端口:
• NameNode Web UI: 9870
• DataNode Web UI: 9864
2. YARN 端口:
• ResourceManager Web UI: 8088
• NodeManager Web UI: 8042
3. MapReduce 端口:
• JobHistory Server: 19888
4. 其他:
• Zookeeper 默认端口: 2181
说明
• 在生产环境中,这些端口可以根据需要进行修改,但修改后需要在配置文件中更新。
• 端口是否正常通信可以通过防火墙设置或者网络工具(如 telnet 和 nc)测试。
这样总结起来,Hadoop 3.x 的核心服务端口大致分为 HDFS、YARN 和 MapReduce 三部分,方便你进行配置和网络调试。
防火墙相关命令:
# 开放端口示例:
firewall-cmd --zone=public --add-port=9870/tcp --permanent# 重新加载防火墙配置
firewall-cmd --reload# 查看已经开放的端口
firewall-cmd --list-ports
2.5 配置ssh免密登录
后续安装的集群,都需要远程登录以及远程执行命令,我们可以简单起见,配置三台Linux服务器之间的免密码互相SSH登陆。
# 1、在每一台机器执行,一直回车确认即可
ssh-keygen -t rsa
# 2、在每一台机器节点执行一下指令(包括自己)
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
#进行免密操作时会询问是否继续连接,输入“yes”后,再输入登录密码完成操作。# 3、执行完毕后,使用SSH测试远程登录,如果三台机器能相互登录,且无须输入密码,即代表免密配置成功。
ssh master #远程登录master节点
exit #退出登录
ssh slaves1 #远程登录slaves1节点
exit #退出登录
ssh slaves2 #远程登录slaves2节点
exit #退出登录
2.6 配置时间同步
注意说明:Centos9时间同步要使用chrony命令,ntpd命令不能使用
-
安装chrony命令
# Centos9里是预安装的,没有安装的话执行以下命令: yum install -y chrony
-
查看chrony状态
#启用chronyd服务 systemctl enable chronyd #重启chronyd服务 systemctl restart chronyd #查看chronyd服务状态 systemctl status chronyd
-
修改master节点配置文件
vi /etc/chrony.conf
# 修改3个地方# master IP pool 10.211.55.11 iburst # 允许内网访问(修改为自己的网段) allow 10.211.55.0/24 # 上游时间服务器有10个 local stratum 10
-
保存之后重启
systemctl restart chronyd
-
修改所有slave节点配置文件
vi /etc/chrony.conf # 修改时间源为主节点ip pool 10.211.55.11 iburst
-
保存之后重启所有从slave节点
systemctl restart chronyd
3.安装与配置Hadoop
3.1 Hadoop下载与安装
-
下载Hadoop安装包。打开浏览器,在浏览器地址栏中输入以下地址:https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/
-
使用第三方工具别分上传压缩包到三台服务器,并进行解压
#解压Hadoop压缩包 tar -zxvf hadoop-3.1.3.tar.gz -C /usr/local/#更改hadoop目录名称 mv /usr/local/hadoop-3.1.3 /usr/local/hadoop
-
配置Hadoop环境变量
vi /etc/profile # 文件末尾追加 export HADOOP_HOME=/usr/local/hadoop export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH# 保存退出刷新环境变量 source /etc/profile
3.2 修改Hadoop配置文件
Hadoop的配置文件要修改的地方很多,请细心!!!!进入到/usr/local/hadoop/etc/hadoop文件夹中,配置文件都在这里
cd /usr/local/hadoop/etc/hadoop
-
修改hadoop-env.sh
vi hadoop-env.sh # 在文件开头添加以下内容 export JAVA_HOME=/usr/local/jdk/jdk1.8.0_421export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export HDFS_SECONDARYNAMENODE_USER=root export YARN_RESOURCEMANAGER_USER=root export YARN_NODEMANAGER_USER=root export YARN_PROXYSERVER_USER=root
-
修改core-site.xml文件
vi core-site.xml # 在<configuration>标签之间添加fs.defaultFS属性,具体配置如下:
<configuration><!--指定文件系统的名称--><property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property><!--配置Hadoop运行产生的临时数据存储目录--><property><name>hadoop.tmp.dir</name><value>/usr/local/hadoop/tmp</value> <description>Abase for other temporary directories.</description></property> </configuration>
-
修改hdfs-site.xml文件
vi hdfs-site.xml # 具体配置内容如下所示:
<configuration><!-- 2nn web端访问地址--><property><name>dfs.namenode.secondary.http-address</name><value>slave1:9890</value></property><!-- namenode 数据存放地址--><property><name>dfs.namenode.name.dir</name><value>file:///usr/local/hadoop/tmp/hdfs/name</value></property><!-- datanode 数据存放地址--><property><name>dfs.datanode.data.dir</name><value>file:///usr/local/hadoop/tmp/hdfs/data</value></property><!-- 设置副本数量 --><property><name>dfs.replication</name><value>3</value></property> </configuration>
-
修改mapred-site.xml文件
vi mapred-site.xml # 具体配置内容如下所示:
<configuration><!-- 指定MapReduce程序运行在Yarn上 --><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>master:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>master:19888</value></property><property><name>yarn.app.mapreduce.am.env</name><value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property><property><name>mapreduce.map.env</name><value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value></property><property><name>mapreduce.reduce.env</name><value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value></property> </configuration>
-
修改yarn-site.xml文件
vi yarn-site.xml # 具体配置内容如下所示:
<configuration><!-- 指定MR走shuffle --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定ResourceManager的地址--><property><name>yarn.resourcemanager.hostname</name><value>master</value></property><!--指定Yarn调度器--><property><name>yarn.resourcemanager.scheduler.class</name><value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value></property> </configuration>
-
修改workers文件
vi workers # 具体配置内容如下所示: # 在workers文件添加以下内容 master slave1 slave2
3.3 分发hadoop文件夹到slaves1与slaves2节点
#在master节点执行
cd /usr/local
#复制hadoop到slave1与slave2(需要输入slave1、slave2的主机密码)
scp -r hadoop slave1:/usr/local/
scp -r hadoop slave2:/usr/local/
#复制/etc/profile文件到slave1与slave2
scp /etc/profile slave1:/etc/profile
scp /etc/profile slave2:/etc/profile
3.4 格式化NameNode
# 在master节点上运行以下命令,完成格式化
hdfs namenode -format
当出现【succesfully formatted】的时候,代表格式化成功。
4.启动Hadoop集群
# 在master节点执行即可
start-all.sh
5.使用jps指令查看进程
-
master:在master节点运行着 NameNode、DataNode、NodeManager、ResouceManager 4个进程。
-
slave1:在slave1节点运行着 SecondaryNameNode、DataNode、NodeManager3个进程。
-
slave2:在slave2节点运行着 NodeManger、DataNode2个进程。
6.访问集群UI页面
6.1 NameNode集群页面
# NameNode 的 Web 界面(监控 HDFS 状态)
http://10.211.55.11:9870
6.2 Yarn集群页面
# NameNode 的 Web 界面(监控 HDFS 状态)
http://10.211.55.11:8088
6.3 MapReduce历史任务页面
如过访问不到,手动启动JobHistoryServer
# 启动命令
mapred --daemon start historyserver
# NameNode 的 Web 界面(监控 HDFS 状态)
http://10.211.55.11:8088
6.4 确认 MapReduce 作业能否正常运行
示例:运行一个简单的 MapReduce 作业
hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar pi 10 100
• 作用:该命令会运行一个 π 计算 示例程序,检查 MapReduce 是否能正常提交任务。
• 输出:如果任务正常完成,会输出类似如下的结果:
Estimated value of Pi is 3.14800000000000000000
相关文章:
Linux CentOS 9搭建Hadoop3集群
1. 引言 本教程旨在介绍在Linux上安装Hadoop 2. 前提条件 2.1 安装JDK 安装Hadoop,必须首先安装JDK,并配置环境变量(此处不做详细描述) Jdk官网(https://www.oracle.com/java/technologies/javase/javase8u211-later-archive…...
加速科技精彩亮相ICCAD 2024
12月11日—12日 ,中国集成电路设计业的年度盛会——ICCAD 2024在上海世博馆隆重举行。本次活动以“智慧上海,芯动世界”为主旨,汇聚了众多业界精英,共同探讨集成电路产业的未来。作为半导体测试行业领军企业,加速科技携…...
canvas(填充描边,绘制矩形、路径、文本、图像,变换,阴影,渐变等)
一、 基本的画布功能 创建 <canvas> 元素时至少要设置其 width 和 height 属性,这样才能告诉浏览器在多大面积上绘 图。出现在开始和结束标签之间的内容是后备数据,会在浏览器不支持 <canvas> 元素时显示。比如: <canv…...
STM8单片机学习笔记·GPIO的片上外设寄存器
目录 前言 IC基本定义 三极管基础知识 单片机引脚电路作用 STM8GPIO工作模式 GPIO外设寄存器 寄存器含义用法 CR1:Control Register 1 CR2:Control Register 2 ODR:Output Data Register IDR:Input Data Register 赋值…...
2-2-18-16 QNX系统架构之自适应分区
阅读前言 本文以QNX系统官方的文档英文原版资料为参考,翻译和逐句校对后,对QNX操作系统的相关概念进行了深度整理,旨在帮助想要了解QNX的读者及开发者可以快速阅读,而不必查看晦涩难懂的英文原文,这些文章将会作为一个…...
【Python网络爬虫笔记】11- Xpath精准定位元素
目录 一、Xpath 在 Python 网络爬虫中的作用(一)精准定位元素(二)应对动态网页(三)数据结构化提取 二、Xpath 的常用方法(一)节点选取(二)谓词筛选࿰…...
Rustdesk 安装客户端以及自己搭建服务器跑通参考资料
Rustdesk 安装客户端以及自己搭建服务器跑通参考资料 下载客户端: rustdesk客户端-github下载地址 windows正常安装就行了,ubuntu安装参考下面: ubuntu安装rustdesk客户端 在centos中利用docker安装rustdesk-server,先进行cento…...
源码编译jdk7 超详细教程 openjdk7
关于源代码 当前的openJDK的源代码已经被发布到了github上了,所以我们可以直接从github上下载到。 OpenJDK7u源码托管地址:https://github.com/openjdk/jdk7u 带后缀U的地址,或者发行的jdk包,表示当前版本下的持续跟新版。而他…...
如何实现日期选择窗口
文章目录 1 概念介绍2 使用方法3 示例代码我们在上一章回中介绍了TimePicker Widget相关的内容,本章回中将介绍DatePickerDialog Widget.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在这里说的DatePickerDialog是一种弹出窗口,只不过窗口的内容固定显示为日期,它…...
Spring Security 6 系列之一 - 开篇入门
之所以想写这一系列,是因为之前工作过程中使用Spring Security,但当时基于spring-boot 2.3.x,其默认的Spring Security是5.3.x。之后新项目升级到了spring-boot 3.3.0,结果一看Spring Security也升级为6.3.0,关键是其风…...
Spring Cloud概述
1. 认识微服务 1.1 单体架构 很多创业公司早期或者传统企业会把业务的所有功能实现都打包在⼀个项⽬, 这就是单体架构. 业务的所有功能实现都打包在⼀个war包或者Jar包中, 这种⽅式就称为单体架构. 举个例子: 电商系统包括: ⽤⼾管理, 商品管理, 订单管理, ⽀付管理, 库存…...
mvc如何给action传递参数
步骤(常规方法) 新建一个控制器--LarsController.cs using Microsoft.AspNetCore.Mvc; namespace Blog.Controller; public class LarsController:Controller -----继承 {public IActionResult Index(){return View();} }获取id // program.cs中默认值是idpublic IAction…...
【银河麒麟高级服务器操作系统】有关dd及cp测试差异的现象分析详解
了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn dd现象 使用银河麒麟高级服务器操作系统执行两次…...
视频智能分析平台LiteAIServer未戴安全帽检测算法助力矿山安全:精准监督矿工佩戴安全帽情况
矿山作业环境复杂多变,安全隐患层出不穷。其中,矿工未佩戴安全帽这一行为,看似微不足道,实则潜藏着巨大的安全风险。一旦发生事故,未佩戴安全帽的矿工将极易受到重创,甚至危及生命。因此,确保每…...
整数的四舍五入----->记录每一点进步
我们知道整数类型的变量对小数部分都不感冒,只要是小数都会舍去,都让他舍去了我们还讲个P,所以接下来就是告诉你怎么不让他全都舍去。 先来试想一下如果这个数字是3.4,存到整数型变量里面是不是直接变成了3,那么我要是…...
Linux栈帧
相关寄存器&指令 寄存器 rax(accumulator):return value rbx(base) rcx(count):4st argument rdx(data):3st argument rsi(sour…...
【代码随想录day59】【C++复健】 47. 参加科学大会(dijkstra(堆优化版)精讲 );94. 城市间货物运输 I
前几天有些事情耽搁了,不过好在图论我完全不会,所以偷看代码思路也没有任何的心理负担,做起来反而相对独立思考更快一点点。 47. 参加科学大会(dijkstra(堆优化版)精讲 ) 本来一开始以为这个堆…...
【网络安全】WIFI WPA/WPA2协议:深入解析与实践
WIFI WPA/WPA2协议:深入解析与实践 1. WPA/WPA2 协议 1.1 监听 Wi-Fi 流量 解析 WPA/WPA2 的第一步是监听 Wi-Fi 流量,捕获设备与接入点之间的 4 次握手数据。然而,设备通常不会频繁连接或重新连接,为了加速过程,攻…...
穷举vs暴搜vs深搜vs回溯vs剪枝专题一>子集
题目: 两个方法本质就是决策树的画法不同 方法一解析: 代码: class Solution {private List<List<Integer>> ret;//返回结果private List<Integer> path;//记录路径,注意返回现场public List<List<Int…...
试题转excel;word转excel;大风车excel
一、问题描述 一名教师朋友,偶尔会需要整理一些高质量的题目到excel中 以往都是手动复制搬运,几百道题几乎需要一个下午的时间 关键这些事,枯燥无聊费眼睛,实在是看起来就很蠢的工作 就想着做一个工具,可以自动处理…...
Unity NTPComponent应用, 实现一个无后端高效获取网络时间的组件
无后端高效获取网络时间的组件 废话不多说,直接上源码m_NowSerivceTime 一个基于你发行游戏地区的时间偏移, 比如北京时区就是 8, 巴西就是-3,美国就是-5using Newtonsoft.Json; 如果这里报错, 就说明项目没有 NewtonsoftJson插件…...
复合机器人为生产提供精准的建议和决策支持
在现代化生产的浪潮中,智能复合机器人以其卓越的性能和高度智能化特点,正成为保障生产安全与可靠性的重要力量。 智能复合机器人具备精确的感知、判断和决策能力,能够在复杂的生产环境中自主导航、精确操作,避免了人为因素可能导致…...
springboot/ssm二手儿童绘本交易系统Java代码编写web项目闲置书籍源码
springboot/ssm二手儿童绘本交易系统Java代码编写web项目闲置书籍源码 基于springboot(可改ssm)vue项目 开发语言:Java package com.controller;import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.Map;import javax.s…...
30. Three.js案例-绘制并渲染圆弧
30. Three.js案例-绘制并渲染圆弧 实现效果 知识点 WebGLRenderer WebGLRenderer 是 Three.js 中用于渲染 3D 场景的核心类。它利用 WebGL 技术在浏览器中渲染 3D 图形。 构造器 new THREE.WebGLRenderer(parameters) 参数类型描述parametersObject可选参数对象ÿ…...
类和对象(2)
大家好,今天我们继续来学习类和对象的知识,那么今天我们来看看类的概念和类的定义相关的知识,那么话不多说,我们直接开始。 2.类定义和使用 面向对象程序设计关注的是对象,而对象是现实生活中的实体,比如:洗衣机,但是…...
240004基于ssm+maven+mysql+Java的房屋租赁系统的设计与实现
基于ssmmavenmysql的房屋租赁系统的设计与实现 1.项目描述2.运行环境3.项目截图4.源码获取 1.项目描述 该项目在原有的基础上进行了优化,包括新增了注册功能,房屋模糊查询功能,管理员和用户信息管理等功能,以及对网站界面进行了优…...
HTTP、WebSocket、gRPC 或 WebRTC:各种协议的区别
在为您的应用程序选择通信协议时,有很多不同的选择。 本文将了解四种流行的解决方案:HTTP、WebSocket、gRPC 和 WebRTC。 我们将通过深入学习其背后原理、最佳用途及其优缺点来探索每个协议。 通信方式在不断改进:变得更快、更方便、更可靠&…...
FlowNex 中的两相建模基础知识
通过 FlowNex 中的两相建模解开高效流体动力学的秘密,彻底改变制造业。 挑战 两相流是指两个不同相(通常是液体和气体)同时流动,它们具有不同的特性和行为。在制造业中,了解两相流对于优化热交换器、化学反应器和流体…...
Mysql笔记
windows安装记录Windows中Mysql安装-CSDN博客 用到的库 通过网盘分享的文件:atguigudb.sql 链接: https://pan.baidu.com/s/1YfC20c2vK9odn-XRJJwUJw 提取码: utk7 --来自百度网盘超级会员v5的分享 Mysql4中表关联关系 1.1对1,比较少用,因为完全可以一张表,当有…...
docker拉取rabbitmq镜像安装延迟队列插件
我这里使用的是rabbitmq:3.12.0-management版本作为示例 1.拉取rabbitmq镜像 docker pull rabbitmq:3.12.0-management 2.启动rabbitmq docker run -d --namerabbitmq --restartalways -p 5672:5672 -p 15672:15672 rabbitmq:3.12.0-management 在咱们拉取时如果出现连接超时可…...
创建一个谷歌插件项目dome上线流程+源码
创建一个简单的 Chrome 扩展程序,其主要功能是 JSON 格式化。用户可以通过点击扩展图标打开一个弹出窗口,在弹出窗口中输入或粘贴 JSON 数据,然后点击格式化按钮来格式化 JSON 数据 谷歌插件(即 Chrome 扩展程序)主要设…...
举例说明如何在linux下检测摄像头设备具备的功能
假设摄像头设备文件为/dev/video1 ,下面是一个专门用于检测 /dev/video1 设备能力的简化程序。这个程序将打印出设备的所有能力、格式和其他相关信息,以帮助你了解设备支持的功能。 检测 /dev/video1 设备能力的程序 #include <fcntl.h> #includ…...
win10配置子系统Ubuntu子系统(无需通过Windows应用市场)实际操作记录
win10配置子系统Ubuntu子系统(无需通过Windows应用市场)实际操作记录 参考教程 : win10配置子系统Ubuntu子系统(无需通过Windows应用市场) - 一佳一 - 博客园 开启虚拟机服务的 以管理员方式运行PowerShell运行命令。 …...
东北大学《2024年839自动控制原理真题》 (完整版)
本文内容,全部选自自动化考研联盟的:《东北大学839自控考研资料》的真题篇。后续会持续更新更多学校,更多年份的真题,记得关注哦~ 目录 2024年真题 Part1:2024年完整版真题 2024年真题...
5G中的ATG Band
Air to Ground Networks for NR是R18 NR引入的。ATG很多部分和NTN类似中的内容类似。比较明显不同的是,NTN的RF内容有TS 38.101-5单独去讲,而ATG则会和地面网络共用某些band,这部分在38.101-1中有描述。 所以会存在ATG与地面网络之间的相邻信…...
nginx负载均衡配置
目录 一、简介 二、nginx下载 二、nginx配置 四、注意点 (1)/api与/api/的区别 (2)http://gatewayserver与http://gatewayserver/的区别 一、简介 Nginx(发音为 "engine-x")是一个高性能的HTTP和反向代理服务器,也是一个IMA…...
【教学类-83-02】20241214立体书三角嘴2.0——青蛙(扁菱形嘴)
背景需求: 制作小鸡立体贺卡三角嘴,它的嘴是正菱形(四条边长度相等,类似正方形) 【教学类-83-01】20241215立体书三角嘴1.0——小鸡(正菱形嘴)-CSDN博客文章浏览阅读744次,点赞22次…...
vscode设置终端代理
转载请标明出处:小帆的帆的博客 设置终端代理 修改项目的.vscode/settings.json {"terminal.integrated.env.windows": {"http_proxy": "http://127.0.0.1:7890","https_proxy": "http://127.0.0.1:7890"}, }…...
【C++】函数计算题解论
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目描述💯思路解析3.1 函数的递归定义3.2 边界条件控制3.3 记忆化搜索 💯C实现代码💯添加解释💯小结 💯前言 在…...
Redis篇-21--运维篇3-集群(分片,水平扩展,高可用,集群配置案例,扩展哨兵案例)
1、概述 Redis集群(Cluster)通过分片(sharding)实现了水平扩展,允许数据分布在多个节点上,从而提升性能和存储容量。 在Redis集群中,数据被分割成16384个哈希槽(hash slots&#x…...
Unity3d场景童话梦幻卡通Q版城镇建筑植物山石3D模型游戏美术素材
注明:网络素材,仅供学习使用! https://download.csdn.net/download/elineSea/90017291...
深入理解addEventListener中的第二个参数:listener
起因 首先,之前留给我们的一点东西,js的深入内容关键在addEventListener,这个函数中的参数,它们三个参数,分别为type、listener、options,当然在这里还有一些小的问题,比如mdn文档中它介绍到了另…...
数据库镜像(Database Mirroring):高可用性与灾难恢复技术
一、引言 在现代信息系统中,数据的可用性和完整性至关重要,尤其是对金融、电商、医疗等高并发和高可靠性要求的行业。数据库镜像(Database Mirroring) 作为一种高可用性与灾难恢复技术,通过将主数据库的数据实时复制到…...
【Qt】按钮类控件:QPushButton、QRadioButton、QCheckBox、ToolButton
目录 QPushButton 例子: QRadioButton 例子: 按钮的常见信号函数 单选按钮分组 例子: QCheckButton 例子: QToolButton QWidget的常见属性及其功能对于它的派生类控件都是有效的(也就是Qt中的各种控件),包括…...
day-21 内核链表以及栈
1.昨日作业 1.删除指定节点 找到删除就完事了,双向可以停在删除处。 /***************************** 功能:删除指定结点(通过姓名)* 参数:phead;oldname; * 返回:成功0,失-1&…...
深度与视差的关系及其转换
深度与视差的关系及其转换 在计算机视觉和立体视觉中,深度和视差是两个重要的概念。理解这两者之间的关系对于实现立体图像处理、三维重建以及深度估计至关重要。在这篇博客中,我们将深入探讨深度和视差的概念,并介绍它们之间的转换关系。 …...
Unity全局光照详解
之前就学过但是太久没用又忘了,因此用最简洁易懂的语言做个记录。 全局光照分为两个系统,分别是实时光照和混合光照。(点击window/Rendering/Lighing打开此面板) 其中全局光照对于我来说都是新技术了,上一次学…...
外观模式的理解和实践
外观模式(Facade Pattern)是一种常用的软件设计模式,它提供了一个统一的接口,用来访问子系统中的一群接口。该模式定义了一个高层的接口,使得子系统更容易使用。简单来说,外观模式就是通过引入一个外观角色…...
【前端知识】Javascript进阶-类和继承
文章目录 概述一、类(Class)二、继承(Inheritance) 三、继承的实现方式作用一、类和作用二、继承和作用 概述 当然可以,以下是对JavaScript中类和继承的详细介绍: 一、类(Class) 定…...
Kylin麒麟操作系统 | Nginx服务部署
目录 一、理论储备1. Nginx概述2. Nginx与Apache的区别3. Nginx的服务配置 二、任务实施任务1 Nginx的编译安装1. Server配置2. 客户端测试 任务2 Nginx反向代理1. Server1配置2. Server2配置3. 客户端测试 一、理论储备 1. Nginx概述 Nginx是一个轻量级的web服务器ÿ…...