当linux设备上开启sonar6.2时,

supervisorctl status报如下错误:

error: <class 'xml.parsers.expat.ExpatError'>, syntax error: line 1, column 0: file: /usr/local/lib/python2.7/xmlrpclib.py line: 557

关闭sonar6.2时,报如下错误:

error: <class 'socket.error'>, [Errno 113] No route to host: file: /usr/local/lib/python2.7/socket.py line: 571

据说要关闭防火墙

/usr/sbin/sestatus查看防护墙状态

cat /etc/selinux/config查看防火墙配置

SELINUX=disabled关闭

原来是这两行注释掉了

[inet_http_server]         ; inet (TCP) server disabled by default
port=*:9002

tmd,supervisor.conf的配置太坑了,不小心就会出错

另外附一个坑点:supervisord.conf的配置里的注释符,注意分号前后的空格,注释符和配置之间要至少有一个空格


上面的方法,指标不治本,通过下面的命令,我们知道supervisord会在如下路径,寻找名字为supervisord.conf的配置文件

[etc]$ supervisord
Error: No config file found at default paths (/usr/local/etc/supervisord.conf, /usr/local/supervisord.conf, supervisord.conf, etc/supervisord.conf, /etc/supervisord.conf, /etc/supervisor/supervisord.conf); use the -c option to specify a config file at a different path
For help, use /usr/local/bin/supervisord -h

注意上面有绝对路径和相对路径

这里注意两点,一个是配置文件的名字,不能是其他名字,如果是其他名字,就需要启动时指定配置文件的路径和名字;二是路径包含在搜索路径内

1、supervisord -c /a/b/x/s/super.conf。这样启动的supervisor可以任意路径和任意的配置文件名字;

但是,执行supervisorctl的时候,也要指定配置文件的名字和路径,像:supervisor -c /a/b/x/s/super.conf status这样

如果你直接执行supervisorctl status,就会报下面的错误

error: <class 'socket.error'>, [Errno 113] No route to host: file: /usr/local/lib/python2.7/socket.py line: 571

2、另外sonar6.2会默认使用9001端口,keepalived也默认会使用9001端口,所以应该注意端口冲突问题

3、执行命令supervisord 和 supervisorctl 的时候,都会在默认路径下搜索配置文件;

error: <class 'socket.error'>, [Errno 113] No route to host: file: /usr/local/lib/python2.7/socket.py line: 571

4、再说一下上面治标的原因:启动supervisor有连个方法,一个是sock,另一个是下面的方法

supervisor.sock是以.sock 为后缀的文件而已,UNIX 系统不以后缀区分文件类型,但为了识别,通常使用后缀来标识一下。.sock文件通常是UNIX 域套接字(UNIX domain socket),即通过文件系统(而非网络地址)进行寻址和访问的套接字

上面的是Unix domain socket,是操作系统内部通信,所以只可以本地访问

下面的tcp通讯,可以远程访问和本地访问

详细区别参考:

https://en.wikipedia.org/wiki/Unix_domain_socket

https://lists.freebsd.org/pipermail/freebsd-performance/2005-February/001143.html

Unix domain socket

From Wikipedia, the free encyclopedia

A Unix domain socket or IPC socket (inter-process communication socket) is a data communications endpoint for exchanging data between processes executing on the same host operating system. Like named pipes, Unix domain sockets support transmission of a reliable stream of bytes (SOCK_STREAM, compare to TCP). In addition, they support ordered and reliable transmission of datagrams (SOCK_SEQPACKET), or unordered and unreliable transmission of datagrams (SOCK_DGRAM, compare to UDP). The Unix domain socket facility is a standard component of POSIX operating systems.

The API for Unix domain sockets is similar to that of an Internet socket, but rather than using an underlying network protocol, all communication occurs entirely within the operating system kernel. Unix domain sockets use the file system as their address name space. Processes reference Unix domain sockets as file system inodes, so two processes can communicate by opening the same socket.

In addition to sending data, processes may send file descriptors across a Unix domain socket connection using the sendmsg() and recvmsg() system calls. This allows the sending processes to grant the receiving process access to a file descriptor for which the receiving process otherwise does not have access.[1] This can be used to implement a rudimentary form of capability-based security.[2] For example, this allows the Clam AntiVirus scanner to run as an unprivileged daemon on Linux and BSD, yet still read any file sent to the daemon's Unix domain socket.

https://en.wikipedia.org/wiki/Unix_domain_socket

