美文网首页
Linux CentOS6.x 安装mongodb3.4.x

Linux CentOS6.x 安装mongodb3.4.x

作者: Dream_f5de | 来源:发表于2018-08-01 10:24 被阅读0次

一、系统及安装说明

系统:CentOS6.x_x64,mongodb-3.4.10。
mongodb官方下载地址 :
[https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.10.tgz]
(http://www.memcached.org/files/memcached-1.5.3.tar.gz)。

本次安装选择编辑yum安装。

二、配置官方yum库

1>创建yum安装库文件

修改文件mongodb-3.4.repo

vim /etc/yum.repos.d/mongodb-org-3.4.repo #创建之后可以直接使用yum安装

添加下面的内容,wq保存。

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

当设置gpgcheck=0时,gpgkey路径可以不设置

2>yum安装

#yum install -y mongodb-org

#当出现以下即为安装中

微信截图_20180801102133.png

三、自定义安装配置

1>安装成功后,数据和日志目录默认是在 /var/lib/mongo 和 /var/log/mongodb,为方便管理我们可进行自定义。以 /data/mongodb 为例

2>编辑/etc/mongod.conf

#vim /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: ``/data/mongodb/log/mongod``.log

# Where and how to store data.

storage:

dbPath: ``/data/mongodb/data

journal:

enabled: ``true

# engine:

# mmapv1:

# wiredTiger:

# how the process runs

processManagement:

fork: ``true # fork and run in background

pidFilePath: ``/var/run/mongodb/mongod``.pid ``# location of pidfile

# network interfaces

net:

port: 27017

bindIp: 127.0.0.1 ``# Listen to local interface only, comment to listen on all interfaces.

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options

#auditLog:

#snmp

3>创建目录

#mkdir -p /data/mongodb/data

#mkdir -p /data/mongodb/log

#chown mongod.mongod /data/mongodb -R #修改权限,否则mongo有可能启动不了

四、启动并测试

1>启动mongod

#service mongod start|stop|restart

2>添加到开机启动项

#chkconfig --add mongod

#chkconfig mongod on

3>登录测试

#mongo --host 127.0.0.1

MongoDB shell version v3.4.10

connecting to: mongodb:``//127``.0.0.1:27017/

MongoDB server version: 3.4.10

Server has startup warnings:

2017-12-06T10:41:30.462+0800 I STORAGE [initandlisten]

2017-12-06T10:41:30.462+0800 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine

2017-12-06T10:41:30.462+0800 I STORAGE [initandlisten] ** See http:``//dochub``.mongodb.org``/core/prodnotes-filesystem

2017-12-06T10:41:30.901+0800 I CONTROL [initandlisten]

2017-12-06T10:41:30.902+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled ``for the database.

2017-12-06T10:41:30.902+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.

2017-12-06T10:41:30.902+0800 I CONTROL [initandlisten]

2017-12-06T10:41:30.902+0800 I CONTROL [initandlisten]

2017-12-06T10:41:30.902+0800 I CONTROL [initandlisten] ** WARNING: ``/sys/kernel/mm/transparent_hugepage/enabled is ``'always'``.

2017-12-06T10:41:30.902+0800 I CONTROL [initandlisten] ** We suggest setting it to ``'never'

2017-12-06T10:41:30.902+0800 I CONTROL [initandlisten]

2017-12-06T10:41:30.902+0800 I CONTROL [initandlisten] ** WARNING: ``/sys/kernel/mm/transparent_hugepage/defrag is ``'always'``.

2017-12-06T10:41:30.902+0800 I CONTROL [initandlisten] ** We suggest setting it to ``'never'

2017-12-06T10:41:30.902+0800 I CONTROL [initandlisten]

2017-12-06T10:41:30.902+0800 I CONTROL [initandlisten] ** 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.

2017-12-06T10:41:30.902+0800 I CONTROL [initandlisten]

> show dbs

admin 0.000GB

local 0.000GB

>

五、问题排错

1> 登录mongodb数据库时,如果出现以下错误

MongoDB shell version v3.4.10

connecting to: mongodb:``//127``.0.0.1:27017

MongoDB server version: 3.4.10

Server has startup warnings:

2017-12-06T10:46:46.575+0800 I STORAGE [initandlisten]

2017-12-06T10:46:46.575+0800 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine

2017-12-06T10:46:46.575+0800 I STORAGE [initandlisten] ** See http:``//dochub``.mongodb.org``/core/prodnotes-filesystem

2017-12-06T10:46:46.955+0800 I CONTROL [initandlisten]

2017-12-06T10:46:46.955+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled ``for the database.

2017-12-06T10:46:46.955+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.

2017-12-06T10:46:46.955+0800 I CONTROL [initandlisten]

2017-12-06T10:46:46.956+0800 I CONTROL [initandlisten]

2017-12-06T10:46:46.956+0800 I CONTROL [initandlisten] ** WARNING: ``/sys/kernel/mm/transparent_hugepage/enabled is ``'always'``.

2017-12-06T10:46:46.956+0800 I CONTROL [initandlisten] ** We suggest setting it to ``'never'

2017-12-06T10:46:46.956+0800 I CONTROL [initandlisten]

2017-12-06T10:46:46.956+0800 I CONTROL [initandlisten] ** WARNING: ``/sys/kernel/mm/transparent_hugepage/defrag is ``'always'``.

2017-12-06T10:46:46.956+0800 I CONTROL [initandlisten] ** We suggest setting it to ``'never'

2017-12-06T10:46:46.956+0800 I CONTROL [initandlisten]

2017-12-06T10:46:46.956+0800 I CONTROL [initandlisten] ** 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.

环境不通解决办法也不通,详情请参照官方文档 https://docs.mongodb.com/manual/tutorial/transparent-huge-pages/

2>创建脚本

vim /etc/init.d/disable-transparent-hugepages

#!/bin/bash### BEGIN INIT INFO

# Provides: disable-transparent-hugepages

# Required-Start: $local_fs

# Required-Stop:

# X-Start-Before: mongod mongodb-mms-automation-agent

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: Disable Linux transparent huge pages

# Description: Disable Linux transparent huge pages, to improve

# database performance.

### END INIT INFO

case $1 ``in

start)

