Solost - Solost
type: channel
link: https://solost.cn/author/1/
description: Solost
items: 年轻人的第一台 VPS 代理服务器 - 资源荟萃 ／ 资源荟萃, Lv1 - LINUX DO
items: 快速排序
items: 宝塔面板公网ip非80端口非443端口部署ssl_宝塔域名绑定80以外的端口
items: Ubuntu初始化配置
items: siyuan
items: 常用公式
items: 思源笔记Docker搭建
items: 大数据期末
items: 基础图论列表

年轻人的第一台 VPS 代理服务器 - 资源荟萃 ／ 资源荟萃, Lv1 - LINUX DO
type: item
date: 2026-05-12T11:34:31+08:00
description: 年轻人的第一台 VPS 代理服务器 - 资源荟萃 ／ 资源荟萃, Lv1 - LINUX DO年轻人的第一台 VPS 代理服务器 - 资源荟萃 / 资源荟萃, Lv1 - LINUX DO - LINUX DOhttps://linux.do/t/topic/333976免责声明 本文涉及的任何解锁和解密分析脚本仅用于资源共享和学习研究，不能保证其合法性，准确性，完整性和有效性，请根据情况自行判断。 间接使用脚本的任何用户，包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播, 本文作者对于由此引起的任何隐私泄漏或其他后果概不负责。 请勿将本文内的任何内容用于商业或非法目的，否则后果自负。 如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利，则应及时通知并提供身份证明，所有权证明，我将在收到认证文件后删除相关脚本。 对任何本文中包含的脚本在使用中可能出现的问题概不负责，包括但不限于由任何脚本错误导致的任何损失或损害． 您必须在下载后的24小时内从计算机或手机中完全删除以上内容。 任何以任何方式查看此项目的人或直接或间接使用该项目的任何脚本的使用者都应仔细阅读此声明。本文作者保留随时更改或补充此免责声明的权利。一旦使用并复制了任何本文相关脚本或其他内容，则视为您已接受此免责声明。 实现的功能 搭建一个稳定的代理服务器。 提供便捷的订阅转换服务，便于分享节点信息。可供 3-4 人使用。 能够访问 ChatGP...2026-02-06 11:21​由 linglong 发布于 2025 年 1月 9 日 ![](assets/729063_2-20260206112156-wt7fpp8.png)[https://linux.do/u/linglong](https://linux.do/u/linglong) 免责声明本文涉及的任何解锁和解密分析脚本仅用于资源共享和学习研究，不能保证其合法性，准确性，完整性和有效性，请根据情况自行判断。间接使用脚本的任何用户，包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播, 本文作者对于由此引起的任何隐私泄漏或其他后果概不负责。请勿将本文内的任何内容用于商业或非法目的，否则后果自负。如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利，则应及时通知并提供身份证明，所有权证明，我将在收到认证文件后删除相关脚本。对任何本文中包含的脚本在使用中可能出现的问题概不负责，包括但不限于由任何脚本错误导致的任何损失或损害．您必须在下载后的24小时内从计算机或手机中完全删除以上内容。任何以任何方式查看此项目的人或直接或间接使用该项目的任何脚本的使用者都应仔细阅读此声明。本文作者保留随时更改或补充此免责声明的权利。一旦使用并复制了任何本文相关脚本或其他内容，则视为您已接受此免责声明。实现的功能搭建一个稳定的代理服务器。提供便捷的订阅转换服务，便于分享节点信息。可供 3-4 人使用。能够访问 ChatGPT，VPS 的 IP 最好是原生 IP，访问一些特殊网站时不会被 block。提供的对外服务要够安全。例如，xray 面板需要以 TLS 加密访问，不能 http 裸奔在公网、SSH 服务更改端口，限制 root 用户登陆、节点使用当前较为安全的的协议等。有 IPV6，平时有使用 BT、 PT 的需求。基于上述功能，本教程搭建的 VPS 有如下特点：选用原生 IP 的 VPS 提供商，价格在 20 刀一年左右。能解锁 GPT。购买域名，使用 cloudflare 解析 DNS，申请 TLS 证书，使得域名能够提供 https 安全访问。使用 nginx 分流、反代本服务器上的代理服务、订阅服务、伪装服务。使用 x-ui 面板搭建 vless+tls+vision 节点；搭建 hysteria2 节点。搭建 sub-store，提供前后端订阅转换、分享服务，提供第三方网盘、glist 同步服务。本教程并非面向纯小白用户，如果你对基础的 Linux 命令不懂，对简单计算机网络知识不懂，建议不要尝试。如果你真的想尝试，并且愿意花时间学习，可以先购买机场，完成科学上网第一步。在 youtube 上学习科学上网基本知识，推荐不良林：www.youtube.com/@bulianglin再结合 Project X 项目的文档 小小白白话文 对照阅读。遇到不明白的知识去问 GPT，大概率能得到一个清晰的答案；或者 google 搜索对应知识。本教程在 Linux 系统下完成。前期准备购买域名域名一般都推荐 namesilo，购买一些便宜点的域名，例如 top，一年只要不到 2 美金，续费基本在 5 美金左右。如果嫌续费贵，大可以在到期以后，重新买一个便宜域名，然后再更新…

