11-Linux部署集群準備

Linux部署集群準備

介紹

在前面,我們所學習安裝的軟件,都是以單機模式運行的。

后續,我們將要學習大數據相關的軟件部署,所以后續我們所安裝的軟件服務,大多數都是以集群化(多臺服務器共同工作)模式運行的。

所以,在當前小節,我們需要完成集群化環境的前置準備,包括創建多臺虛擬機,配置主機名映射,SSH免密登錄等等。

部署

配置多臺Linux虛擬機

安裝集群化軟件,首要條件就是要有多臺Linux服務器可用。

我們可以使用VMware提供的克隆功能,將我們的虛擬機額外克隆出3臺來使用。

  1. 首先,關機當前CentOS系統虛擬機(可以使用root用戶執行init 0來快速關機)

  2. 新建文件夾

    image-20240228102551339

    文件夾起名為:虛擬機集群

  3. 克隆

    image-20240228102747490

    image-20240228102822158

    image-20240228102850924

    image-20240228102908952

    image-20240228103037435

    image-20240228103102163

    image-20240228103118055

    image-20240228103157760

    image-20240228103219384

  4. 同樣的操作克隆出:node2和node3

    image-20240228103733798

  5. 開啟node1,修改主機名為node1,并修改固定IP為:192.168.149.131

    # 修改主機名
    hostnamectl set-hostname node1# 修改IP地址
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    IPADDR="192.168.149.131"# 重啟網卡
    systemctl stop network
    systemctl start network
    # 或者直接
    systemctl restart network
    
  6. 同樣的操作啟動node2和node3,

    修改node2主機名為node2,設置IP為192.168.149.132

    修改node2主機名為node3,設置IP為192.168.149.133

  7. 配置Xshell,配置連接到node1、node2、node3的連接

    為了簡單起見,建議配置root用戶登錄

    image-20240228121145636

