l3asnumanode 设置_linux numa 配置
Cassandra操作 本文檔操作都是在單數(shù)據(jù)中心,Vnode上操作
1.1. 添加節(jié)點到集群中 1.1.1. 添加非seed單節(jié)點 1.在新節(jié)點上安裝Cassandra,但不要啟動
2.修改cassandra.yaml文件:
cluster_name – 新節(jié)點加入集群名稱
listen_address/rpc_address – 新節(jié)點IP
seed_provider – 集群seeds列表
3.啟動新節(jié)點Cassandra
4.使用nodetool status驗證節(jié)點是否啟動完畢:狀態(tài)為UN
5.運(yùn)行nodetool cleanup(或OpsCenter)在集群節(jié)點上:移除臟數(shù)據(jù)(建議在低峰執(zhí)行)
1.2. 添加非seed單節(jié)點案例: 已經(jīng)存在Cassandra集群:
cluster_name = ‘Test Cluster’ xxx_address = 192.168.92.148 seed_provider = 192.168.92.148 wKiom1cppL3B4g3eAAAi2QSK7_A312.png
添加新節(jié)點192.168.92.149:
1.安裝Cassandra
參考《Cassandra教程》
wKioL1cppdWBh1E0AAAqS7BJjj8685.png
2.修改cassandra.yaml
cluster_name:
wKiom1cppRyQgL1OAAAJH-7ICJM624.png
seed_provider
wKiom1cppTGRTNDYAAAFzgKBsxI614.png
listen_address:
wKiom1cppUKSINlaAAARH9Y2M4k195.png
rpc_address:
wKioL1cppiuSXaHTAAAwhOPL0cU905.png
3.啟動Cassandra
wKiom1cppWrQEh_ZAAAHfko1RTA314.png
4.驗證新節(jié)點192.168.92.149是否啟動完畢
wKioL1cpplGjOAObAAAwiZhPyqs058.png
5.刪除192.168.92.148上的臟數(shù)據(jù)
wKioL1cppnDRvX69AAAJU_XNzH8484.png
或者
wKiom1cppa6zkjcMAAEQ_CWmkCk571.png
1.1.3. 添加非seed多個節(jié)點 步驟參考1.1.1,唯一不同點步驟3,啟動Cassandra需要同時啟動,避免數(shù)據(jù)多次遷移。
wKiom1cppcXgG_yVAAATIyr-29o972.png
wKioL1cppqqx_7fCAAAJIH1hzKU774.png
1.1.4. 添加seed節(jié)點 由于seed需要修改cassandra.yaml文件,所以需要重啟所有節(jié)點
1.先將seed作為非seed節(jié)點安裝啟動,完成數(shù)據(jù)遷移操作
步驟參考1.1.1
2.修改所有節(jié)點的cassandra.yaml文件,添加seed
3.重啟所有節(jié)點
1.2. 替換一個dead節(jié)點 由于一些硬盤損壞等原因,需要執(zhí)行替換dead節(jié)點
1.確保dead節(jié)點狀態(tài)為DN,使用nodetool status:
wKioL1cppsGzufqHAADpeBCNoHM141.png
注意Address需要在下面步驟用到
2.修改新節(jié)點cassandra.yaml文件:參考1.1.1
3.啟動新節(jié)點,使用replace_address選項:
$ sudo bin/cassandra -Dcassandra.replace_address=address_of_dead_node
刪除節(jié)點:參考1.4(建議72小時之后操作,確保gossip刪除掉了老節(jié)點)
1.3. 替換一個running節(jié)點 由于升級新硬件等原因,需要使用新節(jié)點替換
添加新節(jié)點到集群中,參考步驟1.1.1
確保替換running節(jié)點狀態(tài)為UN,使用nodetoolstatus:
wKiom1cpphiDrWPlAAA1B_i8fJk015.png
4.刪除running節(jié)點,參考1.4
1.4. 刪除節(jié)點 1.4.1. 刪除UN狀態(tài)節(jié)點 運(yùn)行nodetooldecommission刪除UN節(jié)點
wKioL1cppv_j7ZivAAAH3iGF5ks849.png
或者:
wKiom1cppjmTCRaaAAE-5vBVfQI416.png
1.4.2. 刪除DN狀態(tài)節(jié)點 運(yùn)行nodetoolremovenode命令
wKiom1cppkrQRrCpAAAItR3PQ6g995.png
注意 如果以上步驟無法刪除,可能是由于節(jié)點存在臟數(shù)據(jù),請運(yùn)行nodetool assassinate,強(qiáng)制刪除
1.5. 修改ReplicationFactor 1.5.1. ReplicationFactor減少 運(yùn)行nodetool cleanup,刪除臟數(shù)據(jù)
或者:
wKioL1cpp0Situ8oAAEQ_GnCSZU529.png
1.5.2. ReplicationFactor增加 運(yùn)行nodetool repair,遷移數(shù)據(jù)
或者:
wKioL1cpp2bw3WA-AAEwA_ieu7E092.png
Cassandra優(yōu)化 2.1. 安裝前配置建議 2.1.1. 安裝jemalloc jemalloc適合多線程下內(nèi)存分配管理 wget http://www.canonware.com/download/jemalloc/jemalloc-3.6.0.tar.bz2 tar xjf jemalloc-3.6.0.tar.bz2 cd jemalloc-3.6.0 ./configure make &&make install echo '/usr/local/lib'>/etc/ld.so.conf.d/local.conf ldconfig wKioL1cpp5HyAG8oAAA3jpQPa8Y101.png
2.1.2. 安裝NTP (略) 2.1.3. Commit log和data目錄在獨立硬盤 wKioL1cpp6PyIWveAAAvC7KYWAI807.png
wKiom1cppt2gKIqAAAAhpSf2WaI010.png
2.1.4. 硬盤類型 硬盤類型
SSD(微秒)
SAS(毫秒)
SATA(秒)
延遲
100~120
8~40
15
2.1.5. Linux優(yōu)化 1.文件操作符
/etc/security/limits.conf
nofile 65535
memlock unlimited – nofile 32768 – as unlimited /etc/security/limits.d/90-nproc.conf
nproc 32768
2.Swap
/etc/sysctl.conf
vm.max_map_count = 131072 #最大限度使用物理內(nèi)存 vm.swappiness = 0 使之生效
sysctl -p
永久關(guān)閉swap
swapoff –a /etc/fstab:注釋掉swap
wKiom1cppyKA6sJrAAAzLjQpz9o105.png
3.NUMA
echo 0 > /proc/sys/vm/zone_reclaim_mode 4.文件系統(tǒng)類型
EXT4 2.1.6. 磁盤陣列RAID優(yōu)化 使用高效性能RAID0 sudo blockdev --setra 128 /dev/ 2.1.7. cassandra-evn.sh配置建議 JVM配置在cassandra-evn.sh中
MAX_HEAP_SIZE
生產(chǎn)環(huán)境建議8G
wKiom1cpp1GwzHp0AACEXhULvLs062.png
HEAP_NEWSIZE
一般設(shè)置為MAX_HEAP_SIZE的1/4
添加cassandra壓縮線程級別,減少其資源占用
-Dcassandra.compaction.priority=1 打開JVM壓縮,減少內(nèi)存占用,適用于64位JVM
-XX:+UseCompressedOops wKiom1cpp4KxPqHZAABZY1Ttqvc623.png
2.1.8. cassandra.yaml配置建議 concurrent_reads:16 * number_of_drives concurrent_counter_writes:16 * number_of_drives concurrent_writes:8 * number_of_cores #使用Memory Mapped File IO,性能超過Standard IO,64位 disk_access_mode: mmap #write性能提升5% memtable_allocation_type: offheap_objects
2.2. 安裝后監(jiān)控——定位——優(yōu)化 2.2.1. nodetool tpstats 線程池使用統(tǒng)計,看是否有積壓線程
wKiom1cpp6nTmTMAAABUQAaTpeo434.png
或者使用OpsCenter
wKioL1cpqJCz6-lvAAA-lJo_EU0610.png
wKioL1cpqKWDALVwAAAmDlC-FsU281.png
2.2.2. Read Requests/Write Requests 結(jié)合CPU和Disk使用監(jiān)控,來判斷系統(tǒng)每秒可以支持的操作數(shù)量
wKiom1cpp_DQtQE8AABRdkfpp3w679.png
wKioL1cpqMbC1TDwAAA-wD4PguY526.png
2.2.3. total Memtable size 與內(nèi)存使用比較,確保大的memtable不會導(dǎo)致內(nèi)存競爭,大的memtable有利于寫多讀少情況
wKioL1cpqOKCHLMgAAAk_7lutxM979.png
2.2.4. SSTable count 確保sstablecount比較低(個位數(shù)),每次讀操作會檢查所有sstable,太多的sstable影響read性能
wKioL1cpqPaDs7LMAAAncf0Pt6g071.png
2.2.5. total bytes compacted 確保不會發(fā)生頻繁操作
wKioL1cpqQiwB3gFAAA_LtjQpYs529.png
2.2.6. read latency/write latency 確保延遲在可接受范圍之內(nèi),不包含網(wǎng)絡(luò)延遲
wKioL1cpqSPCdxQWAAAnjLcjGm4907.png
wKiom1cpqE6TT1WAAAAnQwgF-7o431.png
出問題后定位
writelatency寫響應(yīng)平均時長(以毫秒為單位)。依賴于consistency level和replication factor,也包含了寫replicas的網(wǎng)絡(luò)延遲
read latency受到硬盤,網(wǎng)絡(luò)和應(yīng)用程序讀的方式等影響。比如,使用二級索引,讀請求數(shù)據(jù)大小,client需要的consistencylevel都將影響readlatency。I/O的爭用也會增加read latency。當(dāng)SSTables有很多碎片,compaction跟不上寫負(fù)載則讀也會變慢。
2.2.7. partition size 監(jiān)控表分區(qū)大小,確保max不超過100M
wKiom1cpqG2zVpQaAAAl8484Yio823.png
2.2.8. cell count 監(jiān)控表cell count,確保不超過20億
wKioL1cpqVeCp-SOAAAkXqDKpLU110.png
2.2.9. write Read active 讀寫請求數(shù)
wKioL1cpqWnjxZXkAAAqG5kF0pA383.png
2.2.10. OS系統(tǒng)監(jiān)控 監(jiān)控CPU、Memory、Disk的使用率、飽和度。
wKioL1cpqYzy_ASAAAAhDAPQE1U728.png
wKiom1cpqLjjAFHLAAAlkQpGBhY571.png
wKioL1cpqY3QeNSrAAAhZsQei-k449.png 轉(zhuǎn)載于:https://blog.51cto.com/eric100/1770036
總結(jié)
以上是生活随笔為你收集整理的l3asnumanode 设置_linux numa 配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 把百度网站设为首页_大仙SEO:如何解决
- 下一篇: c语言 已知某系统在通信联络中,数据结构