mongodb 编译安装

编译安装mongodb:

# 关闭seliinux

setenforce 0

 

# 安装支持包

centos7

    yum install cyrus-sasl cyrus-sasl-gssapi cyrus-sasl-plain krb5-libs libcurl libpcap lm_sensors-libs net-snmp net-snmp-agent-libs openldap openssl rpm-libs tcp_wrappers-libs

centos6:

    yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-gssapi krb5-libs libcurl libpcap net-snmp openldap openssl

# 添加管理用户

groupadd mongo

useradd -m -g mongo mongo

echo "mongo" | passwd mongo --stdin

# 禁止开启大页内存

echo never > /sys/kernel/mm/transparent_hugepage/enabled

echo never > /sys/kernel/mm/transparent_hugepage/defrag

# 配置文件安全参数

cat >> /etc/security/limits.conf << end

# End of file

* hard nofile 102400

* soft nofile 102400

* hard nproc  65536

* soft nproc  65536

mongod  soft  nofile  64000

mongod  hard  nofile  64000

mongod  soft  nproc  32000

mongod  hard  nproc  32000

end

# 修改文件相关的安全参数

cat /etc/security/limits.d/20-nproc.conf

* soft nproc 4096

root soft nproc unlimited

加大到:

* soft  nproc  65535

 

# 内存管理工具

yum -y install numactl

 

# 编辑mong管理账户的环境变量

su - mongo

vi .bash_profile

PATH=/home/mongo/mongodb/bin:$PATH:$HOME/.local/bin:$HOME/bin

export PATH

ulimit -f unlimited -t unlimited -v unlimited -n 64000 -u 64000

source .bash_profile

# rz 放置已经下载好的mongodb安装包 直接下载时间会比较长

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

rz mongodb-linux******.tgz

tar -xvf mongodb-linux-x86_64-4.0.5.tgz

# 默认最后的目录名称为mongodb,不能修改,变量中有调用

mv mongodb-linux-x86_64-4.0.5 mongodb

# 创建对应的专用目录

mkdir key

mkdir scripts

mkdir cron

mkdir conf

mkdir logs

mkdir data

# 生成加密key 放到对应的安全目录下

openssl rand -base64 512 > key/mongodb.key

chmod 600 key/mongodb.key

 

# 编辑启动脚本

vi scripts/mongodb_start.sh

#!/bin/bash

numactl --interleave=all /home/mongo/mongodb/bin/mongod -f /home/mongo/conf/mongodb.conf > /dev/null 2>&1

 

# 编辑配置文件

# vi conf/mongodb.conf 对应的 ip port 需要进行修改 关闭安全认证选项

###日志
systemLog:
 destination: file
 path: /home/mongo/logs/mongodb.log
 logAppend: true
 
### 存储引擎 
storage:
##journal配置
 journal:
  enabled: true
  
##数据文件
 dbPath: /home/mongo/data/
##是否一个库一个文件夹
 directoryPerDB: true
 
##数据引擎
 engine: wiredTiger
 
##WT引擎配置
 wiredTiger:
  engineConfig:
  
##WT最大使用cache(根据服务器实际情况调节)
   cacheSizeGB: 1
   
##是否将索引也按数据库名单独存储
   directoryForIndexes: true
   
##表压缩配置
  collectionConfig:
   blockCompressor: zlib
   
##索引配置
  indexConfig:
   prefixCompression: true
   
##端口配置
net:
 bindIp: 172.19.58.31
 port: 27017

processManagement:
 fork: true

replication:
##oplog大小
 oplogSizeMB: 2048
##复制集名称
 replSetName: rs1

##分片配置
#sharding:
##分片角色
# clusterRole: shardsvr

security: 
 keyFile: /home/mongo/key/mongodb.key 
 transitionToAuth: false
 authorization: enabled

# 启动 mongodb:

sh sh/mongodb_start.sh

 

# 创建管理用户后,打开配置中的认证安全选项,再次重启

security:

keyFile: /home/mongo/key/mongodb.key

transitionToAuth: false

authorization: enabled

 

# 检查mongodb的状态

ps -afe|grep -i mongo

cat logs/mongod.log

#进入mongodb进行操作

mongo 10.50.28.193:27107

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值