系统准备
| 系统 | 机器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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




