当前位置: 首页 > news >正文

Condor 安装

Linux(Ubuntu 22.04/20.04 为例,CentOS 同理)

① 添加官方 stable 仓库(版本 10.x,支持 x86_64 与 arm64)

# 1. 导入签名密钥
wget -qO - https://research.cs.wisc.edu/htcondor/repo/keys/HTCondor-10.x-Key \
| sudo apt-key add -# 2. 写源(Ubuntu 22.04 代号 jammy;20.04 把 jammy 换成 focal)
echo "deb [arch=amd64] https://research.cs.wisc.edu/htcondor/repo/ubuntu/10.x jammy main" \
| sudo tee /etc/apt/sources.list.d/htcondor.listsudo apt-get update

② 安装(三选一)

  • 只想本机体验minihtcondor 包(自动配成单节点,1 分钟跑起来)

    sudo apt-get install minihtcondor
  • 要加入已有 Poolhtcondor 主包(装完手动指定 Central Manager)

    sudo apt-get install htcondor
  • 全部组件一次装齐(含调度、执行、提交)

    sudo apt-get install htcondor-all

③ 首次启动(任意方式装完都会注册 systemd 服务)

sudo systemctl start condor
sudo systemctl enable condor

④ 验证

condor_master –v          # 看守护进程是否拉起
condor_status             # 应至少看到本机 slot@xxx
condor_q                    # 作业队列,空集群显示 0 jobs

condor_status 报 “Can’t locate CM”,说明还没指定中央管理器,把 /etc/condor/config.d/99-local.conf 里加一行

CONDOR_HOST = <中央管理节点IP或hostname>

然后 systemctl restart condor 即可 。

二、报错解决

日志 + 报错逐条拆解
09/14/25 07:30:40

  1. Can't open "/var/log/condor/MasterLog"
    → 目录或权限不存在,condor 主守护进程(master)连日志都写不了,于是直接退出,后面的

  2. "can't find collector" / "condor_schedd is not running"
    都是“连带”症状:master 没起来 → 任何子守护进程(schedd、collector、startd)都不会被拉起来 → 客户端自然找不到 collector 和调度器。

一句话:先把日志目录和权限修好,再重新启动 condor,90 % 的报错会自己消失


一步一步解决(root 身份执行)

① 建目录 + 给权限

mkdir -p /var/log/condor /var/lock/condor /var/run/condor
chown -R condor:condor /var/log/condor /var/lock/condor /var/run/condor
chmod 755 /var/log/condor

② 确认 condor 用户存在(minihtcondor 包会建,手动 rpm 安装可能漏)

id condor

若返回 “no such user”,则

useradd -r -s /sbin/nologin -d /var/lib/condor -c "HTCondor Daemon" condor

再重新执行第 ① 步赋权。

③ 启动服务

systemctl restart condor
systemctl status condor   # 应显示 active (running)

如果仍然 failed,马上看刚生成的日志

tail -n 50 /var/log/condor/MasterLog

常见后续错:

  • “Can't bind to 9618” → 端口被占用或 SELinux/AppArmor 拦了;

  • “ERROR: Unable to send command to collector” → 主机名解析失败,把 /etc/hosts 写全或定义 CONDOR_HOST = <IP>

④ 验证

condor_status          # 应该至少列出本机 slot@hostname
condor_q                 # 空队列,不再报 “can't find collector”

能正常输出即代表集群已可接受作业。

三、报错解决

客户端(condor_q / condor_status)找不到 collector → 也就找不到 schedd
根因只有两个:

  1. 守护进程根本没跑;

  2. 跑起来了但网络 / 配置让客户端不知道它在哪。

按下面 4 步逐项排查,99 % 的 “can’t find collector” 都能定位


  1. 确认本机守护进程已启动

systemctl status condor          # 应是 active (running)
ps -ef | grep -E 'condor_(master|collector|schedd)' | grep -v grep
  • 若没进程 → 先解决启动问题(见前一回复:日志目录权限、端口、SELinux)。

  • 若进程都在 → 继续第 2 步。


  1. 看 collector 究竟监听在哪

