溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linux中ClusterShell怎么用

發(fā)布時(shí)間:2021-10-28 17:03:13 來(lái)源:億速云 閱讀:207 作者:小新 欄目:系統(tǒng)運(yùn)維

這篇文章給大家分享的是有關(guān)linux中ClusterShell怎么用的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

ClusterShell

ClusterShell 是一個(gè)事件驅(qū)動(dòng)的開(kāi)源 Python 庫(kù),旨在在服務(wù)器場(chǎng)或大型 Linux 集群上并行運(yùn)行本地或遠(yuǎn)程命令。(clush 即 ClusterShell)。

它將處理在 HPC 集群上遇到的常見(jiàn)問(wèn)題,例如在節(jié)點(diǎn)組上操作,使用優(yōu)化過(guò)的執(zhí)行算法運(yùn)行分布式命令,以及收集結(jié)果和合并相同的輸出,或檢索返回代碼。

ClusterShell 可以利用已安裝在系統(tǒng)上的現(xiàn)有遠(yuǎn)程 shell 設(shè)施,如 SSH。

ClusterShell 的主要目標(biāo)是通過(guò)為開(kāi)發(fā)人員提供輕量級(jí)、但可擴(kuò)展的 Python API 來(lái)改進(jìn)高性能集群的管理。它還提供了 clush、clubakcluset/nodeset 等方便的命令行工具,可以讓傳統(tǒng)的 shell 腳本利用這個(gè)庫(kù)的一些功能。

ClusterShell 是用 Python 編寫(xiě)的,它需要 Python(v2.6+ 或 v3.4+)才能在你的系統(tǒng)上運(yùn)行。

如何在 Linux 上安裝 ClusterShell?

ClusterShell 包在大多數(shù)發(fā)行版的官方包管理器中都可用。因此,使用發(fā)行版包管理器工具進(jìn)行安裝。

對(duì)于 Fedora 系統(tǒng),使用 DNF 命令來(lái)安裝 clustershell。

$ sudo dnf install clustershell

如果系統(tǒng)默認(rèn)是 Python 2,這會(huì)安裝 Python 2 模塊和工具,可以運(yùn)行以下命令安裝 Python 3 開(kāi)發(fā)包。

$ sudo dnf install python3-clustershell

在執(zhí)行 clustershell 安裝之前,請(qǐng)確保你已在系統(tǒng)上啟用 EPEL 存儲(chǔ)庫(kù)。

對(duì)于 RHEL/CentOS 系統(tǒng),使用 YUM 命令 來(lái)安裝 clustershell。

$ sudo yum install clustershell

如果系統(tǒng)默認(rèn)是 Python 2,這會(huì)安裝 Python 2 模塊和工具,可以運(yùn)行以下命令安裝 Python 3 開(kāi)發(fā)包。

$ sudo yum install python34-clustershell

對(duì)于 openSUSE Leap 系統(tǒng),使用 Zypper 命令 來(lái)安裝 clustershell。

$ sudo zypper install clustershell

如果系統(tǒng)默認(rèn)是 Python 2,這會(huì)安裝 Python 2 模塊和工具,可以運(yùn)行以下命令安裝 Python 3 開(kāi)發(fā)包。

$ sudo zypper install python3-clustershell

對(duì)于 Debian/Ubuntu 系統(tǒng),使用 APT-GET 命令 或 APT 命令 來(lái)安裝 clustershell。

$ sudo apt install clustershell

如何在 Linux 使用 PIP 安裝 ClusterShell?

可以使用 PIP 安裝 ClusterShell,因?yàn)樗怯?Python 編寫(xiě)的。

在執(zhí)行 clustershell 安裝之前,請(qǐng)確保你已在系統(tǒng)上啟用了 Python 和 PIP。

$ sudo pip install ClusterShell

如何在 Linux 上使用 ClusterShell?

與其他實(shí)用程序(如 psshdsh)相比,它是直接了當(dāng)?shù)膬?yōu)秀工具。它有很多選項(xiàng)可以在遠(yuǎn)程并行執(zhí)行。

在開(kāi)始使用 clustershell 之前,請(qǐng)確保你已啟用系統(tǒng)上的無(wú)密碼登錄。

以下配置文件定義了系統(tǒng)范圍的默認(rèn)值。你不需要修改這里的任何東西。

$ cat /etc/clustershell/clush.conf

如果你想要?jiǎng)?chuàng)建一個(gè)服務(wù)器組,那也可以。默認(rèn)情況下有一些示例,請(qǐng)根據(jù)你的要求執(zhí)行相同操作。

$ cat /etc/clustershell/groups.d/local.cfg

只需按以下列格式運(yùn)行 clustershell 命令即可從給定節(jié)點(diǎn)獲取信息:

$ clush -w 192.168.1.4,192.168.1.9 cat /proc/version192.168.1.9: Linux version 4.15.0-45-generic ([email protected]) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019192.168.1.4: Linux version 3.10.0-957.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Thu Nov 8 23:39:32 UTC 2018

選項(xiàng):

  • -w: 你要運(yùn)行該命令的節(jié)點(diǎn)。

你可以使用正則表達(dá)式而不是使用完整主機(jī)名和 IP:

$ clush -w 192.168.1.[4,9] uname -r192.168.1.9: 4.15.0-45-generic192.168.1.4: 3.10.0-957.el7.x86_64

或者,如果服務(wù)器位于同一 IP 系列中,則可以使用以下格式:

