<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>部署 on 李先生的树洞</title><link>https://blog.pblhlyr.top/tags/%E9%83%A8%E7%BD%B2/</link><description>Recent content in 部署 on 李先生的树洞</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><managingEditor>pblh123@126.com (John Lee)</managingEditor><webMaster>pblh123@126.com (John Lee)</webMaster><copyright>© 2026 John Lee</copyright><lastBuildDate>Fri, 29 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.pblhlyr.top/tags/%E9%83%A8%E7%BD%B2/index.xml" rel="self" type="application/rss+xml"/><item><title>大数据集群 Ansible 自动化部署教程</title><link>https://blog.pblhlyr.top/posts/%E5%A4%A7%E6%95%B0%E6%8D%AE%E9%9B%86%E7%BE%A4-ansible-%E8%87%AA%E5%8A%A8%E5%8C%96%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B/</link><pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate><author>pblh123@126.com (John Lee)</author><guid>https://blog.pblhlyr.top/posts/%E5%A4%A7%E6%95%B0%E6%8D%AE%E9%9B%86%E7%BE%A4-ansible-%E8%87%AA%E5%8A%A8%E5%8C%96%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B/</guid><description>&lt;h1 class="relative group"&gt;大数据集群 Ansible 自动化部署教程
 &lt;div id="大数据集群-ansible-自动化部署教程" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%a4%a7%e6%95%b0%e6%8d%ae%e9%9b%86%e7%be%a4-ansible-%e8%87%aa%e5%8a%a8%e5%8c%96%e9%83%a8%e7%bd%b2%e6%95%99%e7%a8%8b" aria-label="锚点"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;基于 Ansible 的声明式自动化部署方案，与现有 Shell/Python 脚本并存，适用于 3-10 节点集群。&lt;/p&gt;

&lt;h2 class="relative group"&gt;一、前置准备
 &lt;div id="一前置准备" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e4%b8%80%e5%89%8d%e7%bd%ae%e5%87%86%e5%a4%87" aria-label="锚点"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;

&lt;h3 class="relative group"&gt;1.1 管理机要求
 &lt;div id="11-管理机要求" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#11-%e7%ae%a1%e7%90%86%e6%9c%ba%e8%a6%81%e6%b1%82" aria-label="锚点"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;需求&lt;/th&gt;
					&lt;th&gt;说明&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;OS&lt;/td&gt;
					&lt;td&gt;Linux / macOS（Windows WSL 兼容）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Ansible&lt;/td&gt;
					&lt;td&gt;&amp;gt;= 2.15（安装方法见下）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;sshpass&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;yum install sshpass&lt;/code&gt;（CentOS）或 &lt;code&gt;apt install sshpass&lt;/code&gt;（Ubuntu）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;网络&lt;/td&gt;
					&lt;td&gt;可 SSH 到达所有集群节点&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 class="relative group"&gt;1.2 集群节点要求
 &lt;div id="12-集群节点要求" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#12-%e9%9b%86%e7%be%a4%e8%8a%82%e7%82%b9%e8%a6%81%e6%b1%82" aria-label="锚点"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;需求&lt;/th&gt;
					&lt;th&gt;说明&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;OS&lt;/td&gt;
					&lt;td&gt;CentOS 7.9+ / Rocky Linux 8+&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;SSH&lt;/td&gt;
					&lt;td&gt;已启用、密码认证或密钥认证&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Sudo&lt;/td&gt;
					&lt;td&gt;hadoop 用户有 sudo 权限&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;磁盘&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/opt/module&lt;/code&gt; 至少 10GB 可用空间&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 class="relative group"&gt;1.3 安装 Ansible
 &lt;div id="13-安装-ansible" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#13-%e5%ae%89%e8%a3%85-ansible" aria-label="锚点"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# CentOS / Rocky&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo yum install -y epel-release
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo yum install -y ansible
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Ubuntu / Debian&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt install -y ansible
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# macOS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install ansible
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 验证安装&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ansible --version &lt;span class="c1"&gt;# 应显示 &amp;gt;= 2.15&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 class="relative group"&gt;1.4 本地缓存安装包（推荐，加速部署）
 &lt;div id="14-本地缓存安装包推荐加速部署" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#14-%e6%9c%ac%e5%9c%b0%e7%bc%93%e5%ad%98%e5%ae%89%e8%a3%85%e5%8c%85%e6%8e%a8%e8%8d%90%e5%8a%a0%e9%80%9f%e9%83%a8%e7%bd%b2" aria-label="锚点"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ansible/files/cache/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 下载 Hadoop 各组件，已下载的跳过（共约 1.8GB）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget -c https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget -c https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget -c https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget -c https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.6.4/hbase-2.6.4-hadoop3-bin.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget -c https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.8.0/kafka_2.13-2.8.0.tgz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget -c https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-3.5.8/spark-3.5.8-bin-hadoop3-scala2.13.tgz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget -c https://maven.aliyun.com/repository/public/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;blockquote&gt;&lt;p&gt;JDK 需预先手动解压到所有节点的 &lt;code&gt;/opt/module/jdk1.8.0_471&lt;/code&gt;（或通过 common role 自动下载，但 Adoptium 镜像速度较慢，建议手动安装）。&lt;/p&gt;</description></item><item><title>大数据集群分布式部署教程</title><link>https://blog.pblhlyr.top/posts/%E5%A4%A7%E6%95%B0%E6%8D%AE%E9%9B%86%E7%BE%A4%E5%88%86%E5%B8%83%E5%BC%8F%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B/</link><pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate><author>pblh123@126.com (John Lee)</author><guid>https://blog.pblhlyr.top/posts/%E5%A4%A7%E6%95%B0%E6%8D%AE%E9%9B%86%E7%BE%A4%E5%88%86%E5%B8%83%E5%BC%8F%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B/</guid><description>&lt;h1 class="relative group"&gt;大数据集群分布式部署教程（完整验证版）
 &lt;div id="大数据集群分布式部署教程完整验证版" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%a4%a7%e6%95%b0%e6%8d%ae%e9%9b%86%e7%be%a4%e5%88%86%e5%b8%83%e5%bc%8f%e9%83%a8%e7%bd%b2%e6%95%99%e7%a8%8b%e5%ae%8c%e6%95%b4%e9%aa%8c%e8%af%81%e7%89%88" aria-label="锚点"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;本教程提供&lt;strong&gt;每一步都可复制执行&lt;/strong&gt;的大数据集群部署方案，包含全部配置文件的完整内容。所有步骤已在 3 节点 CentOS 7.9 集群上验证通过。&lt;/p&gt;