error: <class 'xml.parsers.expat.ExpatError'>, syntax error: line 1, column 0: file: /usr/local/lib/python2.7/xmlrpclib.py line: 557的更多相关文章

  1. error: [Errno 13] Permission denied: '/usr/local/lib/处理方法

    在ubuntu系统下使用pip 命令安装包时,出现以下类似错误提示: error: [Errno 13] Permission denied: '/usr/local/lib/python2.7/di ...

  2. mysql: symbol lookup error: /usr/local/lib/libreadline.so.6: undefined symbol: UP

    Error Symptom: when you run $mysql -u root -p command in the linux you get an error message ” mysql: ...

  3. Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/var/AYXXXXXXXXXXX.pid). 错误解决方法

    /etc/init.d/mysql start无法启动MySQL错误信息如下: ERROR! MySQL server PID file could not be found! Starting My ...

  4. mac上安装webpack报错解决方法Hit error EACCES: permission denied, mkdir '/usr/local/lib/node_modules/webpack

    node-pre-gyp WARN Using needle for node-pre-gyp https download node-pre-gyp WARN Pre-built binaries ...

  5. linux mysql -- ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid)

    转载 http://blog.csdn.net/caiyaodeng/article/details/45937183 linux 链接mysql 报错 ERROR! The server quit ...

  6. qt opencv编译错误 /usr/local/lib/libopencv_imgcodecs.so.3.1:-1: error: error adding symbols: DSO missing from command line

    转载自:http://tbfungeek.github.io/2016/03/05/Opencv-%E5%AE%89%E8%A3%85%E8%BF%87%E7%A8%8B%E4%B8%AD%E5%87 ...

  7. 报错:ERROR! The server quit without updating PID file (/usr/local/var/mysql/chenyuntekiMacBook-Air.local.pid).

    在Mac上通过brew install mysql 安装了完mysql 执行mysql.server start 报错:ERROR! The server quit without updating ...

  8. Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/data/vm10-0-0-19

    输入:service mysqld start 报错: Starting MySQL.. ERROR! The server quit without updating PID file (/usr/ ...

  9. pytesseract.pytesseract.TesseractError: (1, 'Error opening data file /usr/local/share/tessdata/chi_sim.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata"

    pytesseract.pytesseract.TesseractError: (1, 'Error opening data file /usr/local/share/tessdata/chi_s ...

随机推荐

  1. Hive2.x 版本的安装及配置 以及要注意的事项

    博主学习Hadoop学习到Hive,一开始跟着资料去安装Hive 1.x一点问题也没有,方便快捷啊,但是看了一下官方文档,上面好像说Hive 2.0修复了很多bug,那么我想,我还是用Hive2.0好 ...

  2. Oracle 入门学习笔记

    linux命令 查看linux系统版本号 uname -r 或 uname -a 查看linux发行版本号 cat /etc/redhat-release 查看linux具体版本号 cat /proc ...

  3. Java I/O学习

    转载: Java I/O学习 一.Java I/O类结构以及流的基本概念 在阅读Java I/O的实例之前我们必须清楚一些概念,我们先看看Java I/O的类结构图: Java I/O主要以流的形式进 ...

  4. 在Linux中设置UMASK值

    umask值用于设置用户在创建文件时的默认权限,当我们在系统中创建目录或文件时,目录或文件所具有的默认权限就是由umask值决定的. 对于root用户,系统默认的umask值是0022:对于普通用户, ...

  5. 用vue-wechat-title为微信动态设置标题

    1.安装插件 cnpm install vue-wechat-title --save 2.在main.js中引入 Vue.use(require('vue-wechat-title')) 3.在路由 ...

  6. CodeForces 811C Vladik and Memorable Trip

    $dp$. 记录$dp[i]$表示以位置$i$为结尾的最大值. 枚举最后一段是哪一段,假设为$[j,i]$,那么可以用$max(dp[1]...dp[j-1]) + val[j][i]$去更新$dp[ ...

  7. 洛谷P1528 切蛋糕 [搜索,二分答案]

    题目传送门 切蛋糕 题目描述 Facer今天买了n块蛋糕,不料被信息组中球球等好吃懒做的家伙发现了,没办法,只好浪费一点来填他们的嘴巴.他答应给每个人留一口,然后量了量每个人口的大小.Facer有把刀 ...

  8. dev devfs udev sysfs及关系

        Linux 下对设备的管理方式主要有/dev和sysfs两种,前者是将设备注册为设备节点放入/dev目录下,而后者是在linux2.6内核后引入的新的文件系统. ➤/dev方式 关于/dev的 ...

  9. 【BZOJ 2839】 2839: 集合计数 (容斥原理)

    2839: 集合计数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 399  Solved: 217 Description 一个有N个元素的集合有2 ...

  10. 【BZOJ 4663】 (最小割)

    4663: Hack Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 69  Solved: 26 Description 由于 FZYZ 教学区禁止使 ...