当前位置: 首页 > news >正文

部署伪分布式 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 上传解压

  1. 使用xshell等工具将java压缩包上传到 /root 根目录
  2. 使用下面命令解压java并放到 /usr/local/ 目录下面
tar -zxvf jdk-8u421-linux-x64.tar.gz -C /usr/local/

在这里插入图片描述

1.3 java环境配置

  1. 设置软连接,方便使用
ln -s jdk1.8.0_421 jdk

在这里插入图片描述

  1. 配置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)的安装

目录 &#x1f33b;&#x1f33b; 一、安装 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 生态系统潜力的人来说&#xff0c;了解 Android 框架也是必不可少的。它是连接用户、开发者和 Android 平台…...

杂谈c语言——3.内存对齐

先看两个例子&#xff1a; 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; } 结果为&#xff1a; S:24; B:16&#xff…...

瑞芯微Android设备指定应用开启性能模式

本文档主要针对特定应用&#xff08;如 安兔兔&#xff09;如何进行加速及性能的提升做相关说明。 快速开启方法 开启与关闭 在 device/rockchip/rk3xxx/下配置文件:package_performance.xml&#xff0c;在其中的节点中加入需要使用性能模式的包名&#xff1a;&#xff08;…...

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展示系统数据&#xff0c;是LayUI的基本功能&#xff0c;编码十分简单&#xff0c;就是通过table.render()渲染&#xff0c;把属性配置好就OK了&#xff0c;十分方便&#xff0c;功能也十分强大。 不过&#xff0c;在实现时&#xff0c;把table的有个功能却理解…...

Vulnhub靶场DC-9练习

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

Java对象内存布局和对象头

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

python:基于YOLO框架和遥感图像的目标检测

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

DAMA学习笔记(十一)-元数据管理

1.引言 元数据最常见的定义是“关于数据的数据”。它描述了数据本身&#xff08;如数据库、数据元素、数据模型&#xff09;&#xff0c;数据表示的概念&#xff08;如业务流程、应用系统、软件代码、技术基础设施&#xff09;&#xff0c;数据与概念之间的联系&#xff08;关系…...

密码学基本理论

密码学是研究信息安全保护的科学,实现信息的保密性、完整性、可用性以及抗抵赖性 根据密码分析者在破译时已经具备的前提条件,密码分析攻击类型分类: 唯密文攻击:已知密文;未知明文+秘钥已知明文攻击:已知部分明文和密文对;未知秘钥+算法选择明文攻击:已知明文+算法--…...

【深度学习】【语音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中&#xff0c;window对象是浏览器的全局对象&#xff0c;它不仅代表了浏览器窗口&#xff0c;同时也充当了ECMAScript中的Global对象的角色。因此&#xff0c;深入了解和掌握window对象的属性和方法对于JavaScript开发者来说至关重要。 以下内容将…...

企业社会责任(CSR)国际标准有哪些?

以下是一些常见的企业社会责任&#xff08;CSR&#xff09;国际标准和相关体系等&#xff1a; 原则性、指南性标准 ISO 26000《社会责任指南》 &#xff1a;将社会责任归纳为7个核心方面&#xff0c;即公司治理、人权、劳工、环境、公平运营实践、消费者问题以及对社会发展作贡…...

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)介绍

在汽车电子电气架构还处于分布式时代时&#xff0c;汽车软件的开发方式主要是采用嵌入式软件进行开发&#xff0c;而随着汽车智能化程度的加深&#xff0c;更加复杂且多样的功能需求让汽车软件在复杂度上再上一层。在整车的自动驾驶方面&#xff0c;由于未来高阶自动驾驶能力的…...

关于使用Next遇到的一些新特性

用next之后发现&#xff0c;这是作为全栈比较好用的框架 API 1、app Router 这是目前next官方以及未来推荐的新技术方向 若使用api路由用来管理后端api接口 &#xff08;1&#xff09;此时在app文件夹下创建 api名称目录&#xff08;如 getApiKey&#xff09; &#xff08;…...

Python 爬虫入门(七):requests 库的使用「详细介绍」

Python 爬虫入门&#xff08;七&#xff09;&#xff1a;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]&#xff0c;控制向量 u ( t ) ∈ Ω u(t)\in\Omega u(t)∈Ω是分段连续函数&#xff0c; Ω ∈ R m \Omega\in R^m Ω∈Rm是有界闭集&#xf…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

GraphQL 实战篇:Apollo Client 配置与缓存

GraphQL 实战篇&#xff1a;Apollo Client 配置与缓存 上一篇&#xff1a;GraphQL 入门篇&#xff1a;基础查询语法 依旧和上一篇的笔记一样&#xff0c;主实操&#xff0c;没啥过多的细节讲解&#xff0c;代码具体在&#xff1a; https://github.com/GoldenaArcher/graphql…...

32位寻址与64位寻址

32位寻址与64位寻址 32位寻址是什么&#xff1f; 32位寻址是指计算机的CPU、内存或总线系统使用32位二进制数来标识和访问内存中的存储单元&#xff08;地址&#xff09;&#xff0c;其核心含义与能力如下&#xff1a; 1. 核心定义 地址位宽&#xff1a;CPU或内存控制器用32位…...

比较数据迁移后MySQL数据库和ClickHouse数据仓库中的表

设计一个MySQL数据库和Clickhouse数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...