Ubuntu 利用文件启动Mongo
- 下载Ubuntu版mongorgz文件
下载链接:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-5.0.7.tgz
这里要注意mongo下载的版本,如果你说Ubuntu就选对应的Ubuntu版本,其他虚拟机一样。
- 解压、配置
- 前期准备
使用sercet CRT 将下载的mongo.tgz文件放到Ubuntu的桌面上显示(一定要在桌面),为美观简洁,将mongo压缩包更名为mongodb.tgz
- 解压
使用解压:
tar -zxvf mongodb.tgz -C opt/servers/mongodb_demo/
这个目录是为方便与教师在课程中教授的一致性,你可自行设置。
- 创建日志文件
但压缩包中没有给到日志文件,所以需要手动创建:
cd opt/servers/mongodb_demo/
mkdir -p standalone/data/db/
mkdir standalone/logs/
touch standalone/logs/mongologs.log
- 设置环境变量
vim ~/.bashrc
如果是Contos虚拟机,则使用这个命令设置环境变量:
vi ~/.bash_profile
将这段代码放入上面vim文件的最后:
export PATH=opt/servers/mongodb_demo/mongodb/bin:$PATH
- 指令集启动:
Mongod --dbpath=opt/servers/mongodb_demo/standalone/data/db/ --logpath=opt/servers/mongodb_demo/standalone/logs/mongologs.log --logappend --fork
若控制台出现:child process started successfully,parent exiting
表示启动成功,直接使用mongo进入
查看是否启动:
ps aux|grep mongo
数字错误
- 编码方式1报错
(原因是没有启动Mongo);
- 编码方式100错误:
mongo.lock与storage.bson文件与启动产生冲突,可尝试以下几种方式解决:
- 删除以上两个文件
- 找到你安装mongo目录下的data文件,将data文件下的log全部删除(注意,这里可能会影响到你将data目录下的db目录也一起删除,删除之后要去查看一下),最后使用上面副本集的命令启动mongo服务
- 编码方式48错误:
解决方式尝试与100号错误的方式。
48号与100号这两个错误,一般情况下会在一个错误解决之后,紧接其后。
Ubuntu创建mongo副本集
- 前置准备
- 克隆
为减少内存占用空间,这里克隆选择链接克隆,将主虚拟机克隆两个出来。
- 关于网卡配置
网络上关于Ubuntu系统网络配置对于最新版的Ubuntu已经不再试用,当你尝试网络上给出的网卡配置的方法,命令敲下去会发现有这么几种情况;
- 空信息
- 只有不到十行
- 特别多的文件内容,跟你要找的网卡配置压根不对成
其次目前是没有找到任何有关Ubuntu的网络配置文件,而网络中有关配置mongo副本集都提到要修改主机名(这里为方便辨认),紧接着设置静态IP地址,然后将副本机的IP地址放入到网络文件中,让三天设备实现互ping的状态。
这个项目就卡了我差不多半天左右的时间,还是放弃网络搜索,自己弄一下吧。
- 更改主机名
- 查看目前的主机名:
sudo nmcli g hostname
- 修改主机名:
sudo nmcli g hostname (这里写你要修改后的主机名)
- 重启服务
sudo systemctl restart systemd-hostnamed
- 查看IP地址
使用:
ifconfig
- 以副本集启动mongo
mongod --replSet itcast --dbpath=opt/servers/mongodb_demo/standalone/data/db/ --logpath=opt/servers/mongodb_demo/standalone/logs/mongologs.log --port 27017 --bind_ip nosql01 --logappend --fork
- 启动
mongo --host 192.168.39.143 --port 27017
这里的黄色标的使用你的IP地址
- 检查是否以副本集形式启动
rs.initiate()
若显示出以上数据,则表示成功,如果里面显示76号,则是启动方式错误(不是以副本集的方式启动的)。
- 注意事项
黄底标出来的是你当前虚拟机的主机名,一定要更改,否则会报1号文件错误