準備主機名映射

  1. 在Windows系統中修改hosts文件,填入如下內容:

    如果使用MacOS系統,請:

    1. sudo su -,切換到root
    2. 修改/etc/hosts文件
    192.168.149.131 node1
    192.168.149.132 node2
    192.168.149.133 node3
    
  2. 在3臺Linux的/etc/hosts文件中,填入如下內容(3臺都要添加

    192.168.149.131 node1
    192.168.149.132 node2
    192.168.149.133 node3
    

配置SSH免密登錄

簡介

SSH服務是一種用于遠程登錄的安全認證協議。

使用Xshell遠程連接到Linux,就是使用的SSH服務。

SSH服務支持:

  1. 通過賬戶+密碼的認證方式來做用戶認證
  2. 通過賬戶+秘鑰文件的方式做用戶認證

SSH可以讓我們通過SSH命令,遠程的登陸到其它的主機上,比如:

在node1執行:ssh root@node2,將以root用戶登錄node2服務器,輸入密碼即可成功登陸

或者ssh node2,將以當前用戶直接登陸到node2服務器。

SSH免密配置

后續安裝的集群化軟件,多數需要遠程登錄以及遠程執行命令,我們可以簡單起見,配置三臺Linux服務器之間的免密碼互相SSH登陸

  1. 在每一臺機器都執行:ssh-keygen -t rsa -b 4096,一路回車到底即可

    示例輸出

    [root@node1 ~]# ssh-keygen -t rsa -b 4096
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): 
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:aLNaRbRGpAagFBjBeX6K1y3ceZRnHZrvik6h20Wsuj0 root@node1
    The key's randomart image is:
    +---[RSA 4096]----+
    |==+..  .+        |
    |o+ . . + .   .   |
    |. o   o + . + .  |
    |   . o + o.= .   |
    |  . = * S.oo.    |
    | . o = B..+  .   |
    |  .   +..o ..    |
    |     o  *Eo  .   |
    |    .  +o=...    |
    +----[SHA256]-----+
    [root@node1 ~]# 
  2. 在每一臺機器都執行:

    ssh-copy-id node1
    ssh-copy-id node2
    ssh-copy-id node3
    

    示例輸出

    [root@node1 ~]# ssh-copy-id node1
    /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
    The authenticity of host 'node1 (192.168.149.131)' can't be established.
    ECDSA key fingerprint is SHA256:UJULWpe9PpdjrmEBO/1SQMmmfkvmuDBVZ2QCGz+8Il0.
    ECDSA key fingerprint is MD5:82:4f:8d:bd:f5:ca:8d:ba:99:dd:65:08:2a:a5:50:92.
    Are you sure you want to continue connecting (yes/no)? 
    /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    The authenticity of host 'node1 (192.168.149.131)' can't be established.
    ECDSA key fingerprint is SHA256:UJULWpe9PpdjrmEBO/1SQMmmfkvmuDBVZ2QCGz+8Il0.
    ECDSA key fingerprint is MD5:82:4f:8d:bd:f5:ca:8d:ba:99:dd:65:08:2a:a5:50:92.
    Are you sure you want to continue connecting (yes/no)? /usr/bin/ssh-copy-id: ERROR: Host key verification failed.[root@node1 ~]# ssh-copy-id node1
    /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
    The authenticity of host 'node1 (192.168.149.131)' can't be established.
    ECDSA key fingerprint is SHA256:UJULWpe9PpdjrmEBO/1SQMmmfkvmuDBVZ2QCGz+8Il0.
    ECDSA key fingerprint is MD5:82:4f:8d:bd:f5:ca:8d:ba:99:dd:65:08:2a:a5:50:92.
    Are you sure you want to continue connecting (yes/no)? yes
    /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
    root@node1's password: 
    Permission denied, please try again.
    root@node1's password: Number of key(s) added: 1Now try logging into the machine, with:   "ssh 'node1'"
    and check to make sure that only the key(s) you wanted were added.[root@node1 ~]# ssh-copy-id node2
    /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
    /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
    root@node2's password: Number of key(s) added: 1Now try logging into the machine, with:   "ssh 'node2'"
    and check to make sure that only the key(s) you wanted were added.[root@node1 ~]# ssh-copy-id node3
    /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
    The authenticity of host 'node3 (192.168.149.133)' can't be established.
    ECDSA key fingerprint is SHA256:UJULWpe9PpdjrmEBO/1SQMmmfkvmuDBVZ2QCGz+8Il0.
    ECDSA key fingerprint is MD5:82:4f:8d:bd:f5:ca:8d:ba:99:dd:65:08:2a:a5:50:92.
    Are you sure you want to continue connecting (yes/no)? yes
    /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
    root@node3's password: Number of key(s) added: 1Now try logging into the machine, with:   "ssh 'node3'"
    and check to make sure that only the key(s) you wanted were added.
  3. 執行完畢后,node1、node2、node3之間將完成root用戶之間的免密互通

    [root@node1 ~]# ssh node3
    Last login: Wed Feb 28 12:10:09 2024 from 192.168.149.1
    [root@node3 ~]# exit
    登出
    Connection to node3 closed.
    [root@node1 ~]# ssh node2
    Last login: Wed Feb 28 12:18:11 2024 from node1
    [root@node2 ~]# exit
    登出
    Connection to node2 closed.
    [root@node1 ~]# 
    

配置JDK環境

后續的大數據集群軟件,多數是需要Java運行環境的,所以我們為每一臺機器都配置JDK環境。

image-20240228124155045

JDK配置參閱:Tomcat安裝部署環節。

參考文章

06-Linux部署Tomcat:http://t.csdnimg.cn/VmRq6

關閉防火墻和SELinux

集群化軟件之間需要通過端口互相通訊,為了避免出現網絡不通的問題,我們可以簡單的在集群內部關閉防火墻。

在每一臺機器都執行

systemctl stop firewalld
systemctl disable firewalld

image-20240228124118527

Linux有一個安全模塊:SELinux,用以限制用戶和程序的相關權限,來確保系統的安全穩定。

SELinux的配置同防火墻一樣,非常復雜,課程中不多涉及,后續視情況可以出一章SELinux的配置課程。

在當前,我們只需要關閉SELinux功能,避免導致后面的軟件運行出現問題即可,

在每一臺機器都執行

vim /etc/sysconfig/selinux# 將第7行,SELINUX=enforcing 改為
SELINUX=disabled
# 保存退出后,重啟虛擬機即可,千萬要注意disabled單詞不要寫錯,不然無法啟動系統

image-20240228124339196

添加快照

為了避免后續出現問題,在完成上述設置后關機(只有關機后的快照才能被克隆,不關機設置的快照只能還原),為每一臺虛擬機都制作快照,留待使用。

