網(wǎng)站建設(shè)難點(diǎn)是什么2024的新聞?dòng)心男?/h1>
前言
我們生產(chǎn)上公司是使用的CDP集群,一次管理員通知,Solr 組件的數(shù)據(jù)存放路徑磁盤空間不夠。
我們的solr 組件時(shí)為 Ranger 服務(wù)提供日志審計(jì)功能,
在我們更改了磁盤路徑,并重啟了Solr 組件,然后發(fā)現(xiàn)相關(guān)組件,如 HDFS
, Kafka
等會(huì)報(bào)相關(guān)的報(bào)錯(cuò)。具體如下:
報(bào)錯(cuò)
在重啟 Solr
后,有大量的404
報(bào)錯(cuò),無法找到 ranger_audit
這個(gè)索引。
由于換了新的存儲(chǔ)路徑,那么索引肯定時(shí)找不到了,于是我們決定重啟相關(guān)受影響的組件,這樣的話,可能索引就會(huì)新建。
也正是這一步,讓我們一錯(cuò)再錯(cuò)。
重啟
在重啟相關(guān)受影響組件后,發(fā)現(xiàn) 404 的報(bào)錯(cuò)是沒了,變成了 403 的報(bào)錯(cuò)。
并且新的路徑下,solr 的shard 數(shù)據(jù)也沒有生成。
報(bào)錯(cuò)如下圖:
到這里,才反應(yīng)過來,這個(gè)問題和其余的組件的關(guān)系不太,主要根源是,更改了新的路徑后,solr 集群之間,solr 與 zk 之間的聯(lián)系出了問題。
解決方案
1. 停止solr 組件
集群 -> CDP INFRA SOLR -> 操作 -> 停止。
2. 更換新的路徑
這部之前已經(jīng)操作過了,所以跳過。
3. zookeeper znode 清理
由于我們的zk 有jaas 認(rèn)證,所以需要先導(dǎo)入環(huán)境變量
export JVMFLAGS="-Djava.secury.auth.login.conf=jaas.conf"
進(jìn)入zookeeper
zookeeper-client -server `hostname -f`
刪除節(jié)點(diǎn)
rmr /solr-infra/collections/ranger_audits
rmr /solr-infra/configs/ranger_audits
4. 優(yōu)化審計(jì)索引存儲(chǔ)時(shí)間,副本數(shù)(可跳過)
這一步驟不是必須操作,只是對(duì) ranger_audit
該索引進(jìn)行一些優(yōu)化。如 TTL,副本數(shù),shard個(gè)數(shù) 等等。這個(gè)因人而異,配置符合自己集群性能才是關(guān)鍵。
修改最大shard 個(gè)數(shù)。
shard 個(gè)數(shù)
副本數(shù)
5. 啟動(dòng)Solr
集群 -> CDP INFRA SOLR
-> 操作 -> 啟動(dòng)。
6. 重啟ranger
集群 -> Ranger
-> 實(shí)例 -> ranger admin
-> 重啟。
到此,問題應(yīng)該是可以解決了,如果相關(guān)受影響組件仍在報(bào)錯(cuò)。繼續(xù)執(zhí)行第七步。
7. 進(jìn)入solr web ui 修改索引
- 跳轉(zhuǎn)
KNOX WEB UI
集群 -> KNOX
-> KNOX GATEWAY HOME
-> Solr
- 刪除collection
進(jìn)入 solr web ui
-> Collections
> Delete collection
-> 輸入要?jiǎng)h除的collection 名字
此處輸入 ranger_audit
,然后點(diǎn)擊 Delete
按鈕。
- 新增collection
Add Collection -> 內(nèi)容如下:
key | value |
---|---|
name | ranger_audit |
config set | ranger_audit |
numsShards | 4 |
replicationFact | 1 |
maxShardsPer | 10 |
此時(shí)觀察日志,發(fā)現(xiàn)已經(jīng)恢復(fù)。問題解決。