暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

patroni 服务启报错:patroni.exceptions.PatroniFatalException

原创 贾勇智 2022-01-10
4900

patroni 服务启报错:patroni.exceptions.PatroniFatalException

问题现象:

安装patroni后,人为重启操作系统后,patroni服务启动异常。

2022-01-10 15:16:57,201 INFO: Failed to import patroni.dcs.etcd
2022-01-10 15:16:57,202 INFO: Failed to import patroni.dcs.etcd3
Traceback (most recent call last):
File "/usr/local/python3.6.11/bin/patroni", line 8, in <module>
   sys.exit(main())
File "/usr/local/python3.6.11/lib/python3.6/site-packages/patroni/__init__.py", line 171, in main
   return patroni_main()
File "/usr/local/python3.6.11/lib/python3.6/site-packages/patroni/__init__.py", line 139, in patroni_main
   abstract_main(Patroni, schema)
File "/usr/local/python3.6.11/lib/python3.6/site-packages/patroni/daemon.py", line 98, in abstract_main
   controller = cls(config)
File "/usr/local/python3.6.11/lib/python3.6/site-packages/patroni/__init__.py", line 29, in __init__
   self.dcs = get_dcs(self.config)
File "/usr/local/python3.6.11/lib/python3.6/site-packages/patroni/dcs/__init__.py", line 111, in get_dcs
   Available implementations: """ + ', '.join(sorted(set(available_implementations))))
patroni.exceptions.PatroniFatalException: 'Can not find suitable configuration of distributed configuration store\nAvailable implementations: consul, exhibitor, kubernetes, raft, zookeeper'

复制

原因:

etcd与python-etcd包不可同时存在。

etcd                     2.0.2
etcd3                    0.12.0
python-etcd              0.4.
复制

解决方法:

将etcd etcd3 python-etcd包同时卸载后,重新安装python-etcd

[root@pg02 ~]# pip uninstall etcd etcd3
Found existing installation: etcd 2.0.2
Uninstalling etcd-2.0.2:
  Would remove:
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd-2.0.2-py3.6.egg-info
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd/*
  Would not remove (might be manually added):
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd/auth.py
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd/lock.py
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd/tests/__init__.py
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd/tests/integration/__init__.py
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd/tests/integration/helpers.py
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd/tests/integration/test_simple.py
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd/tests/integration/test_ssl.py
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd/tests/test_auth.py
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd/tests/unit/__init__.py
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd/tests/unit/test_client.py
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd/tests/unit/test_lock.py
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd/tests/unit/test_old_request.py
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd/tests/unit/test_request.py
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd/tests/unit/test_result.py
Proceed (Y/n)? y
  Successfully uninstalled etcd-2.0.2
Found existing installation: etcd3 0.12.0
Uninstalling etcd3-0.12.0:
  Would remove:
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd3-0.12.0-py3.6.egg-info
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd3/*
Proceed (Y/n)? y
  Successfully uninstalled etcd3-0.12.0

**[root@pg02 ~]# pip uninstall python-etcd**
Found existing installation: python-etcd 0.4.5
Uninstalling python-etcd-0.4.5:
  Would remove:
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd/auth.py
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd/lock.py
    /usr/local/python3.6.11/lib/python3.6/site-packages/etcd/tests/*
    /usr/local/python3.6.11/lib/python3.6/site-packages/python_etcd-0.4.5-py3.6.egg-info
Proceed (Y/n)? y
  Successfully uninstalled python-etcd-0.4.5
[root@pg02 test]# pip install python-etcd-0.4.5.tar.gz
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Processing ./python-etcd-0.4.5.tar.gz
  Preparing metadata (setup.py) ... done
Requirement already satisfied: urllib3>=1.7.1 in /usr/local/python3.6.11/lib/python3.6/site-packages (from python-etcd==0.4.5) (1.26.7)
Requirement already satisfied: dnspython>=1.13.0 in /usr/local/python3.6.11/lib/python3.6/site-packages (from python-etcd==0.4.5) (2.1.0)
Using legacy 'setup.py install' for python-etcd, since package 'wheel' is not installed.
Installing collected packages: python-etcd
    Running setup.py install for python-etcd ... done
Successfully installed python-etcd-0.4.5
复制

验证patroni服务:

[root@pg02 test]# systemctl status patroni
● patroni.service - Runners to orchestrate a high-availability PostgreSQL - patroni
   Loaded: loaded (/usr/lib/systemd/system/patroni.service; disabled; vendor preset: disabled)
  ** Active: active (running) since Mon 2022-01-10 21:47:28 CST; 3s ago
Main PID: 7970 (patroni)**
   CGroup: /system.slice/patroni.service
           └─7970 /usr/local/python3.6.11/bin/python3.6 /usr/local/python3.6.11/bin/patroni /etc/postgres.yml
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论