image-20240228125205656

補充命令 - scp

后續的安裝部署操作,我們將會頻繁的在多臺服務器之間相互傳輸數據。

為了更加方面的互相傳輸,我們補充一個命令:scp

scp命令是cp命令的升級版,即:ssh cp,通過SSH協議完成文件的復制。

其主要的功能就是:在不同的Linux服務器之間,通過SSH協議互相傳輸文件。

只要知曉服務器的賬戶和密碼(或密鑰),即可通過SCP互傳文件。

語法:

scp [-r] 參數1 參數2
- -r選項用于復制文件夾使用,如果復制文件夾,必須使用-r
- 參數1:本機路徑 或 遠程目標路徑
- 參數2:遠程目標路徑 或 本機路徑

示例

  • 將本機上的jdk文件夾, 以root的身份復制到node2的/export/server/內,同SSH登陸一樣,賬戶名可以省略(使用本機當前的同名賬戶登陸)
scp -r /export/server/jdk root@node2:/export/server/
  • 將遠程node2的jdk文件夾,復制到本機的/export/server/
scp -r node2:/export/server/jdk /export/server/
  • scp命令的高級用法
cd /export/server
# 將本機當前路徑的jdk文件夾,復制到node2服務器的同名路徑下
scp -r jdk node2:`pwd`/# 將本機當前路徑的jdk文件夾,復制到node2服務器的同名路徑下
scp -r jdk node2:$PWD

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/711522.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/711522.shtml
英文地址,請注明出處:http://en.pswp.cn/news/711522.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【機器學習實戰1】泰坦尼克號:災難中的機器學習(一)數據預處理

🌸博主主頁:釉色清風🌸文章專欄:機器學習實戰🌸今日語錄:不要一直責怪過去的自己,她曾經站在霧里也很迷茫。 🌼實戰項目簡介 本次項目是kaggle上的一個入門比賽 :Titani…

錨索測力計數據處理與分析:MCU自動測量單元的應用

錨索測力計作為一種重要的工程監測工具,在橋梁、大壩、隧道等結構物的健康監測中發揮著日益重要的作用。如何高效、準確地處理和分析,錨索測力計所獲取的數據成為了工程師們面臨的重要問題。近年來,隨著微控制器(MCU)技術的快速發展&#xff…

Python繪制實時空氣質量地圖

我們將使用 Google Colab 中的 Python 創建包含實時空氣質量數據的交互式地圖。 ??簡介 如果有人想查看地圖上各個傳感器的空氣質量分布情況,以檢查特定位置的空氣質量數據,該怎么辦?我接下來將解決這個問題。我們重點關注基于名為 PurpleAir 的密集空氣質量網絡來識別我們…

spring: HandlerInterceptor

文章目錄 一、什么是HandlerInterceptor二、應用示例 一、什么是HandlerInterceptor HandlerInterceptor 是 Spring 框架中的一個接口,用于攔截處理程序執行。在 Spring MVC 中,你可以使用 HandlerInterceptor 來在處理程序執行前、執行后或渲染視圖之前…

51-n皇后(回溯算法)

題目 按照國際象棋的規則,皇后可以攻擊與之處在同一行或同一列或同一斜線上的棋子。 n 皇后問題 研究的是如何將 n 個皇后放置在 nn 的棋盤上,并且使皇后彼此之間不能相互攻擊。 給你一個整數 n ,返回所有不同的 n 皇后問題 的解決方案。 每一…

前端開發項目必備神器之node工具整理

前言: 在我們開發項目中,node是我們必備的工具,在為了適應各種不同的開發需求的同時,node也有很多好用的插件提供給我們,這里整理個人的使用分享給大家! 一、node相關 1、node官方網站,可以安裝…

模擬算法題練習(二)(DNA序列修正、無盡的石頭)

(一、DNA序列修正) 問題描述 在生物學中,DNA序列的相似性常被用來研究物種間的親緣關系。現在我們有兩條 DNA序列,每條序列由 A、C、G、T 四種字符組成,長度相同。但是現在我們記錄的 DNA序列存在錯誤,為了…

ubuntu基礎操作(1)-個人筆記

搜狗輸入法Linux官網-首頁搜狗輸入法for linux—支持全拼、簡拼、模糊音、云輸入、皮膚、中英混輸https://pinyin.sogou.com/linux 1.關閉sudo密碼: 終端(ctrl alt t)輸入 sudo visudo 打開visudo 找到 %sudo ALL(ALL:ALL) ALL 這一行…

