在CentOS 7计算集群中安装Tiptop软件

以实际问题为例:在计算集群中,如何为主节点安装软件,并同时为其他没有连接网络的计算节点安装该软件。以CentOS7系统安装tiptop软件为例

总体思路

在不连接互联网的计算集群环境中安装软件需要采用以下步骤:

  1. 在主节点下载软件包及其依赖

  2. 创建本地软件仓库

  3. 在计算节点配置使用该本地仓库

  4. 分发并安装软件

以下是针对Tiptop软件在CentOS 7集群上的具体实施方案:

一、在主节点下载软件包及依赖

首先在有网络连接的主节点上下载Tiptop及其所有依赖:

# 创建软件包下载目录
mkdir -p ~/tiptop_packages

# 安装下载工具
yum install -y yum-utils createrepo

# 下载tiptop及其所有依赖,但不安装
yumdownloader --resolve --destdir=~/tiptop_packages tiptop

# 或者使用repotrack(更推荐,会下载所有依赖)
repotrack -p ~/tiptop_packages tiptop

二、创建本地软件仓库

# 创建本地仓库目录
mkdir -p /opt/local_repo

# 将下载的所有包复制到本地仓库目录
cp ~/tiptop_packages/*.rpm /opt/local_repo/

# 为其创建仓库元数据
createrepo /opt/local_repo/

# 创建本地yum仓库配置文件
cat > /etc/yum.repos.d/local.repo << 'EOF'
[local]
name=Local Repository
baseurl=file:///opt/local_repo
enabled=1
gpgcheck=0
EOF

# 清理并更新yum缓存
yum clean all
yum makecache

三、为计算节点配置共享仓库

可以使用NFS共享本地仓库:

# 在主节点安装NFS服务
yum install -y nfs-utils

# 配置导出共享目录
echo "/opt/local_repo *(ro,sync,no_root_squash)" >> /etc/exports

# 启动NFS服务
systemctl enable nfs-server
systemctl start nfs-server

四、在计算节点上配置使用仓库

在所有计算节点上执行:

# 安装NFS客户端
yum install -y nfs-utils

# 创建挂载点
mkdir -p /mnt/repo

# 挂载主节点共享的仓库
mount 主节点IP:/opt/local_repo /mnt/repo

# 创建指向共享仓库的配置文件
cat > /etc/yum.repos.d/local.repo << 'EOF'
[local]
name=Local Repository
baseurl=file:///mnt/repo
enabled=1
gpgcheck=0
EOF

# 清理并更新yum缓存
yum clean all
yum makecache

五、批量安装Tiptop

方法一:使用配置好的本地仓库安装

在所有计算节点上执行:

yum install -y tiptop

方法二:使用脚本批量安装

如果不想使用NFS,也可以直接复制RPM包后本地安装:

# 创建安装脚本
cat > install_tiptop.sh << 'EOF'
#!/bin/bash
mkdir -p /tmp/tiptop_install
cp /path/to/packages/*.rpm /tmp/tiptop_install/
cd /tmp/tiptop_install/
yum localinstall -y *.rpm
cd - && rm -rf /tmp/tiptop_install
EOF

chmod +x install_tiptop.sh

方法三:使用pdsh进行批量操作

# 安装pdsh
yum install -y pdsh

# 创建主机列表文件
echo "node01 node02 node03..." > /root/hostlist

# 使用pdsh批量执行安装命令
pdsh -w ^/root/hostlist "yum install -y tiptop"

六、验证安装

在主节点和计算节点上检查Tiptop是否安装成功:

# 检查版本
tiptop -v

# 运行tiptop
tiptop

通过以上步骤,可以在不连接互联网的集群环境中成功部署Tiptop软件。这种方法同样适用于其他软件的部署。