if [ -d ``/sys/kernel/mm/transparent_hugepage ]; ``then

thp_path=``/sys/kernel/mm/transparent_hugepage elif [ -d ``/sys/kernel/mm/redhat_transparent_hugepage ]; ``then

thp_path=``/sys/kernel/mm/redhat_transparent_hugepage else

return 0

fi

echo 'never' > ${thp_path}``/enabled echo 'never' > ${thp_path}``/defrag re=``'^[0-1]+$'

if [[ $(``cat ${thp_path}``/khugepaged/defrag``) =~ $re ]]

then

# RHEL 7

echo 0 > ${thp_path}``/khugepaged/defrag else

# RHEL 6

echo 'no' > ${thp_path}``/khugepaged/defrag fi

unset re ``unset thp_path ;;

esac

添加到开机服务

#chmod +x /etc/init.d/disable-transparent-hugepages

#chkconfig --add disable-transparent-hugepages

3>创建编辑 /etc/tune-profiles/no-thp/ktune.sh

vim /etc/tune-profiles/no-thp/ktune.sh

#echo "set_transparent_hugepages never" > ktune.sh

#chmod +x ktune.sh

#tuned-adm profile no-thp

#如果提示找不到命令请执行yum install tuned -y

vim /etc/security/limits.conf

添加

mongod soft nofile 64000

mongod hard nofile 64000

mongod soft nproc 32000

mongod hard nproc 32000

重启系统 sudo reboot

相关文章

网友评论

      本文标题:Linux CentOS6.x 安装mongodb3.4.x

      本文链接:https://www.haomeiwen.com/subject/fkeomftx.html