现在我们有5台虚拟机,已经配置好了主机名和网络

我们的目标是通过Ansible实现自动化部署hadoop集群。在此之前,我们先编写一个shell脚本来配置hadoop集群的环境,包括安装软件、安装配置Ansible(一个主节点+四个工作节点)、实现节点间的免密访问、配置hdfs yarn zookeeper等角色分组,为后续自动化部署hadoop集群做准备。

#!/bin/bash
# 指定使用 Bash 作为脚本解释器set -ueo pipefail
# 设置安全选项:
# -u: 未定义变量时报错
# -e: 命令执行失败时立即退出
# -o pipefail: 管道命令中任意失败视为整个管道失败# 统一 echo 函数定义
echo() {printf '%s\n' "$1"  # 使用 printf 确保输出一致性
}# 检查 root 权限
if [ "$(id -u)" -ne 0 ]; thenecho 'Please run as root!'  # 非 root 用户提示exit 127  # 返回错误代码
fi# 安装必要软件包函数
install_packages() {dnf install -y sshpass ansible tar vim open-vm-tools  # 使用 dnf 安装关键工具# 配置 Ansible 禁用主机密钥检查if ! (grep -qF 'host_key_checking' /etc/ansible/ansible.cfg); thencat << 'EOT' >> /etc/ansible/ansible.cfg
[defaults]
host_key_checking = False  # 禁用 SSH 主机密钥验证
deprecation_warnings = False  # 关闭弃用警告
EOTfi
}# 配置 Ansible 主机清单
install_inventory() {cat << 'EOT' >> /etc/ansible/hosts
# Hadoop 集群分组配置
[NameNode]
hadoop1
hadoop2[DataNode]
hadoop1-hadoop5(共5个节点)[ZKFC]  # Zookeeper 故障转移控制器
hadoop1
hadoop2# 其他组配置(JournalNode/NodeManager/ResourceManager/ZooKeeper)...
EOT
}# 配置主机名解析
install_hosts() {cat << 'EOT' >> /etc/hosts
# Hadoop 集群 IP 映射
192.168.30.121 hadoop1
192.168.30.122 hadoop2
...(共5个节点)
EOT
}# 配置 SSH 免密登录
install_root_ssh_key() {ssh-keygen -t rsa -N '' -f /root/.ssh/id_rsa  # 生成 RSA 密钥对# 为所有节点配置免密登录for i in {1..5}; dosshpass -p 'hadoop' ssh-copy-id -o StrictHostKeyChecking=no root@hadoop$idone
}# 主执行流程
install_packages     # 1. 安装软件
install_inventory    # 2. 配置 Ansible
install_hosts        # 3. 设置主机映射
install_root_ssh_key # 4. 配置 SSH 免密

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/95950.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/95950.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/95950.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#海康车牌识别实战指南带源码

C#海康车牌识别实战指南带源码前言车牌识别技术在智能交通、停车场管理等领域有着广泛的应用。海康威视作为国内领先的安防厂商&#xff0c;其车牌识别相机提供了丰富的SDK接口供开发者使用。本文将详细介绍如何使用C#语言结合海康威视SDK实现车牌识别功能&#xff0c;并解析关…

智慧能源新范式:数字孪生平台如何驱动风电场的精细化管理?

摘要你有没有想过&#xff0c;一座风力发电场背后&#xff0c;藏着一个“看不见的孪生兄弟”&#xff1f;它能提前预知风机故障&#xff0c;实时模拟极端天气的影响&#xff0c;甚至能“训练”运维人员在虚拟场景中演练抢修。这就是数字孪生——一个让风电场从“靠经验管理”转…

STM32-FreeRTOS操作系统-任务管理

引言 随着嵌入式技术的飞速发展&#xff0c;STM32与FreeRTOS的融合愈发紧密。本文聚焦于STM32平台下FreeRTOS操作系统的任务管理&#xff0c;旨在为开发者提供清晰的思路与实用的技巧&#xff0c;助力高效开发。 为什么要进行任务管理&#xff1f; 在嵌入式系统中&#xff0c;…

工业领域 ACP 协议全解析:从入门到实战案例

工业领域 ACP 协议全解析&#xff1a;从入门到实战案例 文章目录工业领域 ACP 协议全解析&#xff1a;从入门到实战案例一、前言二、ACP 协议是什么&#xff1f;1. 基本定义2. 与数据传输协议的区别三、ACP 协议的核心功能1. 身份认证&#xff08;Authentication&#xff09;2.…

计算机组成原理:计算机硬件的基本组成

&#x1f4cc;目录&#x1f5a5;️ 计算机硬件的基本组成&#xff1a;从经典到现代的架构演进&#x1f9e9; 一、计算机硬件的五大部分&#xff1a;功能与协同&#x1f4e5; &#xff08;一&#xff09;输入设备&#xff1a;人机交互的“入口”&#x1f4e4; &#xff08;二&am…

AI歌手功能终于上线!Suno AI 带你保存歌曲的灵魂

当我们谈论一首歌时&#xff0c;究竟是什么让它“独一无二”&#xff1f;是主唱的声音质感&#xff1f;是旋律里的氛围&#xff1f;还是那种无法复制的风格气息&#xff1f; 如今&#xff0c;Suno AI 给出了答案—— AI歌手功能正式上线&#xff01; &#x1f31f;什么是「AI…

Dubbo3.3 Triple协议处理东西向流量

