1-Linux叢集搭建,分發指令碼,ssh免密登入

huafeng055發表於2024-04-29
  • Linux叢集部署
    • 叢集規劃

    • 模板機安裝



      建立完成後全部開啟並登入root賬戶

    • 修改克隆主機名
      vim /etc/sysconfig/network-scripts/ifcfg-ens33
      esc退出並輸入:wq儲存
      按i修改IPADDR為192.168.10.101 / 192.168.10.102 / 192.168.10.103

      vim /etc/hostname
      按i修改名字為kafka-broker1 / kafka-broker2 / kafka-broker3
      esc退出並輸入:wq儲存

      vim /etc/hosts
      按i新增
      192.168.10.101 kafka-broker1
      192.168.10.102 kafka-broker2
      192.168.10.103 kafka-broker3
      192.168.10.104 kafka-broker4
      esc退出並輸入:wq儲存

      完成後重啟linux
      修改Windows系統下C:\Windows\System32\drivers\etc hosts檔案主機對映
      新增以下內容

      127.0.0.1 kafka1
      127.0.0.1 kafka2
      127.0.0.1 kafka3

      192.168.10.101 kafka-broker1
      192.168.10.102 kafka-broker2
      192.168.10.103 kafka-broker3
      192.168.10.104 kafka-broker4

      • 在kafka-broker1虛擬機器中建立xsync分發指令碼檔案,用於向多個虛擬機器同步檔案
        • 進入/root 目錄 --cd /root

        • 建立bin目錄 --mkdir bin

        • 進入/root/bin目錄 --cd bin

        • 建立xsync檔案 --vim xsync

          點選檢視程式碼
          #!/bin/bash
          
          #1. 判斷引數個數
          if [ $# -lt 1 ]
          then
            echo Not Enough Arguement!
            exit;
          fi
          
          #2. 遍歷叢集所有機器
          for host in kafka-broker1 kafka-broker2 kafka-broker3
          do
            echo ====================  $host  ====================
            #3. 遍歷所有目錄,挨個傳送
            for file in $@
            do
              #4 判斷檔案是否存在
              if [ -e $file ]
              then
                #5. 獲取父目錄
                pdir=$(cd -P $(dirname $file); pwd)
                #6. 獲取當前檔案的名稱
                fname=$(basename $file)
                ssh $host "mkdir -p $pdir"
                rsync -av $pdir/$fname $host:$pdir
              else
                echo $file does not exists!
              fi
            done
          done
          
          
          
        • 修改xsync檔案許可權 --chmod 777 xsync

        • 輸入ll

    • SSH無密碼登入配置
      * 生成公鑰金鑰 --ssh-keygen -t rsa
      * 將公鑰複製到要免密登入的目標機器上
      ssh-copy-id kafka-broker1
      ssh-copy-id kafka-broker2
      ssh-copy-id kafka-broker3
      > 根據提示輸入yes 賬號密碼 以上操作三臺虛擬機器都要進行

相關文章