&lt;h2 class="relative group"&gt;变量适配说明
 &lt;div id="变量适配说明" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%8f%98%e9%87%8f%e9%80%82%e9%85%8d%e8%af%b4%e6%98%8e" aria-label="锚点"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;部署新集群时，将教程中的以下值替换为实际环境配置：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;变量&lt;/th&gt;
					&lt;th&gt;教程示例值&lt;/th&gt;
					&lt;th&gt;替换为你的值&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;域名后缀&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;pblh123.cn&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;你的域名，无域名的用 &lt;code&gt;localdomain&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;节点数量&lt;/td&gt;
					&lt;td&gt;3&lt;/td&gt;
					&lt;td&gt;实际节点数（需同步调整副本数、ZK myid、Kafka broker.id）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;主节点&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;hd2&lt;/code&gt; / &lt;code&gt;192.168.137.155&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;你的主节点主机名/IP&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;节点2&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;hd3&lt;/code&gt; / &lt;code&gt;192.168.137.156&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;你的第二个节点&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;节点3&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;hd4&lt;/code&gt; / &lt;code&gt;192.168.137.157&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;你的第三个节点&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Hadoop版本&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;hadoop-3.3.6&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;实际安装版本目录名&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;JDK版本&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;jdk1.8.0_471&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;实际安装版本目录名&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;HDFS副本数&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;2&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;通常设为 min(节点数, 3)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;MySQL密码&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;Hive@12345&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;你的MySQL hive用户密码&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;安装根目录&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/opt/module&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;各组件解压目录&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;数据根目录&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/opt/data&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;HDFS/ZK/Kafka 数据存储目录&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;NodeManager内存&lt;/td&gt;
					&lt;td&gt;hd2:2800, hd3:2000, hd4:1200&lt;/td&gt;
					&lt;td&gt;按实际物理内存的70-80%分配(MB)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;SSH用户&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;hadoop&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;运行服务的系统用户&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;SSH密码&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;hadoop&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;相应密码&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;替换公式&lt;/strong&gt;: &lt;code&gt;${组件路径} = /opt/module/${版本目录名}&lt;/code&gt;，教程中所有路径均由公式推导，修改版本号后路径自动适用。&lt;/p&gt;</description></item></channel></rss>