$ clush -w 192.168.1.[4-9] date192.168.1.6: Mon Mar  4 21:08:29 IST 2019192.168.1.7: Mon Mar  4 21:08:29 IST 2019192.168.1.8: Mon Mar  4 21:08:29 IST 2019192.168.1.5: Mon Mar  4 09:16:30 CST 2019192.168.1.9: Mon Mar  4 21:08:29 IST 2019192.168.1.4: Mon Mar  4 09:16:30 CST 2019

clustershell 允許我們以批處理模式運(yùn)行命令。使用以下格式來(lái)實(shí)現(xiàn)此目的:

$ clush -w 192.168.1.4,192.168.1.9 -bEnter 'quit' to leave this interactive modeWorking with nodes: 192.168.1.[4,9]clush> hostnamectl---------------192.168.1.4---------------   Static hostname: CentOS7.2daygeek.com         Icon name: computer-vm           Chassis: vm        Machine ID: 002f47b82af248f5be1d67b67e03514c           Boot ID: f9b37a073c534dec8b236885e754cb56    Virtualization: kvm  Operating System: CentOS Linux 7 (Core)       CPE OS Name: cpe:/o:centos:centos:7            Kernel: Linux 3.10.0-957.el7.x86_64      Architecture: x86-64---------------192.168.1.9---------------   Static hostname: Ubuntu18         Icon name: computer-vm           Chassis: vm        Machine ID: 27f6c2febda84dc881f28fd145077187           Boot ID: f176f2eb45524d4f906d12e2b5716649    Virtualization: oracle  Operating System: Ubuntu 18.04.2 LTS            Kernel: Linux 4.15.0-45-generic      Architecture: x86-64clush> free -m---------------192.168.1.4---------------              total        used        free      shared  buff/cache   availableMem:           1838         641         217          19         978         969Swap:          2047           0        2047---------------192.168.1.9---------------              total        used        free      shared  buff/cache   availableMem:           1993         352        1067           1         573        1473Swap:          1425           0        1425clush> w---------------192.168.1.4--------------- 09:21:14 up  3:21,  3 users,  load average: 0.00, 0.01, 0.05USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHATdaygeek  :0       :0               06:02   ?xdm?   1:28   0.30s /usr/libexec/gnome-session-binary --session gnome-classicdaygeek  pts/0    :0               06:03    3:17m  0.06s  0.06s bashdaygeek  pts/1    192.168.1.6      06:03   52:26   0.10s  0.10s -bash---------------192.168.1.9--------------- 21:13:12 up  3:12,  1 user,  load average: 0.08, 0.03, 0.00USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHATdaygeek  pts/0    192.168.1.6      20:42   29:41   0.05s  0.05s -bashclush> quit

如果要在一組節(jié)點(diǎn)上運(yùn)行該命令,請(qǐng)使用以下格式:

$ clush -w @dev uptimeor$ clush -g dev uptimeor$ clush --group=dev uptime 192.168.1.9:  21:10:10 up  3:09,  1 user,  load average: 0.09, 0.03, 0.01192.168.1.4:  09:18:12 up  3:18,  3 users,  load average: 0.01, 0.02, 0.05

如果要在多個(gè)節(jié)點(diǎn)組上運(yùn)行該命令,請(qǐng)使用以下格式:

$ clush -w @dev,@uat uptimeor$ clush -g dev,uat uptimeor$ clush --group=dev,uat uptime 192.168.1.7: 07:57:19 up 59 min, 1 user, load average: 0.08, 0.03, 0.00192.168.1.9: 20:27:20 up 1:00, 1 user, load average: 0.00, 0.00, 0.00192.168.1.5: 08:57:21 up 59 min, 1 user, load average: 0.00, 0.01, 0.05

clustershell 允許我們將文件復(fù)制到遠(yuǎn)程計(jì)算機(jī)。將本地文件或目錄復(fù)制到同一個(gè)遠(yuǎn)程節(jié)點(diǎn):

$ clush -w 192.168.1.[4,9] --copy /home/daygeek/passwd-up.sh

我們可以通過(guò)運(yùn)行以下命令來(lái)驗(yàn)證它:

$ clush -w 192.168.1.[4,9] ls -lh /home/daygeek/passwd-up.sh192.168.1.4: -rwxr-xr-x. 1 daygeek daygeek 159 Mar 4 09:00 /home/daygeek/passwd-up.sh192.168.1.9: -rwxr-xr-x 1 daygeek daygeek 159 Mar 4 20:52 /home/daygeek/passwd-up.sh

將本地文件或目錄復(fù)制到不同位置的遠(yuǎn)程節(jié)點(diǎn):

$ clush -g uat --copy /home/daygeek/passwd-up.sh --dest /tmp

我們可以通過(guò)運(yùn)行以下命令來(lái)驗(yàn)證它:

$ clush --group=uat ls -lh /tmp/passwd-up.sh192.168.1.7: -rwxr-xr-x. 1 daygeek daygeek 159 Mar 6 07:44 /tmp/passwd-up.sh

將文件或目錄從遠(yuǎn)程節(jié)點(diǎn)復(fù)制到本地系統(tǒng):

$ clush -w 192.168.1.7 --rcopy /home/daygeek/Documents/magi.txt --dest /tmp

我們可以通過(guò)運(yùn)行以下命令來(lái)驗(yàn)證它:

$ ls -lh /tmp/magi.txt.192.168.1.7-rw-r--r-- 1 daygeek daygeek 35 Mar 6 20:24 /tmp/magi.txt.192.168.1.7

感謝各位的閱讀!關(guān)于“l(fā)inux中ClusterShell怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI