这就是我在 kubernetes 集群中运行 mongodb 客户端的方式:
kind: Pod
apiVersion: v1
metadata:
name: mongodb-client
namespace: backup
spec:
containers:
- name: mongodb-client
image: mongo:6.0.6
command: ["tail", "-f", "/dev/null"]
imagePullPolicy: IfNotPresent
然后我尝试登录数据库:
mongosh --host "mongodb-0.mongodb-headless.databases.svc.cluster.local:27017,mongodb-1.mongodb-headless.databases.svc.cluster.local:27017,mongodb-2.mongodb-headless.databases.svc.cluster.local:27017" --authenticationDatabase admin -u user
我确实得到了输出:
Connecting to: mongodb://<credentials>@mongodb-0.mongodb-headless.databases.svc.cluster.local:27017,mongodb-1.mongodb-headless.databases.svc.cluster.local:27017,mongodb-2.mongodb-headless.databases.svc.cluster.local:27017/?authSource=admin&appName=mongosh+1.10.0
Using MongoDB: 6.0.6
Using Mongosh: 1.10.0
For mongosh info see: https://docs.mongodb.com/mongodb-shell/
To help improve our products, anonymous usage data is collected and sent to MongoDB periodically (https://www.mongodb.com/legal/privacy-policy).
You can opt-out by running the disableTelemetry() command.
------
The server generated these startup warnings when booting
2023-07-11T08:35:10.635+00:00: vm.max_map_count is too low
------
为什么我会获取该vm.max_map_count is too low
值以及我必须在哪里配置该值?
答案1
这是您应该更改的操作系统旋钮。查看完整mongod
日志可能会有所帮助。
查看MongoDB 生产说明有关此配置的推荐设置的更多信息。有关为什么需要这样做的更多详细信息,请参见这里。
答案2
您可以通过将以下内容添加到/etc/sysctl.conf:
vm.max_map_count = 102400
然后重新加载这个更改:
sudo sysctl -p
(MongoDB 生产检查表页面建议使用 102400这里)