暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

mongodb standalone部署

原创 zhou 2024-03-09
429

系统准备

系统 机器IP 配置 端口
Red Hat Enterprise Linux Server release 7.4 (Maipo) 192.168.0.211 2vCPU4G 27017

ulimit 设置

cat <<EOF>>/etc/security/limits.conf
*  -      nofile 131072
*  hard   nofile 131072
*  -      nproc  192276
*  hard   nproc  192276
*  -      stack  unlimited
*  hard   core   2048000
mongo hard cpu  unlimited
mongo soft cpu  unlimited
mongo hard memlock unlimited
mongo soft memlock unlimited
mongo hard nofile 131072
mongo soft nofile 131072
mongo hard nproc 192276
mongo soft nproc 192276
mongo hard fsize unlimited
mongo soft fsize unlimited
mongo hard as unlimited
mongo soft as unlimited
EOF

selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

系统参数设置

cat > /etc/sysctl.conf << here
vm.overcommit_memory=1
#尽量不用swap虚拟内存
vm.swappiness=1
#禁用zone_reclaim_mode
vm.zone_reclaim_mode=0 
#系统Dirty ratio刷新
vm.dirty_ratio = 15
vm.dirty_background_ratio = 5
#网络设置
net.core.somaxconn = 4096
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_time = 120
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_keepalive_probes = 6
here
sysctl -p

禁用THP

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

#  vi /etc/rc.local
echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled
echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag
chmod a+x /etc/rc.local

用户添加

useradd mongo
echo "mongo" | passwd --stdin mongo


配置用户sodu权限
cat >> /etc/sudoers << here
mongo ALL=(ALL) NOPASSWD:ALL
here

安装配置

硬件检查:

cat /proc/cpuinfo

新装机器是否满足需查看

https://www.mongodb.com/docs/manual/administration/production-notes/#platform-support-notes

依赖包安装

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
cd  /etc/yum.repos.d/
sed -i 's/$releasever/7/g' *.repo
yum install -y epel-release
yum -y install yum-utils glibc
yum -y install openssl11*

下载

https://www.mongodb.com/download-center/community/releases/archive

使用V4.4版本

下载解压

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.28.tgz
tar zxvf mongodb-linux-x86_64-rhel70-4.4.28.tgz -C /usr/local/
ln -s  /usr/local/mongodb-linux-x86_64-rhel70-4.4.28  /usr/local/mongodb
vi /etc/profile
MONGO_PATH=/usr/local/mongodb/bin &&  PATH=$PATH:$MONGO_PATH
source /etc/profile

目录规划及赋权

mkdir -p /data/mongodb/standalone/{keyfile,data,log,conf}
chown -R mongo:mongo /usr/local/mongodb
chown -R mongo:mongo /data/mongodb/

配置文件

注:为了模拟变更,我们暂时不开oplog,等下次由standalone变更为replication set 才设置

#standalone
vi /data/mongodb/standalone/conf/mongo.conf 
systemLog:
  destination: file
  path: "/data/mongodb/standalone/log/config.log"
  quiet: true
  logAppend: true
  timeStampFormat: iso8601-utc
storage:
  dbPath: "/data/mongodb/standalone/data"
  directoryPerDB: true
  syncPeriodSecs: 60
  wiredTiger:
    engineConfig:
      cacheSizeGB: 1
  journal:
    enabled: true
    commitIntervalMs: 100
processManagement:
  fork: true
  pidFilePath: "/data/mongodb/standalone/conf/db.pid"
net:
  bindIp: 0.0.0.0
  port: 27017
operationProfiling:
  slowOpThresholdMs: 100
  mode: "slowOp"
security:
  authorization: "disabled"

启动

mongod -f /data/mongodb/standalone/conf/mongo.conf 

MongoDB工具包
注:4.4开始工具包需要单独安装,mongo shell也需要单独下载。

非必选项,不影响CURD操作

https://www.mongodb.com/try/download/database-tools

https://www.mongodb.com/try/download/shell

#mongo tools
wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-rhel70-x86_64-100.9.4.tgz
mkdir -p /root/tools
tar -xvf mongodb-database-tools-rhel70-x86_64-100.9.4.tgz -C /root/tools
cd /root/tools/mongodb-database-tools-rhel70-x86_64-100.9.4/bin
cp * /usr/local/mongodb-linux-x86_64-rhel70-4.4.28/bin/
# mongosh
cd
wget https://downloads.mongodb.com/compass/mongosh-2.1.5-linux-x64.tgz
mkdir -p /root/mongosh
tar -xvf mongosh-2.1.5-linux-x64.tgz  -C /root/mongosh
cd /root/mongosh/mongosh-2.1.5-linux-x64/bin
cp * /usr/local/mongodb-linux-x86_64-rhel70-4.4.28/bin/
source /etc/profile
which mongotop
which mongosh

https://downloads.mongodb.com/compass/mongosh-2.1.5-linux-x64.tgz

下载测试数据

wget https://static.crunchbase.com/data_crunchbase/bulk_export_sample.tar.gz
tar -ztvf  bulk_export_sample.tar.gz
tar -zxvf  bulk_export_sample.tar.gz
mongoimport --host 127.0.0.1:27017 --db testdb --collection category_groups --type csv --file /home/mongo/category_groups.csv --headerline

查询testdb库数据是否导入

mongosh "mongodb://192.168.0.211:27017" 
或者
mongo --host 192.168.0.211 -port 27017 
> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB
testdb  0.000GB
> use testdb
switched to db testdb
> show tables
category_groups
最后修改时间:2024-03-10 13:15:09
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论