年轻人的第一台 VPS 代理服务器 - 资源荟萃 ／ 资源荟萃, Lv1 - LINUX DO
type: item
date: 2026-05-12T11:34:23+08:00
description: 年轻人的第一台 VPS 代理服务器 - 资源荟萃 ／ 资源荟萃, Lv1 - LINUX DO年轻人的第一台 VPS 代理服务器 - 资源荟萃 / 资源荟萃, Lv1 - LINUX DO - LINUX DOhttps://linux.do/t/topic/333976免责声明 本文涉及的任何解锁和解密分析脚本仅用于资源共享和学习研究，不能保证其合法性，准确性，完整性和有效性，请根据情况自行判断。 间接使用脚本的任何用户，包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播, 本文作者对于由此引起的任何隐私泄漏或其他后果概不负责。 请勿将本文内的任何内容用于商业或非法目的，否则后果自负。 如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利，则应及时通知并提供身份证明，所有权证明，我将在收到认证文件后删除相关脚本。 对任何本文中包含的脚本在使用中可能出现的问题概不负责，包括但不限于由任何脚本错误导致的任何损失或损害． 您必须在下载后的24小时内从计算机或手机中完全删除以上内容。 任何以任何方式查看此项目的人或直接或间接使用该项目的任何脚本的使用者都应仔细阅读此声明。本文作者保留随时更改或补充此免责声明的权利。一旦使用并复制了任何本文相关脚本或其他内容，则视为您已接受此免责声明。 实现的功能 搭建一个稳定的代理服务器。 提供便捷的订阅转换服务，便于分享节点信息。可供 3-4 人使用。 能够访问 ChatGP...2026-02-06 11:21​由 linglong 发布于 2025 年 1月 9 日 ![](assets/729063_2-20260206112156-wt7fpp8.png)[https://linux.do/u/linglong](https://linux.do/u/linglong) 免责声明本文涉及的任何解锁和解密分析脚本仅用于资源共享和学习研究，不能保证其合法性，准确性，完整性和有效性，请根据情况自行判断。间接使用脚本的任何用户，包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播, 本文作者对于由此引起的任何隐私泄漏或其他后果概不负责。请勿将本文内的任何内容用于商业或非法目的，否则后果自负。如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利，则应及时通知并提供身份证明，所有权证明，我将在收到认证文件后删除相关脚本。对任何本文中包含的脚本在使用中可能出现的问题概不负责，包括但不限于由任何脚本错误导致的任何损失或损害．您必须在下载后的24小时内从计算机或手机中完全删除以上内容。任何以任何方式查看此项目的人或直接或间接使用该项目的任何脚本的使用者都应仔细阅读此声明。本文作者保留随时更改或补充此免责声明的权利。一旦使用并复制了任何本文相关脚本或其他内容，则视为您已接受此免责声明。实现的功能搭建一个稳定的代理服务器。提供便捷的订阅转换服务，便于分享节点信息。可供 3-4 人使用。能够访问 ChatGPT，VPS 的 IP 最好是原生 IP，访问一些特殊网站时不会被 block。提供的对外服务要够安全。例如，xray 面板需要以 TLS 加密访问，不能 http 裸奔在公网、SSH 服务更改端口，限制 root 用户登陆、节点使用当前较为安全的的协议等。有 IPV6，平时有使用 BT、 PT 的需求。基于上述功能，本教程搭建的 VPS 有如下特点：选用原生 IP 的 VPS 提供商，价格在 20 刀一年左右。能解锁 GPT。购买域名，使用 cloudflare 解析 DNS，申请 TLS 证书，使得域名能够提供 https 安全访问。使用 nginx 分流、反代本服务器上的代理服务、订阅服务、伪装服务。使用 x-ui 面板搭建 vless+tls+vision 节点；搭建 hysteria2 节点。搭建 sub-store，提供前后端订阅转换、分享服务，提供第三方网盘、glist 同步服务。本教程并非面向纯小白用户，如果你对基础的 Linux 命令不懂，对简单计算机网络知识不懂，建议不要尝试。如果你真的想尝试，并且愿意花时间学习，可以先购买机场，完成科学上网第一步。在 youtube 上学习科学上网基本知识，推荐不良林：www.youtube.com/@bulianglin再结合 Project X 项目的文档 小小白白话文 对照阅读。遇到不明白的知识去问 GPT，大概率能得到一个清晰的答案；或者 google 搜索对应知识。本教程在 Linux 系统下完成。前期准备购买域名域名一般都推荐 namesilo，购买一些便宜点的域名，例如 top，一年只要不到 2 美金，续费基本在 5 美金左右。如果嫌续费贵，大可以在到期以后，重新买一个便宜域名，然后再更新…

