问题一:在执行如下命令安装时发生包冲突问题:

yum install Percona-Server-server-56 Percona-Server-devel-56 -y

报错如下:

centos 安装 clamv centos安装semanage_centos 安装 clamv

 因为我们安装的是mariadb数据库,网上查阅资料,发现可以不用安装Percona-Server-server和Percona-Server-devel。

问题二:在安装项目所需模块时遇到mysql_config找不到的问题

cd /mnt/OpsManage/
pip install -r requirements.txt

 报错如下图所示:

centos 安装 clamv centos安装semanage_python_02

 上面的错误是由于缺少mysql_config文件导致,查看下mysql_config文件是否存在:

find / -name mysql_config

果然没有找到mysql_config,这个是因为缺少mysql-devel,导致mysql_config丢失,安装mysql-devel即可。

yum install mysql-devel

 详细可参考:

问题三:在安装项目所需模块时遇到已经安装的包(six、dnspython)版本过低的问题。

再次执行:pip install -r requirements.txt

报错如下图所示:

centos 安装 clamv centos安装semanage_centos 安装 clamv_03

卸载原来安装的six及dnspython包并安装报错中所指定的版本或更高版本的对应包,命令如下:

pip uninstall dnspython
pip install  dnspython==1.15
pip uninstall six
pip install six==1.11.0

接下来,再次重新执行:pip install -r requirements.txt

报错如下:

centos 安装 clamv centos安装semanage_python_04

centos 安装 clamv centos安装semanage_redis_05

初步定位,是安装mysql-python(即MySQLdb)时报错(pip install mysql-python)。参考网上其他大神遇到相似报错时给出的解决办法:

1.安装python-devel包,具体参考:

但是问题并未解决,报错继续,继续定位发现是因为在编译时找不到-lmysqlclient如下图所示,继续查阅资料发现如下博客


centos 安装 clamv centos安装semanage_python_06

问题相似,且从控制台日志可知在安装时指定的lib路径是/usr/lib64/而我们全盘查找libmysqlclient.so文件发现如上文中的博客中所述,当我们安装了mysql-devel之后,关于mysql的.so文件放在/usr/lib64/新生成的mysql目录下,造成安装mysql-python包时找不到,所以我们使用命令将/usr/lib64/mysql/下的文件拷贝到/usr/lib64/下

cd /usr/lib64/mysql/
cp * ../

再次执行pip install -r requirements.txt,即可安装成功!

问题四:在安装生成数据表与管理员账户执行如下命令时:

# cd /mnt/OpsManage/
# python manage.py makemigrations OpsManage
# python manage.py makemigrations wiki
# python manage.py makemigrations orders
# python manage.py makemigrations filemanage
# python manage.py migrate
# python manage.py createsuperuser

报错如下:

File "/usr/lib/python2.7/site-packages/paramiko/ssh_gss.py", line 55, in <module>
GSS_EXCEPTIONS = (gssapi.GSSException,)
AttributeError: 'module' object has no attribute 'GSSException'

 可能是paramiko版本更新的原因,造成引入包中模块变更造成!解决办法如下:

编辑修改报错文件/usr/lib/python2.7/site-packages/paramiko/ssh_gss.py中第53,54行,将原来的:

import gssapi
GSS_EXCEPTIONS = (gssapi.error.GSSException,)

 修改为:

import gssapi.error
GSS_EXCEPTIONS = (gssapi.error.GSSException,)

问题修复,执行生成数据表及管理员账户无误! 

问题五:在配置Celery异步任务系统时遇到问题,首先是我们supervisord文件不在/usr/local/bin/目录下,而是在/usr/bin/下,如下所示:

centos 安装 clamv centos安装semanage_mysql_07

其次,在配置完成之后,通过supervisord启动celery时发现celerycam进程启动不起来,报错如下:

centos 安装 clamv centos安装semanage_mysql_08

查看celery-cam日志发现报错如下:

tail -200f /var/log/celery-celerycam.log

centos 安装 clamv centos安装semanage_mysql_09

发现是连接redis时异常!所以我们通过redis-cli测试连接redis出现异常。

redis-cli -h 192.168.11.95 -p 6379 
#查看所有keys
192.168.11.95:6379> keys *

异常如下:

centos 安装 clamv centos安装semanage_mysql_10

定位发现错误原因:默认情况下redis运行在保护模式(这种模式下,访问不需要密码),但是这种模式只允许本地回路访问。 按照异常提示给出的四种解决方法中的第二种方式修改。

1)打开redis配置文件(/usr/local/redis/redis.conf)把下面对应的注释掉

# bind 127.0.0.1

2)关闭保护模式,修改配置文件中的protected-mode参数为no

protected-mode no

(3)重启redis,重新启动redis服务,要想配置文件起效,启动的时候,必须指定配置文件。如下:

/usr/local/redis/src/redis-server ../redis.conf

查看redis-server进程是否正常启动:

# ps aux |grep redis

正常如下:

centos 安装 clamv centos安装semanage_mysql_11

(4)再次redis-cli测试连接redis,连接成功正确结果如下所示:

centos 安装 clamv centos安装semanage_redis_12

 

(5)重新通过supervisor启动celery服务进程:

#停止所有服务
# supervisorctl shutdown
#启动服务
#/usr/bin/supervisord -c /etc/supervisord.conf
# 查看进程状态
# supervisorctl status

正确结果如下所示:

centos 安装 clamv centos安装semanage_mysql_13

安装部署Opsmanage自动化运维平台详细步骤请参考:

https://blog.51cto.com/welliamcao/1920881?source=drt