最近在學習mysql galera,但是在啟動程序中出了一些錯誤,請大神們解惑
系統版本:centos6.4 x86_64
內核版本:Linux node1 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
ip地址:
node1:192.168.2.155
node2:192.168.2.164
node3:192.168.2.148
三臺主機都互做了ssh免密登錄
安裝:
mysql版本:mysql-5.5.37_wsrep_25.10-linux-x86_64.tar.gz
galera版本:galera-25.3.18-1.rhel6.el6.x86_64.rpm
安裝都成功,mysql主組態檔內容(三臺主機的主組態檔出了節點名稱、ip地址、wsrep_cluster_address不同外其余都一樣):
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysqld]
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_provider_options="gcache.size=300M; gcache.page_size=300M"
wsrep_cluster_name="test"
wsrep_cluster_address="gcomm://"
#wsrep_cluster_address="gcomm://node1,node2,node3"
wsrep_node_name=node1
wsrep_node_address="192.168.2.155"
wsrep_sst_method=rsync
port=3306
socket=/var/lib/mysql/mysql.sock
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
default_storage_engine=InnoDB
#innodb_buffer_pool_size=1G
#innodb_log_file_size=256M
innodb_autoinc_lock_mode=2
innodb_locks_unsafe_for_binlog=1
innodb_flush_log_at_trx_commit=0
innodb_doublewrite=0
innodb_file_per_table=1
binlog_format=ROW
log-bin=mysql-bin
server-id=101
relay-log=mysql-relay-bin
#read_only=1
log-slave-updates=1
啟動第一個節點成功,(啟動時wsrep_cluster_address="gcomm://")監聽埠:
[root@node1 ~]# netstat -anpt | grep mysql
tcp 0 0 0.0.0.0:4567 0.0.0.0:* LISTEN 1824/mysqld
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1824/mysqld
mysql資料庫中查看到的資訊(其實這個東西我看不大懂):
mysql> show status like "wsrep%";
+------------------------------+--------------------------------------+
| Variable_name | Value |
+------------------------------+--------------------------------------+
| wsrep_local_state_uuid | 506029bb-a719-11e6-bcaf-4f90af8c4c28 |
| wsrep_protocol_version | 7 |
| wsrep_last_committed | 1 |
| wsrep_replicated | 1 |
| wsrep_replicated_bytes | 286 |
| wsrep_repl_keys | 1 |
| wsrep_repl_keys_bytes | 31 |
| wsrep_repl_data_bytes | 191 |
| wsrep_repl_other_bytes | 0 |
| wsrep_received | 6 |
| wsrep_received_bytes | 818 |
| wsrep_local_commits | 0 |
| wsrep_local_cert_failures | 0 |
| wsrep_local_replays | 0 |
| wsrep_local_send_queue | 0 |
| wsrep_local_send_queue_max | 1 |
| wsrep_local_send_queue_min | 0 |
| wsrep_local_send_queue_avg | 0.000000 |
| wsrep_local_recv_queue | 0 |
| wsrep_local_recv_queue_max | 1 |
| wsrep_local_recv_queue_min | 0 |
| wsrep_local_recv_queue_avg | 0.000000 |
| wsrep_local_cached_downto | 1 |
| wsrep_flow_control_paused_ns | 0 |
| wsrep_flow_control_paused | 0.000000 |
| wsrep_flow_control_sent | 0 |
| wsrep_flow_control_recv | 0 |
| wsrep_cert_deps_distance | 1.000000 |
| wsrep_apply_oooe | 0.000000 |
| wsrep_apply_oool | 0.000000 |
| wsrep_apply_window | 1.000000 |
| wsrep_commit_oooe | 0.000000 |
| wsrep_commit_oool | 0.000000 |
| wsrep_commit_window | 1.000000 |
| wsrep_local_state | 4 |
| wsrep_local_state_comment | Synced |
| wsrep_cert_index_size | 1 |
| wsrep_causal_reads | 0 |
| wsrep_cert_interval | 0.000000 |
| wsrep_incoming_addresses | 192.168.2.155:3306 |
| wsrep_desync_count | 0 |
| wsrep_evs_delayed | |
| wsrep_evs_evict_list | |
| wsrep_evs_repl_latency | 0/0/0/0/0 |
| wsrep_evs_state | OPERATIONAL |
| wsrep_gcomm_uuid | 505fe17d-a719-11e6-9139-467e0ba39016 |
| wsrep_cluster_conf_id | 5 |
| wsrep_cluster_size | 1 |
| wsrep_cluster_state_uuid | 506029bb-a719-11e6-bcaf-4f90af8c4c28 |
| wsrep_cluster_status | Primary |
| wsrep_connected | ON |
| wsrep_local_bf_aborts | 0 |
| wsrep_local_index | 0 |
| wsrep_provider_name | Galera |
| wsrep_provider_vendor | Codership Oy <[email protected]> |
| wsrep_provider_version | 25.3.18(r3632) |
| wsrep_ready | ON |
+------------------------------+--------------------------------------+
57 rows in set (0.00 sec)
第二個節點主組態檔中的wsrep_cluster_address改為node1,node2,node3(hosts檔案已寫),啟動時報錯:
[root@node2 ~]# service mysqld start
Starting MySQL............... ERROR! The server quit without updating PID file (/usr/local/mysql/data/node2.pid).
日志檔案:
----省略----
[color=#FF0000]which: no rsync in (/usr/sbin:/sbin:/usr/local/mysql//bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/mysql/bin)
[color=#FF0000]161110 16:07:03 [ERROR] WSREP: Failed to read 'ready <addr>' from: wsrep_sst_rsync --role 'joiner' --address '192.168.2.164' --auth '' --datadir '/usr/local/mysql/data/' --defaults-file '/etc/my.cnf' --parent '4520'
Read: ''rsync' not found in PATH'
161110 16:07:03 [ERROR] WSREP: Process completed with error: wsrep_sst_rsync --role 'joiner' --address '192.168.2.164' --auth '' --datadir '/usr/local/mysql/data/' --defaults-file '/etc/my.cnf' --parent '4520': 2 (No such file or directory)
161110 16:07:03 [ERROR] WSRE[color=#FF0000]P: Failed to prepare for 'rsync' SST. Unrecoverable.
161110 16:07:03 [ERROR] Aborting
---省略---
Error in my_thread_global_end(): 1 threads didn't exit
161110 16:07:12 mysqld_safe mysqld from pid file /usr/local/mysql/data/node2.pid ended
報錯部分似乎是說rsync的問題,因為我主組態檔中使用的模式是:
wsrep_sst_method=rsync
網上的的方法很少,我也試過一些,但都沒有解決,求解
uj5u.com熱心網友回復:
先保證節點之間能夠互相登錄,比如在節點a上能用 mysql -uroot -pxxx -H bip來登錄b。如果不能,建議檢查一下mysql用戶訪問控制是不是%,防火墻有沒有放開對應的3305,4567,4568,4444埠轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/203017.html
標籤:疑難問題