快速排序
type: item
date: 2025-09-21T19:28:00+08:00
description: void quick_sort(int q[], int l, int r) { if (l >= r) return; int i = l - 1, j = r + 1, x = q[l + r >> 1]; while (i < j) { do i ++ ; while (q[i] < x); do j -- ; while (q[j] > x); if (i < j) swap(q[i], q[j]); } quick_sort(q, l, j), quick_sort(q, j + 1, r); }

宝塔面板公网ip非80端口非443端口部署ssl_宝塔域名绑定80以外的端口
type: item
date: 2025-03-03T21:45:00+08:00
description: 宝塔面板公网ip非80端口非443端口部署ssl_宝塔域名绑定80以外的端口-CSDN博客宝塔面板公网ip非80端口非443端口部署ssl_宝塔域名绑定80以外的端口-CSDN博客https://blog.csdn.net/weixin_41187842/article/details/129165773文章浏览阅读5k次，点赞3次，收藏12次。3、申请ssl证书，由于ssl默认访问80端口，所以使用文件验证失败，只能使用DNS验证。使用Let's Encrypt申请证书，使用dns验证，勾选手动解析，点击申请。此时会弹出一个让你设置TXT解析记录的框，到域名服务商那里添加解析记录，回到宝塔面板，点击验证。如果验证成功，此时访问。2、再到域名运营商做A记录解析，此时可以通过http://test.xxx.cn:8085访问到网站。有不少人使用家用宽带，虽然申请下来了公网ip，但是运营商封了80与443端口，但仍想使用ssl证书。_宝塔域名绑定80以外的端口2025-01-08 19:28:58宝塔面板公网ip非80端口非443端口部署ssl​https://blog.csdn.net/weixin_41187842/category_8127481.html运维专栏收录该内容20 篇文章2 订阅[订阅专栏]()有不少人使用家用宽带，虽然申请下来了公网ip，但是运营商封了80与443端口，但仍想使用ssl证书一、仅封80端口1、先在宝塔面板里创建网站，域名为test.xxx.cn:80852、再到域名运营商做A记录解析，此时可以通过http://test.xxx.cn:8085访问到网站3、申请ssl证书，由于ssl默认访问80端口，所以使用文件验证失败，只能使用DNS验证。使用Let's Encrypt申请证书，使用dns验证，勾选手动解析，点击申请​此时会弹出一个让你设置TXT解析记录的框，到域名服务商那里添加解析记录，回到宝塔面板，点击验证。如果验证成功，此时访问https://test.xxxx.cn:8085/是无法访问的，要去掉端口号，直接访问https://test.xxxx.cn。一、80端口与443端口都封1、2、3步与上面一样，由于443端口被封，则需手动修改ssl的端口。打开宝塔的test.xxxx.cn的站点设置，找到配置文件，找到 listen 443 ssl http2; 改为 listen 442 ssl；如图：​此时访问 https://test.xxxx.cn:442可以访问显示推荐内容

