代码编织梦想

系统优化:

解决方案
前两个warning
WARNING: /sys/kernel/mm/transparent_hugepage/enabled is ‘always’.We suggest setting it to ‘never’ 
WARNING: /sys/kernel/mm/transparent_hugepage/defrag is ‘always’.We suggest setting it to ‘never’ 
WARNING: soft rlimits too low. rlimits set to 1024 processes, 65535 files. Number of processes should be at least 32767.5 : 0.5 times number of files. 

sudo echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
sudo echo "never" >  /sys/kernel/mm/transparent_hugepage/defrag

第三个warning
vim /etc/security/limits.conf
添加一下几行
mongod  soft  nofile  64000
mongod  hard  nofile  64000
mongod  soft  nproc  32000
mongod  hard  nproc  32000

问题:
 The server generated these startup warnings when booting
   2023-01-31T10:46:31.604+08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted

解决方案如下:

一、创建管理员

use admin
db.createUser(
{
user: "root", //用户名
pwd: "123.com", //密码
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] //权限
}
)

二,修改配置文件

添加安全选项

security:
  authorization: enabled


三、重启MongoDB服务器

systemctl restart mongod

连接并认证
mongosh 登录后进行验证

test> use admin

admin> db.auth
db.auth

admin> db.auth('root','123.com')
{ ok: 1 }
admin>

mongo --port 27017 -u "root" -p "123.com" --authenticationDatabase "admin"
1
添加额外权限用户

use test
db.createUser(
{
user: "tester",
pwd: "123",
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "reporting" } ]
}
)
mongo --port 27017 -u "myTester" -p "xyz123" --authenticationDatabase "test"

MongoDB更新了,使用mongoose也不能简单的建立连接了
必须要添加必要参数

var mongoose = require('mongoose');
var db = mongoose.createConnection('localhost', 'test', 27017, {user: 'tester', pass: '123'});


问题3:
2023-01-31T10:46:31.605+08:00: vm.max_map_count is too low

解决
主要问题就是:Linux Distro Virtual Memory Areas 默认的vm.max_map_count值是65530,太小不足以支撑ELK的运行。需要将该值增大到至少262144。

方法一
进入到你所使用的WSL 2 distro中(本人使用的是Ubuntu 20)

以管理员身份进入
~$ sudo -i
1
编辑sysctl.conf,增加参数
~$ vim /etc/sysctl.conf (需要是root账户)

~$ vm.max_map_count=262144 (文件最后添加一行)
重启
~$ sysctl -p (重启生效)
1

yum 安装

