Step 7. Cloud_Native_Trainer - xuan103/class-2020-07 GitHub Wiki
Welcome to the wiki !
- Cloud_Native_Trainer
以下為步驟:
-
$
mkdir -p ~/cnt/bin
- /bin 里放要執行的程式
- $
nano .bashrc
在最後方加上 export PATH=/home/bigred/cnt/bin:$PATH
- PATH 為環境變數
- $
exit
須離開重新登入才會生效
-
$
env
_=/usr/bin/env
- 看到此行表示成功
- $
sudo nano /etc/hosts
(增加前原檔案里的資料須全部清除)
127.0.0.1 localhost
192.168.40.254 gw
192.168.40.10 mas01
192.168.40.20 wka01
192.168.40.21 wka02
192.168.40.22 wka03
192.168.40.23 wka04
192.168.40.30 ds01
- 剛剛建立的檔案透過 ssh 複製到其他使用著
$ scp /etc/hosts mas01:~
$ scp /etc/hosts wka01:~
$ scp /etc/hosts wka02:~
$ scp /etc/hosts wka03:~
$ scp /etc/hosts wka04:~
$ scp /etc/hosts ds01:~
將複製過去的檔案丟到 /etc/hosts
$ ssh mas01 sudo cp ~/hosts /etc/hosts
$ ssh ds01 sudo cp ~/hosts /etc/hosts
$ ssh wka01 sudo cp ~/hosts /etc/hosts
$ ssh wka02 sudo cp ~/hosts /etc/hosts
$ ssh wka03 sudo cp ~/hosts /etc/hosts
$ ssh wka04 sudo cp ~/hosts /etc/hosts
- 使用 ssh 遠端時可直接用帳號登入
$ ssh blue@mas03
$ sudo nano /etc/group
sudo:x:27:blue,bigred
$ sudo nano /etc/sudoers
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
- 驗證:
bigred@gw:~$ ssh mas01 sudo cat /etc/shadow
blue@WKA03:~$ ping wka01
PING wka01 (192.168.51.20) 56(84) bytes of data.
64 bytes from wka01 (192.168.51.20): icmp_seq=1 ttl=64 time=0.458 ms
64 bytes from wka01 (192.168.51.20): icmp_seq=2 ttl=64 time=0.234 ms
- 寫程式使其可看到其他電腦硬體規格
$ nano cnt/bin/sysinfo
#!/bin/bash
for x in mas01 wka01 wka02 wka03 wka04 ds01
do
echo $x
m=$(ssh $x free -mh | grep Mem:)
echo -n "Memory :"
echo $m | cut -d' ' -f2
cn=$(ssh $x cat /proc/cpuinfo | grep 'model name' | head -n 1 | cut -d ':' -f2 | tr -s ' ')
echo -n "CPU : $cn (core: "
cn=$(ssh $x cat /proc/cpuinfo | grep 'model name' | wc -l)
echo "$cn)"
d=$(ssh $x sudo fdisk -l | grep GiB | cut -d ':' -f2 | cut -d ',' -f1)
echo Disk: $d
u=$(ssh $x ls /home)
echo User: $u
echo "---------------------------------------------------------"
done
- 給予權限
chmod +x cnt/bin/sysinfo
- 寫程式利用遠端控制達到所要需求 (建置 hadoop 環境及建置紅豆與綠豆帳號)
$ nano cnt/bin/sysprep
#!/bin/bash
for x in mas01 wka01 wka02 wka03 wka04 ds01
do
ssh $x sudo apt-get update
ssh $x sudo apt-get upgrade -y
ssh $x sudo apt-get install openjdk-8-jdk
ssh $x sudo useradd -m -s /bin/bash rbean
ssh $x "echo 'rbean:rbean' | sudo chpasswd"
ssh $x sudo useradd -m -s /bin/bash gbean
ssh $x "echo 'gbean:gbean' | sudo chpasswd"
done
- 需求:
-
取得最新套件清單
-
系統更新至最新
-
安裝 openjdk8
-
產生帳號 rbean gbean
- 給予權限
chmod +x cnt/bin/sysprep