羊大師分享,羊奶奶有哪些對健康有益的喝法?

羊大師分享,羊奶奶有哪些對健康有益的喝法? 羊奶奶有多種對健康有益的喝法,以下是一些建議: 直接飲用:將羊奶直接煮沸后飲用,可以保留羊奶中的營養成分,為身體提供全面的滋養。羊奶的豐富蛋白質…

代碼隨想錄算法訓練營第二十八天補|93.復原IP地址 ● 78.子集 ● 90.子集II

組合問題:集合內元素的組合,不同集合內元素的組合 分割問題:本質還是組合問題,注意一下如何分割字符串 回溯模板偽代碼 void backtracking(參數) {if (終止條件) {存放結果;return;}for (選擇:本層集合中元素&#xf…

Softmax

Softmax函數是一種在機器學習和深度學習中廣泛使用的激活函數,特別是在處理多分類問題時。它將一個含任意實數的向量轉換成一個概率分布,其中每個元素的值代表了屬于對應類別的概率。Softmax函數的輸出是所有可能類別的概率分布,這些概率的總…

【六袆 - MySQL】MySQL 5.5及更高版本中,InnoDB是新表的默認存儲引擎;

InnoDB 這是一個MySQL組件,結合了高性能和事務處理能力,以確保可靠性、健壯性和并發訪問。它體現了ACID設計哲學。它作為一個存儲引擎存在,處理使用ENGINEINNODB子句創建的或修改的表。請參閱第14章“InnoDB存儲引擎”以獲取有關架構細節和管…

【解決】虛幻導入FBX模型不是一個整體

問題: 現在有一個汽車的fbx模型,導入虛幻引擎,導入后變成了很多汽車零件模型。 解決: 把“合并網格體”勾選上,解決問題。

移動端app如何設計測試用例?

🍅 視頻學習:文末有免費的配套視頻可觀看 🍅 關注公眾號【互聯網雜貨鋪】,回復 1 ,免費獲取軟件測試全套資料,資料在手,漲薪更快 1、用戶界面測試 布局和元素 驗證所 有UI元素(如…

C語言拼接字符串操作

代碼解法不唯一,請在評論區留下你的實現方式和想法,我會將好的解法更新到文章中!! 要拼接 “字符串1” 和 “字符串2” ,可以使用字符串連接操作。在C語言中,您可以使用strcat函數來將兩個字符串連接起來。…

Unity 佳能SDK 及數據獲取

1. 填寫信息跟官方申請SDK,大概1-2個工作日會郵件回復你 佳能(中國)- 佳定制(佳能影像產品),SDK,EDSDK,CCAPI,軟件開發包下載 2. 將SDK這兩個文件放到 Unity Plugins文件夾 3. 把CameraControl 下面只要是綠色的 .cs 文件都復制到Unity 中

ElasticSearch搜索引擎使用指南

一、ES數據基礎類型 1、數據類型 字符串 主要包括: text和keyword兩種類型,keyword代表精確值不會參與分詞,text類型的字符串會參與分詞處理 數值 包括: long, integer, short, byte, double, float 布爾值 boolean 時間 date 數組 數組類型不…

基于ssm學生公寓管理系統的設計與開發論文

學生公寓管理系統的設計與實現 摘要 如今,科學技術的力量越來越強大,通過結合較為成熟的計算機技術,促進了學校、醫療、商城等許多行業領域的發展。為了順應時代的變化,各行業結合互聯網、人工智能等技術,紛紛開展了…

P1160 隊列安排題解

題目 一個學校里老師要將班上N個同學排成一列,同學被編號為1~N,他采取如下的方法: 先將1號同學安排進隊列,這時隊列中只有他一個人; 2~N號同學依次入列,編號為i的同學入列方式為:老師指定編…

下載huggingface數據集到本地并讀取.arrow文件遇到的問題

文章目錄 1. 524MB中文維基百科語料(需要下載的數據集)2. 下載 hugging face 網站上的數據集3. 讀取 .arrow 文件報錯代碼4. 糾正后代碼 1. 524MB中文維基百科語料(需要下載的數據集) 2. 下載 hugging face 網站上的數據集 要將H…