#more /etc/yum.repos.d/mongodb-org-6.repo
[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc

yum install mongodb-org -y


单实例基础配置文件
[root@VM-24-6-centos ~]# more /etc/mongod.conf
#####################################################################
# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /app/mongodb/27017/log/mongod.log

# Where and how to store data.
storage:
  dbPath: /app/mongodb/27017/data
  journal:
    enabled: true
#  engine:
#  wiredTiger:

# how the process runs
processManagement:
  fork: true  # fork and run in background
  pidFilePath: /app/mongodb/27017/tmp/mongod.pid  # location of pidfile
  timeZoneInfo: /usr/share/zoneinfo

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.


#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options

#auditLog:

#snmp:

##########################################################################################################################################

使用systemctl 管理mongod

more /usr/lib/systemd/system/mongod.server

[root@VM-24-6-centos ~]# more /usr/lib/systemd/system/mongod.service
[Unit]
Description=MongoDB Database Server
Documentation=https://docs.mongodb.org/manual
After=network-online.target
Wants=network-online.target

[Service]
User=mongod
Group=mongod
Environment="OPTIONS=-f /etc/mongod.conf"
#EnvironmentFile=-/etc/sysconfig/mongod
ExecStart=/usr/bin/mongod $OPTIONS
ExecStartPre=/usr/bin/mkdir -p /app/mongodb/27017
ExecStartPre=/usr/bin/chown mongod:mongod /app/mongodb/27017
ExecStartPre=/usr/bin/chmod 0755 /app/mongodb/27017
PermissionsStartOnly=true
PIDFile=/app/mongodb/27017/tmp/mongod.pid
Type=forking
# file size
LimitFSIZE=infinity
# cpu time
LimitCPU=infinity
# virtual memory size
LimitAS=infinity
# open files
LimitNOFILE=64000
# processes/threads
LimitNPROC=64000
# locked memory
LimitMEMLOCK=infinity
# total threads (user+kernel)
TasksMax=infinity
TasksAccounting=false
# Recommended limits for mongod as specified in
# https://docs.mongodb.com/manual/reference/ulimit/#recommended-ulimit-settings

[Install]
WantedBy=multi-user.target


修改mongod.service文件中的相关目录参数与mongod.conf 中的设置的目录相识

报错排查:

{"t":{"$date":"2023-01-31T10:42:07.856+08:00"},"s":"E",  "c":"NETWORK",  "id":23024,   "ctx":"initandlisten","msg":"Failed to unlink socket file","attr":{"path":"/t
mp/mongodb-27017.sock","error":"Operation not permitted"}}


修改/tmp/mongodb-27017.sock 的属组授权给mongod.mongod
chown mongod.mongod /tmp/mongodb-27017.sock


使用非默认存储路径时需要给数据路径授权

chown mongod.mongod  /app/mongodb/ -R 


卸载mongodb 

systemctl stop mongod

删除安装包
yum erase $(rpm -qa | grep mongodb-org )

删除数据目录

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo

二、使用tar包进行安装
2.1  安装依赖包
yum install libcurl openssl  xz-libs  -y

下载地址
https://www.mongodb.com/try/download/community
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-6.0.4.tgz

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-6.0.4.tgz

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/pang_2899/article/details/128817635

坑爹的mongodb异步驱动(mongodb-async-driver)_xdstuhq的博客-爱代码爱编程_mongodb 异步驱动

描述下心塞的经历。。。。。 开始: 一直以来mongodb的同步驱动mongo-java-driver,为了提高性能,WriteConcern设置成了NORMAL模式(3.0以后更名为UNACKNOWLEGE),这意味着驱动把数据写入socket就立马返回成功,mongodb端有任何异常是捕获不到的,也有人称之为“fire and for

ubuntu16.04安装mongodb及错误修正_yuheng_xu的博客-爱代码爱编程

1.安装 MongoDB。 1.为软件包管理系统导入公钥。 Ubuntu 软件包管理工具为了保证软件包的一致性和可靠性需要用 GPG 密钥检验软件包。使用下列命令导入 MongoDB 的 GPG 密钥 ( MongoDB public GPG Key http://docs.mongodb.org/10gen-gpg-key.asc)_: su

linux下mongodb非正常关闭启动异常解决方法_it码客的博客-爱代码爱编程

1、将配置信息写入一个文件中 vim mongo.conf 里面写如下内容: dbpath=/usr/local/mongodb/data/ logpath=/usr/local/mongodb/logs/mongodb.

windows下mongodb安装及错误解决方法_xyx107的博客-爱代码爱编程

1.安装MongoDB:    下载zip包无需安装,下载msi需要安装 配置环境变量:将bin目录复制到环境变量中,这样就可以全局使用mongod命令新建data文件夹里面新建db文件夹,logs文件夹(创建mongo.log)bin目录下打开命令行,指定保存路径:mongod --auth --dbpath F:....../db (加上auth参

Centos离线安装mongodb-爱代码爱编程

以安装 mongodb-linux-x86_64-3.6.3.tgz 为例, 下载地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.3.tgz 1.上传 mongodb-linux-x86_64-3.6.3.tgz 到 /mnt/file_temp文件夹下并解压 tar -xvf

Windows下MongoDB下载,安装和初级使用-爱代码爱编程

MongoDB下载,安装和初级使用 一.官网下载链接 二.安装步骤: 这里注意点击Custom进行自定义配置,选择Complete选项则会默认安装GUI,后期安装时进度条会卡住 这里这里将默认Install MongoDB as a Service取消掉,点击Next下一步即可 默认勾选Install MongoDB Compass时记得取消勾

使用mongodb-driver jar包出现的问题-爱代码爱编程

点击进入我的个人博客 使用mongodb-driver jar包出现的异常: java.lang.NoSuchMethodError: com.mongodb.internal.operation.SyncOperations.<init>(Lcom/mongodb/MongoNamespace;Ljava/lang/Class;Lcom/

mongodb java异常_MongoDB-Java驱动程序:插入失败时捕获异常-爱代码爱编程

我正在做一个非常基本的插件,如下所示: try { DB mongoDb = _mongo.getDB(_databaseName); DBCollection collection = mongoDb.getCollection(_collectionName); collection.insert(myBasicDBObject); }

mysql --- mongodb --- nginx 知识点总结-爱代码爱编程

文章目录 ulimit -SHn 65535 # 临时设置文件描述符大小 进程最大打开文件柄数 还有socket最大连接数, 等同配置 nofile ulimit -SHu 65535 # 临时设置用户最大进程数 ulimit -a # 查看 /etc/security/limits.co

linux 安装mongodb-爱代码爱编程

1、下载 MongoDB 源码下载地址:https://www.mongodb.com/download-center#community wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1804-5.0.5.tgz # 下载 tar -zxvf mongodb-l

MacOs docker容器中 tmp/mongodb-27017.sock 怎么删除?-爱代码爱编程

macOS下,mongodb数据库异常关闭,容器无法正常启动。 看日制发现如下情况。 百度查找关键字得知,删除mongodb-27017.sock即可。 难点:建立容器时没有指定宿主机文件夹,而且 容器不能正常启动,无法通过docker exec 进入容器内部,无法执行 rm -f 命令。无法直接删除文件。 有说Mac下执行“screen ~/L

mongodb的索引操作-爱代码爱编程

Mongodb的索引操作 学习目标 掌握 mongodb索引的创建,删除操作掌握 mongodb查看索引的方法掌握 mongodb创建唯一索引的方法 1. 为什么mongdb需要创建索引 加快查询速度进行数据的去