使用Ansible自動化部署Hadoop集群(含源碼)--環境準備

現在我們有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# 進入項目目錄…