天天看點

Hadoop叢集搭建通過腳本配置hosts檔案

此腳本需要expect指令,使用前确認一下機器收否有安裝:which expect

思路:1.編寫好要追加到hosts檔案内容的檔案(IP_hosts_test)

           2.編寫腳本檔案testRead.sh(嵌套expect,實作自動登入),讀取上面的檔案,擷取ip,然後登入到其他機器,追加hosts

Hadoop叢集搭建通過腳本配置hosts檔案
Hadoop叢集搭建通過腳本配置hosts檔案

#!/bin/bash

ips=`cat IP_hosts_test |awk '{print $1}'`

for ip in $ips

do

    echo -e "\n-------------開始追加hosts檔案---------------------\n"

    password='rootroot'

    ip='127.0.0.1'

    echo -e "\n\n$ip\n"

    /usr/bin/expect<<EOF

    spawn scp /tmp/IP_hosts_test [email protected]$ip:/tmp/

    expect {

        "(yes/no)?" {

             send "yes\r"

             expect "*assword" {

                    send "$password\r"

                   }

          }

          "*assword" {

                send "$password\r" 

            }

    } 

    spawn ssh $ip

    expect {

        "(yes/no)?" {

             send "yes\r"

             expect "*assword" {

                   send "$password\r"

             }

         }

         "*assword" {

             send "$password\r" 

         }

    } 

    expect "*]#"

    send "cat /tmp/IP_hosts_test  >> /etc/hosts\r"

    expect eof

EOF

    echo -e "\n-------------追加hosts檔案結束---------------------\n"

done