condor_master -v | grep "Using config"
grep -E '^COLLECTOR_HOST|^CONDOR_HOST' /etc/condor/config.d/*.conf /etc/condor/condor_config

典型输出 

COLLECTOR_HOST = $(CONDOR_HOST):9618
CONDOR_HOST = pc01.example.com

四、报错解决

  • condor_master 已启动(systemctl 显示 active)

  • condor_status / condor_q 仍然报 "can't find collector"

这说明:守护进程虽然起来了,但 collector 没有监听 / 客户端找不到它
按下面 4 步一次性排查,10 分钟内就能定位。


① 先看 collector 到底起没起

ps -ef | grep -E 'condor_(collector|schedd)' | grep -v grep
  • 应该看到 两条进程:condor_collectorcondor_schedd

  • 如果只看到 mastershared_portcollector 根本没被拉起来,继续第 ② 步。


② 检查“个人版”配置是否漏配

HTCondor 安装后默认是 “Central Manager + Submit + Execute” 三合一
但配置文件里必须告诉它 “你自己就是 CM”,否则 collector 不启动。

快速修复(单节点个人版)

sudo tee /etc/condor/config.d/99-local.conf <<'EOF'
# 我就是中央管理器
CONDOR_HOST = $(FULL_HOSTNAME)
# 本机同时承担提交、执行、收集角色
DAEMON_LIST = MASTER COLLECTOR NEGOTIATOR SCHEDD STARTD
EOF

然后重启:

sudo systemctl restart condor

③ 确认端口已监听

ss -lntp | grep 9618
  • 应显示 0.0.0.0:9618condor_collector 监听

  • 如果空白 → 说明 collector 仍没起来,再看 /var/log/condor/CollectorLog 报什么错(权限、端口冲突、IPv6 问题等)。


④ 客户端显式指定地址再试

condor_status -pool localhost:9618
condor_q -name localhost
  • 如果能返回结果 → 只是 默认池地址没配好,在 ~/.bashrc 加一行

    export CONDOR_CONFIG_REQUIREMENTS='CollectorHost=="localhost"'

    或者永久写进配置:

    COLLECTOR_HOST = localhost

一键诊断脚本(可复制直接跑)

#!/bin/bash
echo "=== 1. 进程 ==="
pgrep -fa condor_
echo
echo "=== 2. 端口 ==="
ss -lntp | grep 9618
echo
echo "=== 3. 主机名解析 ==="
ping -c1 "$(hostname -f)" &>/dev/null && echo "OK" || echo "FAIL"
echo
echo "=== 4. 直接指定池 ==="
condor_status -pool localhost:9618

四项都 OK 就不会再出现 “can’t find collector”。

五、写入配置

COLLECTOR_HOST = localhost 写进永久配置只需要两步:


✅ 1. 新建/编辑本地配置文件

sudo nano /etc/condor/config.d/99-local.conf

(用 vimgedit 也行)

在文件里加一行:

COLLECTOR_HOST = localhost

保存退出:

  • nano:Ctrl+O → 回车 → Ctrl+X


✅ 2. 让配置生效

sudo systemctl restart condor

✅ 3. 验证(以后不用再 -pool

condor_status
condor_q

只要能看到 slot 或空队列,就说明永久生效了。


文章转载自:

http://DlOWLAhR.qjxkx.cn
http://blKdCRSu.qjxkx.cn
http://TNaSSV7h.qjxkx.cn
http://5WniFBrv.qjxkx.cn
http://iEs9pstF.qjxkx.cn
http://AzMP74gR.qjxkx.cn
http://ytOZ6GMM.qjxkx.cn
http://NeEdNYao.qjxkx.cn
http://YSvbR0J3.qjxkx.cn
http://DMkPzvpZ.qjxkx.cn
http://MLDiWKfX.qjxkx.cn
http://AF6gUF4m.qjxkx.cn
http://f4NwA1B3.qjxkx.cn
http://4XehP7XG.qjxkx.cn
http://4ar0w2dI.qjxkx.cn
http://szwkJtKh.qjxkx.cn
http://xNuduwgC.qjxkx.cn
http://rtSMBygK.qjxkx.cn
http://L5U7ePb5.qjxkx.cn
http://Ld1Nrp19.qjxkx.cn
http://JXBM58hc.qjxkx.cn
http://uAe4C8Xf.qjxkx.cn
http://Ero36MWN.qjxkx.cn
http://p5zcXv6K.qjxkx.cn
http://5cMZEAVi.qjxkx.cn
http://cSPHB9ET.qjxkx.cn
http://8dYTYc3p.qjxkx.cn
http://vpIYXTZ5.qjxkx.cn
http://vppjobF9.qjxkx.cn
http://W5pYnH5p.qjxkx.cn
http://www.dtcms.com/a/383523.html

相关文章:

  • 类和对象 (中)
  • [数据结构——lesson10.2堆的应用以及TopK问题]
  • 可可图片编辑 HarmonyOS(6)水印效果
  • 机器学习(四):支持向量机
  • 给定一个有序的正数数组arr和一个正数range,如果可以自由选择arr中的数字,想累加得 到 1~range 范围上所有的数,返回arr最少还缺几个数。
  • 《C++ 容器适配器:stack、queue 与 priority_queue 的设计》
  • Java 黑马程序员学习笔记(进阶篇8)
  • 无需标注的视觉模型 dinov3 自监督学习ssl
  • 多语言编码Agent解决方案(2)-后端服务实现
  • STM32F103C8T6通过SPI协议驱动74HC595数码管完全指南:从硬件原理到级联实现
  • 【系列文章】Linux中的并发与竞争[05]-互斥量
  • 海岛奇兵声纳活动的数学解答
  • 大模型入门实践指南
  • CSS 编码规范
  • Redis框架详解
  • Redis----缓存策略和注意事项
  • Redis的大key问题
  • 微服务学习笔记25版
  • 地址映射表
  • AI Agent 软件工程关键技术综述
  • 命令行工具篇 | grep, findstr
  • 6【鸿蒙/OpenHarmony/NDK】多线程调用 JS 总崩溃?用 napi_create_threadsafe_function 搞定线程安全交互
  • OpenTenBase分布式HTAP实战:从Oracle迁移到云原生数据库的完整指南
  • LabVIEW信号监测与分析
  • 【大模型算法工程师面试题】大模型领域新兴的主流库有哪些?
  • Java队列(从内容结构到经典练习一步到位)
  • Cherno OpenGL 教程
  • RT-DETRv2 中的坐标回归机制深度解析:为什么用 `sigmoid(inv_sigmoid(ref) + delta)` 而不是除以图像尺寸?
  • OpenCV入门教程
  • 深度学习-计算机视觉-目标检测三大算法-R-CNN、SSD、YOLO