Mysql-5

使用 ndb 引擎啟動 memecached 服務時出錯

  • April 9, 2012

我按照網際網路上的步驟安裝了 memcached 庫。現在在mysql的bin文件夾中創建了一個二進製文件

現在我執行命令 memcached 我收到這樣的錯誤

$$ root@centos1 ~ $$# /usr/local/mysql/bin/memcached E /usr/local/mysql/lib/ndb_engine.so -e “connectstring=10.10.111.111:1186;role=db_only” -vv -c 20 -u root 2012 年 2 月 24 日 15:21:06 IST NDB Memcache 5.5.19-ndb-7.2.4 開始

$$ NDB 7.2.4; MySQL 5.5.19 $$ 正在聯繫一級管理伺服器 (10.10.111.111:1186) … 失敗。無法連接到 NDB。關閉。分段故障 請幫我解決這個問題

最後我解決了這個問題,現在 memcached 服務執行正常

實際上我從中得到了2分

1)在使用具有 NoSQL 訪問權限的 memcached 時,該主機上不應執行任何 mysqld 程序

2)要啟動 Memcached 服務,我們應該為每個現有的 API 節點添加 2 個額外的 API 節點,並在添加節點後執行 ROLLING RESTART

就像我在 mysqld 程序和另一個未啟動的 2 API 節點中有 3 個 API 節點

$$ mysqld(API) $$ 3 個節點 id=4 @10.10.221.157 (mysql-5.5.19 ndb-7.2.4) id=5 (未連接,接受來自 10.10.223.174 的連接) id=6 @10.10.221.254 (mysql-5.5. 19 ndb-7.2.4) 現在為每個 api 添加 2 個節點現在狀態變為

$$ mysqld(API) $$ 9 個節點 id=4 @10.10.221.157 (mysql-5.5.19 ndb-7.2.4) id=5 (未連接,接受來自 10.10.223.174 的連接) id=6 @10.10.221.254 (mysql-5.5. 19 ndb-7.2.4) id=7(未連接,接受來自任何主機的連接)id=8(未連接,接受來自任何主機的連接)id=9(未連接,接受來自任何主機的連接)id=10(未連接,接受來自任何主機的連接) id=11(未連接,接受來自任何主機的連接) id=12(未連接,接受來自任何主機的連接) 現在執行滾動重啟現在節點狀態變為

ndb_mgm> 顯示

集群配置

$$ ndbd(NDB) $$ 2 個節點 id=2 @10.10.221.160 (mysql-5.5.19 ndb-7.2.4, Nodegroup: 0, Master) id=3 @10.10.221.254 (mysql-5.5.19 ndb-7.2.4, Nodegroup : 0) $$ ndb_mgmd(MGM) $$1 個節點 id=1 @10.12.200.117 (mysql-5.5.19 ndb-7.2.4) $$ mysqld(API) $$ 9 個節點 id=4 @10.10.221.157 (mysql-5.5.19 ndb-7.2.4) id=5 (未連接,接受來自 10.10.223.174 的連接) id=6 @10.10.221.254 (mysql-5.5. 19 ndb-7.2.4) id=7 @10.10.221.254 (mysql-5.5.19 ndb-7.2.4) id=8 @10.10.221.157 (mysql-5.5.19 ndb-7.2.4) id=9 @10.10 .221.157 (mysql-5.5.19 ndb-7.2.4) id=10 @10.10.221.254 (mysql-5.5.19 ndb-7.2.4) id=11 (未連接,接受來自任何主機的連接) id=12 (未連接,接受來自任何主機的連接) 現在使用命令 /usr/local/mysql/bin/memcached -E /usr/local/mysql/lib/ndb_engine.so -e “connectstring=10.12.200.117:1186;role=db 從 10.10.223.174 節點啟動 memcached 服務-only;debug=true” -vv -u root

現在它開始沒有任何錯誤

現在所有節點的狀態

ndb_mgm> 顯示

集群配置

$$ ndbd(NDB) $$ 2 個節點 id=2 @10.10.221.160 (mysql-5.5.19 ndb-7.2.4, Nodegroup: 0, Master) id=3 @10.10.221.254 (mysql-5.5.19 ndb-7.2.4, Nodegroup : 0) $$ ndb_mgmd(MGM) $$1 個節點 id=1 @10.12.200.117 (mysql-5.5.19 ndb-7.2.4) $$ mysqld(API) $$ 9 個節點 id=4 @10.10.221.157 (mysql-5.5.19 ndb-7.2.4) id=5 @10.10.223.174 (mysql-5.5.19 ndb-7.2.4) id=6 @10.10.221.254 (mysql-5.5.19 ndb-7.2.4) id=7 @10.10.221.254 (mysql-5.5.19 ndb-7.2.4) id=8 @10.10.221.157 (mysql-5.5.19 ndb-7.2.4) id=9 @10.10.221.157 (mysql-5.5.19 ndb-7.2.4) id=10 @10.10.221.254 (mysql-5.5.19 ndb-7.2.4) id=11 @10.10.223.174 (mysql-5.5. 19 ndb-7.2.4) id=12 @10.10.223.174 (mysql-5.5.19 ndb-7.2.4) 現在我可以從連結http://www.clusterdb.com/mysql-cluster/scalabale-persistent-ha-nosql-memcache-storage-using-mysql-cluster/試用該範例

現在它工作正常

感謝 Deepak M

確保您至少有 2 個未使用的 API 插槽(

$$ mysqld $$部分)在您的 configi.ini 文件中(並在添加它們後執行集群的滾動重啟)。然後這些插槽將被 memcached 使用。 請注意,您也可以選擇在主機上執行 mysqld 程序並將它們作為集群的一部分(可以通過 SQL 和 NoSQL 訪問相同的數據)——您只需要確保包含足夠的

$$ mysqld $$config.ini 文件中的部分,以便為 memcached 留下幾個部分。

引用自:https://dba.stackexchange.com/questions/15247