前言 Apache Dubbo 3.3 对 Triple 协议做了升级&#xff0c;现在 Dubbo 不仅可以处理东西向流量&#xff0c;也可以处理南北向流量。 **东西向流量&#xff08;East-West Traffic&#xff09; ** 指数据中心或网络内部同级设备/服务之间的通信。例如&#xff0c;微服务之间的…

操作系统核心特点详解:从并发到分布式,一文搞懂考研必备知识

操作系统核心特点详解&#xff1a;从并发到分布式&#xff0c;一文搞懂考研必备知识 大家好&#xff0c;今天咱们来聊聊操作系统&#xff08;OS&#xff09;这个计算机世界的“大管家”。想象一下&#xff0c;你的电脑就像一个忙碌的厨房&#xff0c;操作系统就是那个厨师长&am…

2025精选5款AI视频转文字工具,高效转录秒变文字!

视频转文本的需求早已渗透到生活的方方面面&#xff1a;网课学习需要提取课件台词、会议记录想快速整理要点、追剧时急需生肉转字幕…… 手动记录不仅费时&#xff0c;还容易遗漏关键信息。今天就分享5款实用工具&#xff0c;从免费到专业全覆盖&#xff0c;几步操作就能让视频…

MyBatis Example模式SQL注入风险

在使用MyBatis逆向工程生成的Example查询模式时&#xff0c;很多开发者看到XML中存在${}占位符就会担心SQL注入问题。但实际上&#xff0c;存在${}并不等同于存在SQL注入风险。本文将详细分析何时会存在真正的注入风险。 存在SQL注入的两个关键前提 前提一&#xff1a;Criteria…

宝塔PostgreSQL安装pgvecto插件contrib包实现向量存储

1. 宝塔安装 首先确保你的宝塔已经安装了 PostgreSQL。 安装好后是能看到上面这个界面的。 我安装的是 16.1 版本&#xff0c;下面的教程讲的也是 16.1 版本的。 2.开放防火墙的端口号 5432 3.允许外部访问所有数据库 4.设置超级管理员用户密码 用户名默认为&#xff1a;po…

麒麟系统 doc转pdf

# 安装LibreOffice&#xff08;如果尚未安装&#xff09; sudo apt update sudo apt install libreoffice# 将DOC转换为PDF libreoffice --headless --convert-to pdf 你的文档.doc# 或者指定输出目录 libreoffice --headless --convert-to pdf --outdir /输出目录 你的文档.do…

Python实现生成矩形框、三角形框、六边形框和圆环点云

本节我们分享上节提到的不填充点云。在点云处理、计算机视觉与工业检测中&#xff0c;几何轮廓&#xff08;边框/环&#xff09;点云比实心点云更能反映物体的边缘特征、结构骨架与形貌突变区域。Python 借助 NumPy 即可快速生成矩形边框、三角形边框、六边形边框与圆环点云&am…

2025年本体论:公理与规则的挑战与趋势

摘要本文章旨在深入探讨本体论&#xff08;Ontology&#xff09;中公理&#xff08;Axioms&#xff09;与规则&#xff08;Rules&#xff09;的核心概念、技术实现、验证方法、性能评估及其在2025年的前沿趋势与挑战。公理与规则是构建严谨、一致知识模型的逻辑基石&#xff0c…

【51单片机】【protues仿真】基于51单片机PM2.5空气质量检测系统

目录 一、主要功能 二、使用步骤 三、硬件资源 四、软件设计 五、实验现象 一、主要功能 1、LCD1602液晶显示 2、按键​设置阈值 3、PM2.5大于阈值时启动声光警报 二、使用步骤 基于51单片机的PM2.5空气质量检测系统通常采用STC89C51/52作为核心控制器&#xff0c;结合…

【目录-单选】鸿蒙HarmonyOS开发者基础

用哪一种装饰器修饰的组件可作为页面入口组件&#xff1f;Look at the answer下面是ArkTS中类名、枚举名推荐的代码风格是 Look at the answer向服务器提交表单数据&#xff0c;以下哪种请求方式比较合适 Look at the answer使用http发起网络请求&#xff0c;需要以下哪种权限&…

maven【maven】技术详解

MavenMaven的本质是项目管理工具&#xff0c;将项目开发和管理过程抽象成一个项目对象模型&#xff08;POM&#xff09;Project Object Model&#xff1a;项目对象管理模型作用&#xff1a; 项目构建&#xff1a;提供标准的、跨平台的自动化项目构建方式依赖管理&#xff1a;方…

【操作系统-Day 25】死锁 (Deadlock):揭秘多线程编程的“终极杀手”

Langchain系列文章目录 01-玩转LangChain&#xff1a;从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块&#xff1a;四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain&#xff1a;从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…

【嵌入式C语言】七

8.4函数的声明和定义声明一个函数意味着向编译器描述函数名、返回值、参数个数和类型&#xff0c;但并不会为函数分配存储空间定义一个函数意味着在声明变量的同时还要有具体的实现&#xff0c;并且会为函数分配存储空间8.5多源文件的函数声明和定义8.6预处理指令#Include#incl…

hardhat3 源神 -- 启动!

Hardhat 项目开发环境搭建完整指南 1. 从 GitHub 下载项目 # 使用 SSH 方式克隆&#xff08;需要配置 SSH key&#xff09; git clone gitgithub.com:NomicFoundation/hardhat.git# 或使用 HTTPS 方式 git clone https://github.com/NomicFoundation/hardhat.git# 进入项目目录…