MongoDB Replica Set创建
发布时间:2023-10-21 15:45:25 所属栏目:系统 来源:
导读:第0部分 业务信息
业务名称: xyz
端口号: 28017
第1部分 准备环境
创建mongodb用户
# useradd mongodb
创建数据目录
# mkdir -pv /data1/mongodb/28017/data
# chown -R mongodb.mo
业务名称: xyz
端口号: 28017
第1部分 准备环境
创建mongodb用户
# useradd mongodb
创建数据目录
# mkdir -pv /data1/mongodb/28017/data
# chown -R mongodb.mo
第0部分 业务信息 业务名称: xyz 端口号: 28017 第1部分 准备环境 创建mongodb用户 # useradd mongodb 创建数据目录 # mkdir -pv /data1/mongodb/28017/data # chown -R mongodb.mongodb /data1/mongodb/28017/data/ 创建配置, 日志文件目录 # mkdir -pv /home/mongodb/mongodb/xyz/28017/{conf,logs,pid} 准备配置文件 # cat /home/mongodb/mongodb/xyz/28017/conf/mongodb.conf ##General options port = 28017 maxConns = 1024 logpath = /home/mongodb/mongodb/xyz/28017/logs/mongodb.log logappend = false logRotate = rename timeStampFormat = iso8601-local pidfilepath = /home/mongodb/mongodb/xyz/28017/pid/mongodb.pid #keyFile = /home/mongodb/mongodb/xyz/28017/conf/mongodb.key httpinterface = false nounixsocket = true fork = true #auth = true slowms = 100 profile = 1 ##Replication options oplogSize = 5120 ##Replica set options replSet = xyz ##Storage options storageEngine = wiredTiger dbpath = /data1/mongodb/28017/data/ directoryperdb = true journal = true ##WiredTiger options wiredTigerCacheSizeGB = 5 # chown -R mongodb.mongodb /home/mongodb/mongodb/xyz/28017/{conf,logs,pid} 第2部分 调整操作系统参数 切换到mongodb用户. # su - mongodb 启动mongodb进程. $ /usr/local/mongodb/bin/mongod --config /home/mongodb/mongodb/xyz/28017/conf/mongodb.conf 根据日志提示的WARNING, 调整操作系统参数. $ cat /home/mongodb/mongodb/xyz/28017/logs/mongodb.log 2018-11-07T17:03:40.974+0800 I CONTROL [initandlisten] 2018-11-07T17:03:40.975+0800 I CONTROL [initandlisten] ** WARNING: You are running on a NUMA machine. 2018-11-07T17:03:40.975+0800 I CONTROL [initandlisten] ** We suggest launching mongod like this to avoid performance problems: 2018-11-07T17:03:40.975+0800 I CONTROL [initandlisten] ** numactl --interleave=all mongod [other options] 2018-11-07T17:03:40.975+0800 I CONTROL [initandlisten] 2018-11-07T17:03:40.975+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2018-11-07T17:03:40.975+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2018-11-07T17:03:40.975+0800 I CONTROL [initandlisten] 2018-11-07T17:03:40.975+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. 2018-11-07T17:03:40.975+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2018-11-07T17:03:40.975+0800 I CONTROL [initandlisten] 2018-11-07T17:03:40.975+0800 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 32000 processes, 65535 files. Number of processes should be at least 32767.5 : 0.5 times number of files. 2018-11-07T17:03:40.975+0800 I CONTROL [initandlisten] 调整系统参数 # echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled # echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag # tail -n 4 /etc/security/limits.conf mongodb soft nofile 64000 mongodb hard nofile 64000 mongodb soft nproc 64000 mongodb hard nproc 64000 关闭mongodb进程. $ /usr/local/mongodb/bin/mongo --port 28017 --host localhost MongoDB shell version v3.4.3 connecting to: mongodb://localhost:28017/ MongoDB server version: 3.4.3 > use admin switched to db admin > db.shutdownServer() server should be down... 再次启动mongodb进程. $ numactl --interleave=all /usr/local/mongodb/bin/mongod --config /home/mongodb/mongodb/xyz/28017/conf/mongodb.conf 第3部分 初始化副本集 保持开启replSet, 关闭keyFile和auth参数. $ /usr/local/mongodb/bin/mongo --port 28017 --host localhost > config = {_id: "xyz", members: [{_id: 0, host: "192.168.1.157:28017"}, {_id: 1, host: "192.168.1.158:28017"}, {_id: 2, host: "192.168.1.159:28017"}]} { } > rs.initiate(config) { "ok" : 1 } 创建管理用户 xyz:PRIMARY> use admin switched to db admin xyz:PRIMARY> db.createUser({user: "root", pwd: "root_password", roles: [{role: "root", db: "admin"}]}) Successfully added user: { } 关闭mongodb进程, 准备key文件. $ echo 'L6rE59OEHWGeQAIIZHy3uXNj1cxu9lFuCJxZSejf' > /home/mongodb/mongodb/xyz/28017/conf/mongodb.key $ chmod 600 /home/mongodb/mongodb/xyz/28017/conf/mongodb.key 开启keyFile和auth参数, 启动mongodb进程, 登陆. $ /usr/local/mongodb/bin/mongo --port 28017 --host localhost --username root --password root_password --authenticationDatabase admin 第4部分 部署业务 创建业务用户 xyz:PRIMARY> use abc switched to db abc xyz:PRIMARY> db.createUser({user : "abc_user", pwd : "xyzabc", roles : [{role : "readWrite", db : "abc"}]}) Successfully added user: { } 业务用户abc_user登陆. $ /usr/local/mongodb/bin/mongo --port 28017 --host localhost --username abc_user --password xyzabc --authenticationDatabase abc xyz:PRIMARY> db test xyz:PRIMARY> use abc switched to db abc xyz:PRIMARY> db.tt.insert({"name" : "abc"}) WriteResult({ "nInserted" : 1 }) xyz:PRIMARY> show collections tt xyz:PRIMARY> db.tt.find() { "_id" : ObjectId("5be3ffb4832bb6db59e4e60f"), "name" : "abc" } (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