当前位置:网站首页>【深入理解TcaplusDB知識庫】部署TcaplusDB Local版常見問題

【深入理解TcaplusDB知識庫】部署TcaplusDB Local版常見問題

2022-06-22 20:02:00 InfoQ

【深入理解TcaplusDB知識庫】部署TcaplusDB Local版常見問題

1. 容器啟動日志報:Failed to write channels, for shmctl

問題原因

容器的共享內存設置過小,部分Docker版本默認的容器共享內存大小為32M,而TcaplusDB容器要求的最小值是2G。

解决方案

  • 使用3.53.1最新版本的鏡像,或者更高版本的鏡像;
  • 啟動容器時通過--shm-size=2G顯示指定容器的共享內存大小。

2. 在Debian系統中啟動容器啟動失敗,容器Exit Code = 139

問題原因

​ 當前遇到的退出碼為139的場景,絕大部分為母機vsyscall設置的問題

解决方案

  • Debian設置vsyscall的方法參考http://helpcenter.onlyoffice.com/installation/mail-enabling-vsyscall.aspx;
  • Windows WSL2設置vsyscall的方法參考https://zhuanlan.zhihu.com/p/256317180

3. 容器內的SSH, PWD等命令和服務不可用,導致TcaplusDB部分功能不可用

問題原因

​ 當前這種情况大部分原因是因為母機開啟了SELinux强制安全策略,導致容器內SSH,PWD等命令或者服務不可用。直接影響 是TcaplusDB的部分依賴這些命令和服務的功能不可用,如清錶等。

解决方案

關閉母機的SELinux强制安全策略。

  • 臨時關閉。

 setenforce 0

  • 永久關閉。編輯/etc/selinux/config文件,設置SELINUX=Disabled,重啟機器。

4. 母機網段與Docker容器網段沖突,導致Client連不上服務

問題原因

​ 在一些環境下,可能存在母機網段與容器默認網段沖突的情况,Docker容器通常默認為容器網段為192.168或者172.17,當母機正好也處在這些網段時,TcaplusDB會將從母機發出的請求當作是內網請求,給Client返容器內IP作為服務IP,而在某些環境下(如WSL),母機不能直接訪問容器內IP,直接錶現為服務狀態正常,但客戶端無法連接服務端。

解决方案

​ 創建一個與母機網段不同的Docker網絡,如母機的網段為172.17,則可創建一個192.168網段的Docker網絡,並在創建容器時,指定使用該網絡。Docker網絡的創建方法如下。

​ 執行下面的命令創建Docker網絡。

sudo docker network create --driver=bridge --subnet=192.168.10.0/24 subnet_192_168_10

  • 192.168.10.0/24為Docker網絡網段及掩碼定義。
  • subnet_192_168_10為Docker網絡名,創建容器命令中--network後面帶的就是這個網絡名。


null
TcaplusDB是騰訊出品的分布式NoSQL數據庫,存儲和調度的代碼完全自研。具備緩存+落地融合架構、PB級存儲、毫秒級時延、無損水平擴展和複雜數據結構等特性。同時具備豐富的生態、便捷的遷移、極低的運維成本和五個九高可用等特點。客戶覆蓋遊戲、互聯網、政務、金融、制造和物聯網等領域。
原网站

版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/173/202206221832200182.html