Ubuntu初始化配置
type: item
date: 2025-03-03T21:18:35+08:00
description: Ubuntu初始化配置防火墙1. 检查ufw​是否已安装​ufw​通常在Ubuntu中默认安装。你可以通过以下命令检查是否已安装：sudo ufw status如果未安装，可以使用以下命令安装：sudo apt update sudo apt install ufw2. 启用ufw​如果ufw​尚未启用，可以使用以下命令启用它：sudo ufw enable启用后，防火墙将开始运行，并在系统启动时自动启用。3. 检查防火墙状态你可以使用以下命令检查防火墙的状态：sudo ufw status verbose这将显示当前的防火墙规则和状态。4. 允许或拒绝特定端口或服务你可以使用ufw​允许或拒绝特定的端口或服务。例如：允许SSH（默认端口22）：sudo ufw allow ssh或者直接指定端口：sudo ufw allow 22/tcp允许HTTP（端口80）：sudo ufw allow http或者：sudo ufw allow 80/tcp允许HTTPS（端口443）：sudo ufw allow https或者：sudo ufw allow 443/tcp拒绝某个端口：sudo ufw deny 8080/tcp5. 删除规则如果你想删除某条规则，可以使用以下命令：sudo ufw delete allow 80/tcp或者通过规则编号删除：sudo ufw status numbered sudo ufw delete 2 # 删除编号为2的规则6. 禁用ufw​如果你想暂时禁用防火墙，可以使用以下命令：sudo ufw disable7. 重置ufw​如果你想重置所有规则并禁用ufw​，可以使用以下命令：sudo ufw reset8. 允许特定IP地址你可以允许特定IP地址访问所有端口：sudo ufw allow from 192.168.1.100或者允许特定IP地址访问特定端口：sudo ufw allow from 192.168.1.100 to any port 229. 拒绝特定IP地址你可以拒绝特定IP地址访问：sudo ufw deny from 192.168.1.20010. 查看日志你可以查看ufw​的日志以监控防火墙活动：sudo ufw logging on sudo tail -f /var/log/ufw.log‍SSH在Ubuntu上安装SSH（Secure Shell）服务非常简单。以下是安装和配置SSH的步骤：1. 安装SSH服务器默认情况下，Ubuntu可能没有安装SSH服务器。你可以通过以下命令安装：sudo apt update sudo apt install openssh-server2. 启动SSH服务安装完成后，SSH服务会自动启动。你可以通过以下命令检查SSH服务的状态：sudo systemctl status ssh如果服务没有启动，可以使用以下命令手动启动：sudo systemctl start ssh3. 设置SSH服务开机自启为了确保SSH服务在系统重启后自动启动，可以运行以下命令：sudo systemctl enable ssh4. 配置SSH（可选）SSH的配置文件位于 /etc/ssh/sshd_config​。你可以编辑此文件以更改默认设置。例如：修改SSH端口（默认是22）：sudo nano /etc/ssh/sshd_config找到 Port 22​ 这一行，将其修改为其他端口号（如 Port 2222​），然后保存并退出。禁用root登录（增强安全性）：找到 PermitRootLogin yes​，将其改为 PermitRootLogin no​。限制允许登录的用户：添加一行 AllowUsers your_username​，只允许特定用户登录。修改完成后，重启SSH服务以使更改生效：sudo systemctl restart ssh5. 允许SSH通过防火墙如果启用了ufw​防火墙，需要允许SSH端口（默认是22）通过防火墙：sudo ufw allow ssh如果你修改了SSH端口（例如改为2222），则需要允许新端口：sudo ufw allow 2222/tcp6. 连接到SSH服务器在另一台机器上，你可以使用以下命令连接到SSH服务器：ssh username@your_server_ip如果修改了SSH端口，需要指定端口号：ssh -p 2222 username@your_server_ip7. 卸载SSH服务器（可选）如果你不再需要SSH服务器，可以通过以下命令卸载：sudo apt remove openssh-server

