溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Cassandra 集群管理-添加新節(jié)點(diǎn)

發(fā)布時(shí)間:2020-07-08 07:42:07 來源:網(wǎng)絡(luò) 閱讀:1214 作者:無鋒劍 欄目:大數(shù)據(jù)

Cassandra 集群添加節(jié)點(diǎn)

注意

本文檔只是體系文檔中的一部分,前面文檔信息詳見:
https://blog.51cto.com/michaelkang/2419518

場景:

用于節(jié)點(diǎn)擴(kuò)容,測試方法:清理(172.20.101.165)節(jié)點(diǎn)上所有數(shù)據(jù),模擬新節(jié)點(diǎn)加入;

確認(rèn)內(nèi)容:

1:使用相同版本的Cassandra
2:注意,種子節(jié)點(diǎn)不能引導(dǎo)。確保新節(jié)點(diǎn)沒有在-seeds列表中列出,不要使所有節(jié)點(diǎn)種子節(jié)點(diǎn)。
3:copy加入DC現(xiàn)有節(jié)點(diǎn)配置文件到新節(jié)點(diǎn),然后進(jìn)行配置修改,文件如下:
    在cassandra.yaml文件和 cassandra-topology.properties或 cassandra-rackdc.properties

4:注意cassandra.yaml文件中設(shè)置以下屬性 :
auto_bootstrap:
如果此選項(xiàng)已設(shè)置為false,則必須將其設(shè)置為true。該選項(xiàng)未在默認(rèn)的cassandra.yaml配置文件中列出,默認(rèn)為true。

CLUSTER_NAME:
新節(jié)點(diǎn)正在加入的群集的名稱。

listen_address/broadcast_address:
使用其他Cassandra節(jié)點(diǎn)用來連接到新節(jié)點(diǎn)的IP地址。

endpoint_snitch:
告密者Cassandra用來定位節(jié)點(diǎn)和路由請求。

num_tokens:
要分配給節(jié)點(diǎn)的vnode數(shù)量。使用與數(shù)據(jù)中心中其他節(jié)點(diǎn)上設(shè)置的相同數(shù)量的令牌。令牌范圍按比例分配,如果硬件能力不同,則為容量更高,性能更好的系統(tǒng)分配更多的令牌范圍。

allocate_tokens_for_local_replication_factor:
指定數(shù)據(jù)中心密鑰空間的復(fù)制因子(RF)。

5:加節(jié)點(diǎn)期間注意監(jiān)控流量、進(jìn)程,確保任務(wù)沒有死掉;

過程梳理:

1:安裝服務(wù);
2:同步配置文件,修改配置;
3:修改修改cassandra.ymal文件的streaming_socket_timeout_in_ms值。默認(rèn)值是3600000,即1小時(shí),改成172800000(48小時(shí)),保證時(shí)間足夠傳輸完所有數(shù)據(jù)。

--同步過程會(huì)對集群帶來很大的負(fù)載,所以盡可能關(guān)閉或限制一些功能,避免對線上業(yè)務(wù)造成影響。非必選項(xiàng),執(zhí)行命令4-5--
所有節(jié)點(diǎn)都關(guān)閉,包括新節(jié)點(diǎn)(新節(jié)點(diǎn)啟動(dòng)后關(guān)閉))
4:關(guān)閉所有節(jié)點(diǎn)的壓縮:nodetool disableautocompaction
5:停止正在執(zhí)行的壓縮:nodetool stop COMPACTION

6:限制所有節(jié)點(diǎn)數(shù)據(jù)遷移流量:nodetool setstreamthroughput 32/64/更大
--限制為32mbps/64mbps/更大, 假設(shè)你的集群有10個(gè)機(jī)器,那么你的新節(jié)點(diǎn)的流量大約是32*10mbps。你可以根據(jù)數(shù)據(jù)遷移的進(jìn)度,網(wǎng)絡(luò)壓力、節(jié)點(diǎn)壓力、磁盤壓力、完成的節(jié)點(diǎn)個(gè)數(shù),調(diào)整這個(gè)值。

7:修改數(shù)據(jù)目錄權(quán)限,如果調(diào)整了集群相關(guān)目錄文件夾配置,首先要修改權(quán)限:chown -R cassandra.cassandra /var/lib/cassandra
8:啟動(dòng)引導(dǎo)程序節(jié)點(diǎn)(新加入節(jié)點(diǎn)執(zhí)行): /etc/init.d/cassandra start
9.使用nodetool status來驗(yàn)證節(jié)點(diǎn)是否已完全引導(dǎo),并且所有其他節(jié)點(diǎn)都處于運(yùn)行狀態(tài)(UN)而不處于任何其他狀態(tài)。

10:現(xiàn)在重新開啟所有節(jié)點(diǎn)自動(dòng)壓縮:nodetool enableautocompaction
11:關(guān)閉所有節(jié)點(diǎn)數(shù)據(jù)遷移流量:nodetool setstreamthroughput 0

12:手動(dòng)清理每一臺(tái)老節(jié)點(diǎn)磁盤空間:nodetool cleanup
在新節(jié)點(diǎn)成功加入之后,對每個(gè)先前存在的節(jié)點(diǎn)運(yùn)行nodetool cleanup,花費(fèi)時(shí)間較長,推薦后臺(tái)運(yùn)行nodetool cleanup。如果你不這樣做,舊的數(shù)據(jù)仍然會(huì)在老節(jié)點(diǎn)上,占用磁盤空間。
cleanup是單線程操作,整體上影響不大,不需要關(guān)閉壓縮。
cleanup是單機(jī)行為,也不需要限制節(jié)點(diǎn)stream傳輸。
避開業(yè)務(wù)高峰時(shí)間,逐個(gè)節(jié)點(diǎn)執(zhí)行。

驗(yàn)證集群數(shù)據(jù)

[root@kubm-01 ~]# cqlsh 172.20.101.157  -u cassandra -p cassandra  

cassandra@cqlsh> SELECT * from kevin_test.t_users; 

 user_id | emails                          | first_name | last_name
---------+---------------------------------+------------+-----------
       6 | {'k6-6@gmail.com', 'k6@pt.com'} |     kevin6 |      kang
       7 | {'k7-7@gmail.com', 'k7@pt.com'} |     kevin7 |      kang
       9 | {'k9-9@gmail.com', 'k9@pt.com'} |     kevin9 |      kang
       4 | {'k4-4@gmail.com', 'k4@pt.com'} |     kevin4 |      kang
       3 | {'k3-3@gmail.com', 'k3@pt.com'} |     kevin3 |      kang
       5 | {'k5-5@gmail.com', 'k5@pt.com'} |     kevin5 |      kang
       0 | {'k0-0@gmail.com', 'k0@pt.com'} |     kevin0 |      kang
       8 | {'k8-8@gmail.com', 'k8@pt.com'} |     kevin8 |      kang
       2 | {'k2-2@gmail.com', 'k2@pt.com'} |     kevin2 |      kang
       1 | {'k1-1@gmail.com', 'k1@pt.com'} |     kevin1 |      kang

參考信息:

https://blog.csdn.net/yuanjian0814/article/details/78768889
https://www.jianshu.com/p/1dcca8f19894
http://cassandra.apache.org/doc/latest/tools/nodetool/nodetool.html?highlight=setstreamthroughput
https://zhaoyanblog.com/archives/684.html
https://blog.csdn.net/yuanjian0814/article/details/78777735
https://blog.csdn.net/iteye_19004/article/details/82648737

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI