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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
TA的专栏
热门文章
PostgreSQL 12.8 详解命令pg_rewind
2021-10-29 6966浏览
[译] Postgresql 清理更新频繁的表
2022-04-12 6312浏览
patroni 报错问题处理:CRITICAL: system ID mismatch, node pgsql_node1 belongs to a different cluster: 7052280560147471869 != 7052284163
2022-01-12 5138浏览
数据库短连接风暴触发oracle bug 32164034
2021-11-18 4633浏览
PostgreSQL扩展:pg_pathman,pg_partman 分区表维护
2022-10-02 3558浏览
目录