Mongodb安装(Centos 6.4 32位)

在32位的centos上安装32位的mongodb,较于在64位的centos上安装64位的mongodb会麻烦些,现将安装过程记录如下:

我的32位 Centos6.4是新搭建的。安装Mongodb步骤如下:

1、上传32位的mongodb-linux-i686-3.2.3.gz安装包,使用rz命令上传时,报如下信息:

 Mongodb安装(Centos 6.4 32位)

[root@Linz yum.repos.d]# yum -y install lrzsz

Loaded plugins: fastestmirror, refresh-packagekit

解决方法:

步骤1、

vi /etc/yum/pluginconf.d/fastestmirror.conf
[main]
enabled=0 //把1改为0
verbose=0
socket_timeout=3
hostfilepath=/var/cache/yum/timedhosts.txt
maxhostfileage=10
maxthreads=15
#exclude=.gov, facebook

步骤2、

#vi /etc/yum.conf

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1 #将plugins的值修改为0
installonly_limit=5

修改好配置后:

yum –y install lrzsz

rz上传mongodb文件

2、在/usr/local目录下创建一个mongodb文件夹,然后把mongodb的安装包解压到mongodb文件中

3、在第二步创建的mongodb目录中:

创建一个存放数据的文件夹data和日志文件logs
cd /usr/local/mongodb
mkdir data
touch logs

4、启动mongodb

/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend  --port=27017 --fork

在安装过程中,出现了一些错误,记录如下:

当第1,2,3步完成后,执行第4步启动mongodb的操作,提示如下图所示错误:

Mongodb安装(Centos 6.4 32位)

第一反应是用户有没有执行的权限,查看当前用户信息:

Mongodb安装(Centos 6.4 32位)

没发现异常,再次反应是不是文件没有执行的权限:

Mongodb安装(Centos 6.4 32位)

查看64位还是32位:

getconf LONG_BIT

由此得知下载的mongodb位数和系统位数不对

下载32位的mongodb,再次重复上述步骤1到4,在进行第4步操作的时候,出现如下图所示错误:

Mongodb安装(Centos 6.4 32位)

 调整启动命令,如下:

 Mongodb安装(Centos 6.4 32位)

 再次调整启动命令,如下:

 Mongodb安装(Centos 6.4 32位)

 /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --journal --storageEngine=mmapv1 --logpath=/usr/local/mongodb/logs --logappend --port=27017 --fork

常用的启动参数:
  --dbpath的意思是指定存储数据的文件夹
  --logpath的意思是指定日志存储文件
  --logappend的意思是日志以增加方式产生
  --port指定端口,如果不写的话,默认是27017
  --fork 代表后台运行

查看系统中mongodb的进程:

Mongodb安装(Centos 6.4 32位)

 在/usr/local/mongodb/bin这个目录下执行mongo可执行文件,如下图:

 Mongodb安装(Centos 6.4 32位)

至此,mongodb安装启动成功。

5、使用MongoChef连接虚拟机上的mongodb,出现如下错误:

 Mongodb安装(Centos 6.4 32位)

远程连接mongodb时,27017端口连接不上的解决办法

1、mongodb的配置文件中的bind_ip 默认为127.0.0.1,默认只有本机可以连接。

此时,需要将bind_ip配置为0.0.0.0,表示接受任何IP的连接,这一步是关键。

2、防火墙阻止了27017端口。

这一步要根据操作系统来决定如何操作,我使用的是CentOS 6.4:

关闭虚拟机防火墙:
关闭命令:service iptables stop
永久关闭防火墙:chkconfig iptables off
两个命令同时运行,运行完成后,查看防火墙状态
service iptables status

Mongodb安装(Centos 6.4 32位)

再次尝试使用mongochef连接虚拟机上的mongodb:

Mongodb安装(Centos 6.4 32位)

Mongodb安装(Centos 6.4 32位)

6、在/bin目录下配置mongodb启动脚本

#!/bin/bash
pid=`ps -ef|grep /usr/local/mongodb/bin/mongod|grep -v "grep" | awk '{print $2}'`
if [ $pid ]
then
echo "mongodb is running..."
else
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --journal --storageEngine=mmapv1 --logpath=/usr/local/mongodb/logs --logappend --port=27017 --fork
echo 'mongodb started!'
fi

参考文档:

http://blog.sina.com.cn/s/blog_7e513d7e01015j9b.html

http://coderschool.cn/1709.html