siyuan
type: item
date: 2025-03-03T21:04:00+08:00
description: siyuanversion: "3.9" services: main: image: b3log/siyuan # 使用的镜像源名称 container_name: SiYuan # 设置容器名称 command: [ "--workspace=/siyuan/workspace/", "--accessAuthCode=xxx" # 官方设置的容器内的数据存放路径与认证码 ] volumes: - "/home/solost/docker/siyuan/workspace:/siyuan/workspace" network_mode: "host" ports: - "6806:6806" restart: always # 容器自动重启 environment: - LANG=zh_CN - PUID=1001 - PGID=1002用户权限在图片中，“entrypoint.sh ”脚本确保以指定的 “PUID ”和 “PGID ”创建 “siyuan ”用户和组。因此，当主机创建工作区文件夹时，请注意设置文件夹的用户和组所有权，使其与计划使用的 PUID​ 和 PGID​ 匹配。例如chown -R 1001:1002 /siyuan/workspace如果使用自定义的 PUID​ 和 PGID​ 值，入口点脚本将确保在容器内创建正确的用户和组，并相应调整挂载卷的所有权。无需在 docker run​ 或 docker-compose​ 中手动传递 -u​，因为环境变量会处理自定义。‍

常用公式
type: item
date: 2024-08-02T13:30:00+08:00
description: 常用公式基本求导公式${\left( {x}^{\alpha }\right) }^{\prime } = \alpha {x}^{\alpha - 1}\left( {\alpha \text{ 为常数 }}\right)$${\left( {a}^{x}\right) }^{\prime } = {a}^{x}\ln a\left( {a > 0,a \neq 1}\right)$${\left( {\mathrm{e}}^{x}\right) }^{\prime } = {\mathrm{e}}^{x}$${\left( {\log }_{a}x\right) }^{\prime } = \frac{1}{x\ln a}\left( {a > 0,a \neq 1}\right)$${\left( \ln \left| x\right| \right) }^{\prime } = \frac{1}{x}$${\left( \sin x\right) }^{\prime } = \cos x$${\left( \cos x\right) }^{\prime } = - \sin x$${\left( \arcsin x\right) }^{\prime } = \frac{1}{\sqrt{1 - {x}^{2}}}$${\left( \arccos x\right) }^{\prime } = - \frac{1}{\sqrt{1 - {x}^{2}}}$${\left( \tan x\right) }^{\prime } = {\sec }^{2}x$${\left( \cot x\right) }^{\prime } = - {\csc }^{2}x$${\left( \arctan x\right) }^{\prime } = \frac{1}{1 + {x}^{2}}$${\left( \operatorname{arccot}x\right) }^{\prime } = - \frac{1}{1 + {x}^{2}}$${\left( \sec x\right) }^{\prime } = \sec x\tan x$${\left( \csc x\right) }^{\prime } = - \csc x\cot x$${\left\lbrack \ln \left( x + \sqrt{{x}^{2} + 1}\right) \right\rbrack }^{\prime } = \frac{1}{\sqrt{{x}^{2} + 1}}$${\left\lbrack \ln \left( x + \sqrt{{x}^{2} - 1}\right) \right\rbrack }^{\prime } = \frac{1}{\sqrt{{x}^{2} - 1}}.$基本积分公式泰勒公式求极限注意：相减展开过程中，要展到相同次数，不能一个展开到 2 次，另一个 3 次相乘过程与相减类似相除过程中，可以简单判断分子或者分母展开的阶数，然后分子或者分母相应展到相同阶数，如果有部分与分母阶数不同，根据抓大头原则即可，趋向于 0 比分母次数更高的可以直接舍去，趋向于正无穷，比分母阶数低的可以舍去二重积分求极值无条件的二重积分求极值1.先求函数的偏导数2.找到令偏导数不存在或者为 0 的点，偏导数相互带入，求出可疑点3.求二阶偏导数4.把可疑点带入，判断 Δ，然后根据条件带入原方程即可求出极大或者极小值条件最值与拉格朗日数乘法首先，如果能将条件转化为变量带入首先转化，就可以转成无条件的求法1.构造辅助函数2.求各个变量的偏导，令其为 03.解方程4.比较方程得出的各点大小，找出最大最小值多元函数求极值注意：极值可能存在的地方1.函数定义域内部2.定义域边界例如：${(x,y)|x+2*y<=1,x>=0,y>=0}$$x=0$ 时候，可以求出内部的驻点(偏导数为 0)，还有边界点 $(0,0),(0,1/2)$$y=0$ 时候，可以求出内部的驻点(偏导数为 0)，还有边界点 $(1,0)$$x+2*y=1$ 时候，把方程的 x 或者 y 换掉，又会有一个新的方程，再求新方程的极值例题见 1000 题 A 组 13 章 18 题极坐标二重积分计算如果遇到被积函数是椭圆的情况 $\frac{x^{2}}{a^{2}}+\frac{y^{2}}{b^{2}}$$=$$r^{2}$令 $x=arcost$, $y=brsint$根据题目给出的条件，计算出 t 的范围和 r 的范围然后 $dxdy=abrdr$ 写方程过程一定记得换了，不是 $rdr$求渐近线求渐近线过程1.垂直渐近线（$x\to x_0$）2.水平渐近线（$x\to…

