반응형
MariaDB Galera 클러스터를 생성할 수 없습니다.
이미지를 구축했습니다.mariadb:10.1기본적으로 새로운 것을 추가한다.cluster.conf첫 번째 노드가 정상적으로 동작하기 시작한 후 두 번째 노드에서 다음 오류가 발생합니다.누가 디버깅 좀 도와줄래?
오류 로그 테일
2016-09-28 10:12:55 139799503415232 [ERROR] WSREP: failed to open gcomm backend connection: 110: failed to reach primary view: 110 (Connection timed out)
at gcomm/src/pc.cpp:connect():162
2016-09-28 10:12:55 139799503415232 [ERROR] WSREP: gcs/src/gcs_core.cpp:gcs_core_open():208: Failed to open backend connection: -110 (Connection timed out)
2016-09-28 10:12:55 139799503415232 [ERROR] WSREP: gcs/src/gcs.cpp:gcs_open():1380: Failed to open channel 'test_cluster' at 'gcomm://172.17.0.2,172.17.0.3,172.17.0.4': -110 (Connection timed out)
2016-09-28 10:12:55 139799503415232 [ERROR] WSREP: gcs connect failed: Connection timed out
2016-09-28 10:12:55 139799503415232 [ERROR] WSREP: wsrep::connect(gcomm://172.17.0.2,172.17.0.3,172.17.0.4) failed: 7
2016-09-28 10:12:55 139799503415232 [ERROR] Aborting
MySQL init process failed.
실행한 디버깅 절차
메모: 컨테이너의 IP 주소는 그림과 같게 되어 있습니다.
- 컨테이너 간의 네트워킹이 작동하도록 하기 위해 첫 번째 컨테이너의 mysql 인스턴스에 로그인할 수 있는 다른 컨테이너를 생성해 보았습니다.
- 이것은 결코 와는 관련이 없다.
MYSQL_HOST - 컨테이너의 메모리가 부족하지 않은지 확인하기 위해
docker stats장애가 발생한 컨테이너는 장애가 발생할 때까지 라이프 사이클 내내 미미한 142MB만을 사용하고 있었습니다.이는 허용된 총 메모리(~4GB)보다 훨씬 적은 수치입니다. - 사용하고 있다
Docker for Mac단, Cent에서도 같은 동작을 시도했습니다.OS Virtual Box와 같은 결과를 얻을 수 있습니다.Docker on Mac에 문제가 있는 것 같진 않네요.
설정
[mysqld]
user=mysql
binlog_format=ROW
bind-address=0.0.0.0
default_storage_engine=innodb
innodb_autoinc_lock_mode=2
innodb_flush_log_at_trx_commit=0
innodb_buffer_pool_size=122M
innodb_file_per_table=1
innodb_doublewrite=1
query_cache_size=0
query_cache_type=0
wsrep_on=ON
wsrep_provider=/usr/lib/libgalera_smm.so
wsrep_sst_method=rsync
컨테이너를 시작하는 단계
# bootstrap node
docker run --rm -e MYSQL_ROOT_PASSWORD=123 \
activatedgeek/mariadb:devel \
--wsrep-cluster-name=test_cluster \
--wsrep-cluster-address=gcomm://172.17.0.2,172.17.0.3,172.17.0.4 \
--wsrep-new-cluster
# add node into cluster
docker run --rm -e MYSQL_ROOT_PASSWORD=123 \
activatedgeek/mariadb:devel \
--wsrep-cluster-name=test_cluster \
--wsrep-cluster-address=gcomm://172.17.0.2,172.17.0.3,172.17.0.4
# add node into cluster
docker run --rm -e MYSQL_ROOT_PASSWORD=123 \
activatedgeek/mariadb:devel \
--wsrep-cluster-name=test_cluster \
--wsrep-cluster-address=gcomm://172.17.0.2,172.17.0.3,172.17.0.4
이 문제는 행업으로 인해 발생합니다.init process위의 설정과 CLI 인수는 정확합니다.init 프로세스가 시작되기 전에 해야 할 일은 작성 및 비우는 것뿐입니다.mysqldirectory(/var/lib/mysql디폴트).는 부트스트랩노드를 제외한 모든 노드에만 작성해야 합니다.
mkdir -p /var/lib/mysql/mysql
사용자 지정 MariaDB 이미지를 사용하고 클러스터를 생성하는 개념 증명인 사용 방법에 대해서는 샘플 MariaDB 클러스터를 참조하십시오.
컨테이너가 필요한 포트를 노출해야 합니다.
-p 3306:3306 -p 4444:4444 -p 4567:4567 -p 4568:4568
또는 그래야 한다--link (ed)함께.
언급URL : https://stackoverflow.com/questions/39744949/unable-to-create-mariadb-galera-cluster
반응형
'source' 카테고리의 다른 글
| MySQL에서 마리아DB의 순서가 잘못되었지만 수정되었습니다. (0) | 2023.01.09 |
|---|---|
| 이중 인코딩 UTF8 문자 수정 방법(utf-8 테이블) (0) | 2023.01.09 |
| ERROR 1064 (42000) (교과서 코드에서도) (0) | 2023.01.09 |
| jQuery에서 Ajax-requests와 함께 FormData 개체를 전송하려면 어떻게 해야 합니까? (0) | 2023.01.09 |
| Node.js에서 SQL 주입 방지 (0) | 2023.01.09 |