Windows 2003上 SaltStack/Salt 和 psutil 可能存在的问题及解决
今天把salt安装在windows 2003上,发现无法启动,随之而来的是一个有一个的坑,让我们一起逐个排查。
问题一(salt无法启动)
salt无法启动,错误结果如图:
解决
这种错误完全无厘头呀,本着相信salt的原则,我们看看python能不能正常启动,由此产生新的问题。
问题二(python无法启动)
启动C:\salt\bin\python,发现仍旧无法启动。这就奇怪了,我有理由相信这可能是salt自带的python的问题。那么从Python的官网下载个新包Python2.7.12看看,安装后发现官网的Python启动正常。莫非是初始化了一些环境变量?回过头来再去看salt中的python能不能用,奇迹般地好了~
解决
重新安装一次官网的Python,然后再启动salt中的python试试。
原因在于,这台windows 2003原来装过python,但可能因为后来卸载不彻底,以及中间各种软件安装影响了一些环境变量,导致salt中python无法正常启动。
问题三(缺少MSCVCR100.dll)
既然python启动问题已经搞定,那就再去启动salt-minion吧。这次开启debug模式,看看能否正常启动,启动不了也会有详细信息。执行C:\salt\salt-minion-debug.bat,结果没过多久报了这个错:
解决
既然windows 2003这位老先生明确告诉我们缺少了MSVCR100.dll这个动态链接库,那就找到它吧。这个库是vc++2010里的,所以从微软的官网下载Microsoft Visual C++ 2010 可再发行组件包 (x86), 安装完毕后,再启动salt-minion就不会报错了。
问题四(psutil中 ‘from . import _psutil_windows as cext’ 报错)
由于项目中用到psutil,自然想到要检验下salt自带的python第三方psutil能否正常使用,结果很遗憾:
这是什么鬼?不能导入的原因太模糊了吧,dll导入失败?!哪个dll?
去报错相应的目录下看看吧,也就是C:\salt\bin\lib\site-packages\psutil\下,发现要导入的_psutil_windows包其实是_psutil_windows.pyd这个链接库。导入这个链接库失败,那么就看看这个链接库到底链接了什么东西。
使用dependency walker去瞅瞅,发现是这样的问题:
解决
把缺失的这两个dll(msvcr90.dll, msjava.dll)补上?补上后仍然有问题,看下文。
问题五(At least one module has an unresolved import ...)
补上两个dll后,还显示一个错误:
根据图片中的显示,大概是iphlpapi.dll和kernel32.dll的导入或被导入出现了问题。但是这两个是系统的呀,能奈之何?
先不管这个错误,尝试运行下python,然后import psutil,看看会不会报错:
看来还是老错误,无法避免。
会不会是salt预装的psutil有问题?去C:\salt\bin\scripts\下,pip uninstall psutil卸载掉再重装试试,结果还是不行。
这就非常奇怪,突发奇想该不会是高版本的psutil不支持低版本的系统导致的吧?于是再次卸载掉psutil,装了个1.x版本试验了下,结果可以了。
解决
安装一个低版本的psutil试试,注意你用到的psutil的功能在低版本中可能不存在。
问题六(salt模块依赖的wmi可以用吗?)
从salt官网上看到关于windows 2003这样的描述:
貌似是wmi需要额外安装。
那就先看看wmi能不能正常导入吧:
很好,wmi库可以正常导入,项目要用到的wmic(第一次在cmd中输入,会自动安装)也能正常使用,皆大欢喜。
总结
在低版本的系统上,可能会有各种各样想不到的坑。再次做个记录留作备忘,也给将来可能踩坑的同学借鉴经验。
转载于:https://www.cnblogs.com/dreamlofter/p/5759074.html
Windows 2003上 SaltStack/Salt 和 psutil 可能存在的问题及解决相关推荐
- mysql创建连接失败怎么办,MYSQL在Windows 2003上连接不上的解决方法
MYSQL在Windows 2003上连接不上的解决方法 今天搭建mysql数据库,连接了半天,都提示10061错误,以为密码出了问题试了半天,压根连服务都连接不上,忙活了半个多小时,才发现是系统补丁 ...
- Teradata Expression 12 在Windows 2003上Connection Reset 问题的解决方法
Teradata Expression 12 安装在Windows 2003上( 企业版 sp2),完全按照安装手册指导安装.安装过程一切顺利.完成后重启系统.通过Teradata Service C ...
- 2003系统添加web服务器,用IIS6.0在Windows 2003上架设WEB服务器
ZDNetChina服务器站 x86服务器技巧IIS是微软推出的一套架设WEB.FTP.SMTP服务器的整合系统组件,主要捆绑在微软的Windows 2003等服务器操作系统中.Windows 200 ...
- Windows 2003上安装 iTunes iTools
转发理由:iPhone/iPad/iPod同步软件iTunes不支持 Windows 2003 系统,而iTools,91助手,同步推等工具的正常使用又需要先iTunes,调用其中的驱动程序,下面这篇 ...
- Windows 2003上Oracle通过端口映射访问连接超时的解决办法
布署在移动机房的Oracle数据库是在内网,没有分配公网IP,我需要连接上去,通过PortTunnel软件在WEB服务器上将1521端口映射到这台Oracle数据库服务器内网IP的1521端口,使用此 ...
- windows 2003 终端服务超出最大允许连接数(远程桌面,解决办法)
这是因为Windows 2003中设置了最大允许连接数限制,而你每次连接后可能没有注销而是直接关闭,导致连接数超过了最大连接数.你可以在Windows 2003 服务器上通过组策略中设置一下来解决问题 ...
- Windows 2003 上使用 Windows Live Writer
从 http://get.live.com/writer/overview 下载的 Live Writer,安装时说不支持 windows server. 从网上搜索了一下找到一个旧版的安装包. In ...
- 虚拟机Windows 2003忘记密码怎么办
背景 今天想用虚拟机做一个在Windows 2003上搭建NTP服务器的实验,在电脑里找到去年安装的Windows 2003后,不幸发现密码竟然忘记了,尝试多次都未能登录成功,删掉重新安装却又有些于心 ...
- 解决windows 2003下安装卡巴斯基
首先,在www.kaspersky.com.cn上下载最新版的kis或者kav,这里只拿kis做介绍. 下载一个orca软件,下载地址到华军上去找.因为orca只能对*.msi的软件进行编辑,而卡巴网 ...
- windows 2003添加删除windows组件中无iis应用程序服务器项的解决
文章分类:操作系统 一台windows 2003上,用的上海网管联盟的系统,在 添加删除windows组件 没有应用程序服务器,无法安装iis6. 解决方法如下: 1. 开始 -- 运行 ,输入 c: ...
最新文章
- Kaggle知识点:数据扩增方法
- 图像分类任务不用冷启动,PaddlePaddle一口气发布十大预训练模型
- MariaDB 主从复制的配置
- 如何在三个月掌握三年的经验
- 多元时代个人信息更需强有力保护
- centos 下载文件很慢_CentOS镜像下载
- 高级PHP应用程序漏洞审核技术
- 信贷系统学习总结(2)——现金贷之借贷模式与前端产品
- 基础架构之GitLab
- 安装matlab7.0步骤,Matlab 7.0 安装指导
- vue导入txt文本
- Word删除与新增页眉或页脚的横线
- 逻辑面试题:猴子搬香蕉
- 涉及到的非线性滤波算法 -- 理解
- 陈莉君 linux内核,Linux内核分析与应用 西安邮电大学(陈莉君)
- 视频基本术语介绍 码流、帧率、分辨率、I帧、带宽
- 一套靠谱的外贸型服装鞋业系统长啥样?
- 2019小程序发展趋势
- mysql grant proxy on_mysql grant配置授权
- Eclipse安装( jdk安装以及环境配置教程 )