思源笔记Docker搭建
type: item
date: 2024-08-02T10:38:39+08:00
description: 思源笔记搭建过程中出现了一些问题version: "3.9" services: main: image: b3log/siyuan command: ['--workspace=/siyuan/workspace/', '--accessAuthCode=${AuthCode}'] user: '1000:1000' ports: - 6806:6806 volumes: - /siyuan/workspace:/siyuan/workspace restart: unless-stopped environment: # A list of time zone identifiers can be found at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - TZ=${TimeZone} 在这个里面，就算按照教程来，但是一直显示文件夹路径不合法，改了权限和都没什么用，最后好像说是是思源笔记的路径本来就有点问题，所以直接把数据库的卷挂载在自己想存储的目录version: "3.9" services: main: image: b3log/siyuan # 使用的镜像源名称 container_name: SiYuan # 设置容器名称 command: [ "--workspace=/home/user/SiYuan/workspace/", "--accessAuthCode=xxxx!" # 官方设置的容器内的数据存放路径与认证码 ] user: '1000:1000' volumes: - "/home/user/SiYuan/workspace:/home/siyuan" network_mode: "host" ports: - "6806:6806" restart: always # 容器自动重启 environment: - LANG=zh_CN

大数据期末
type: item
date: 2024-06-14T10:01:00+08:00
description: 大数据计算模式机器代表作品分布式文件系统物理结构分布式文件系统在物理结构上是由计算机集群中的多个节点构成的，如图3-2所示。这些节点分为两类：主节点（名称节点）：文件目录的创建、删除、重命名，管理数据节点和文件块的映射关系。客户端只有访问名称节点才能找到请求的文件块所在的位置，进而到相应位置读取所需文件块。从节点（数据节点）：负责数据的存储和读取。在存储时，由名称节点分配存储位置，然后由客户端把数据直接写入相应数据节点；在读取时，客户端从名称节点获得数据节点和文件块的映射关系，到相应位置访问文件块。数据节点也要根据名称节点的命令创建、删除和复制数据块。HDFS 副本存放策略(1)在集群内发起写操作请求，则把第1个副本放置在发起写操作请求的数据节点上，实现就近写入数据。在集群外发起写操作请求，则从集群内部挑选一台磁盘空间较为充足、CPU不太忙的数据节点，作为第1个副本的存放地。(2)第2个副本会被放置在与第1个副本不同的机架的数据节点上。(3)第3个副本会被放置在与第1个副本相同的机架的其他节点上。(4)如果还有更多的副本，则继续从集群中随机选择数据节点进行存放。Shuffle过程(1)在Map端的Shuffle过程Map任务的输出结果首先被写入缓存，当缓存满时，就启动溢写操作，把缓存中的数据写入磁盘文件，并清空缓存。当启动溢写操作时，首先需要对缓存中的数据进行分区，然后对每个分区的数据进行排序和合并，再写入磁盘文件。每次溢写操作会生成一个新的磁盘文件，随着Map任务的执行，磁盘中就会生成多个溢写文件。在Map任务全部结束之前，这些溢写文件会被归并成一个大的磁盘文件，然后通知相应的Reduce任务来“领取”属于自己处理的数据。(2)在Reduce端的Shuffle过程Reduce任务从Map端的不同Map机器“领取”属于自己处理的那部分数据，然后对数据进行归并后交给Reduce处理。WordConunt设计思路分片（Splitting）阶段：一个大文件被切分成多个分片，分配到多个不同的机器上。每个机器上的Map任务负责处理分配给它的那一部分数据。Map阶段：在Map任务中，输入被默认处理为键值对形式，其中键是文件的行号，值是对应的行内容。Map任务解析每行的内容，识别出单词，并输出键值对，格式为<单词，1>，表示这个单词出现一次。Shuffle阶段：Map阶段的输出经过排序和分区处理，转换成<key, value-list>的形式，例如<hadoop, [1, 1, 1, 1, 1]>。这表明单词"hadoop"出现了五次。Reduce阶段：Reduce任务接收来自Shuffle阶段的中间结果，开始进行汇总计算。每个Reduce任务负责一部分数据的汇总，计算每个单词的最终频数，并将这些结果输出到分布式文件系统中。Spark主要具有如下优点。(l)Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作，还提供了多种数据集操作类型，编程模型比MapReduce更灵活。(2)Spak提供了内存计算，中间结果直接放到内存中，带来了更高的迭代运算效率。(3)Spark基于DAG的任务调度执行机制，要优于MapReduce的迭代执行机制。Spark各种概念之间的相互关系在Spark中，一个应用(Application)由一个任务控制节点(Driver)和若干个作业(Job)构成，一个作业由多个阶段(Stage)构成，一个阶段由多个任务(Task)组成。当执行一个应用时，任务控制节点会向集群管理器(Cluster Manager)申请资源，启动Executor,并向Executor发送应用程序代码和文件，然后在Executor上执行任务，运行结束后执行结果会返回给任务控制节点，或者写到HDFS或者其他数据库中。流计算与HadoopHadoop作为大数据技术的事实标准，主要依靠MapReduce和HDFS来支撑大规模的分布式存储和处理。然而，Hadoop的MapReduce模型主要适用于批量数据处理，不适合流计算的实时需求。尽管可以通过小批量处理来减少延迟，这种方法会增加处理开销和复杂度，降低系统的可维护性和用户程序的可伸缩性。因此，业界已经开发了许多专门的实时流数据处理系统来满足这些需求。1、编程实现文件合并和去重操作对于两个输入文件，即文件 A 和文件 B，请编写 MapReduce 程序，对两个文件进行合并，并剔除其中重复的内容，得到一个新的输出文件 C。下面是输入文件和输出文件的一个样例，供参考。输入文件A的样例如下：20150101 x 20150102 y 20150103 x 20150104 y 20150105 z 20150106 x输入文件B的样例如下：20150101 y 20150102 y …

基础图论列表
type: item
date: 2024-03-30T09:18:13+08:00