基于openEuler系统的MongoDB数据库搭建研究

举报
Hhxm416 发表于 2021/07/12 21:24:14 2021/07/12
【摘要】 本文介绍openEuler现在发展趋势,与未来市场可能产生价值。从而作者对openEuler系统的MongoDB数据库搭建展开研究,解决MongoDB数据库搭建中发生的问题。作者开始先介绍了使用到的全部工具软件,已经操作系统的简介,从而了解这些工具和操作系统的用途。接下来开始实验内容:先安装底层操作系统,再到单机安装MongoDB数据库,再到单机分片安装MongoDB 数据库,最后解决在安装过程发
  1. 远程工具连接

远程连接工具介绍

我们使用的远程连接工具是SecureCRTSecureCRT是一款支持SSH(SSH1SSH2)的终端仿真程序,简单地说是Windows下登录UNIXLinux服务器主机的软件。

SecureCRT支持SSH,同时支持Telnetrlogin协议。SecureCRT是一款用于连接运行包括WindowsUNIXVMS的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输。有流行CRTTelnet客户机的所有特点,包括:自动注册、对不同主机保持不同的特性、打印功能、颜色设置、可变屏幕尺寸、用户定义的键位图和优良的VT100,VT102,VT220ANSI竞争.能从命令行中运行或从浏览器中运行.其它特点包括文本手稿、易于使用的工具条、用户的键位图编辑器、可定制的ANSI颜色等.SecureCRTSSH协议支持DES,3DESRC4密码和密码与RSA鉴别。

想要使用远程工具连接虚拟机,要先修改IP

vi /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO的参数该成static,防止开机自动分配IP

添加红框里的内容,IPADDR自行设置,不要与其它IP冲突即可

GATEWAY自行查看VMnet8的默认网关,如图二的默认网关

NETMASK为子网掩码,默认255.255.255.0

NDS1设置为114.114.114.114或者8.8.8.8,如图二的DNS服务器地址

设置好后保存退出

关闭防火墙,分别输入命令

service iptables stop   #关闭防火墙

chkconfig iptables off  #禁止开机启动

关闭selinux

vi /etc/selinux/config

修改SELINUX的参数改为disabled

保存退出并重启

reboot

打开远程连接工具,这里使用的是SecureCRT

点击该闪电形状的按钮

输入需要连接的虚拟机IP地址和root用户名,点击Connect

输入root密码,并Save password,点击OK,成功连接到虚拟机

  • 单机安装MongoDB数据库

    下载MongoDB数据包

    wget     https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.23.tgz

    如果主机上已经有MongoDB的数据包,可以上传,需要下载插件lrzsz

    yum install lrzsz

    安装后输入命令,找到数据包点击Add添加,然后点击OK等待上传完

    rz

    解压数据包

    tar -zxvf mongodb-linux-x86_64-4.0.10.tgz

    移动刚解压的数据包目录

    mv mongodb-linux-x86_64-4.0.10 /usr/local/mongodb

    创建数据存储目录和日志存储目录

    mkdir -p /mongodb/single/data/db

    mkdir -p /mongodb/single/log

    新建并修改配置文件

    vi /mongodb/single/mongod.conf

    添加以下内容后保存退出

    systemLog:

        #MongoDB发送所有日志输出的目标指定为文件

        # #The path of the log file to which mongod or mongos should send all diagnostic logging information

        destination: file

        #mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径

        path: "/mongodb/single/log/mongod.log"

        #当mongosmongod实例重新启动时,mongosmongod会将新条目附加到现有日志文件的末尾。

        logAppend: true

    storage:

        #mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod

        ##The directory where the mongod instance stores its data.Default Value is "/data/db".

        dbPath: "/mongodb/single/data/db"

        journal:

            #启用或禁用持久性日志以确保数据文件保持有效和可恢复。

            enabled: true

    processManagement:

        #启用在后台运行mongosmongod进程的守护进程模式。

        fork: true

    net:

        #服务实例绑定的IP,默认是localhost

        bindIp: localhost,192.168.36.133

        #bindIp #绑定的端口,默认是27017

        port: 27017

     

    注意要使用虚拟机的IP地址,port端口号默认27017

    启动MongoDB服务

    /usr/local/mongodb/bin/mongod -f /mongodb/single/mongod.conf

    查看mongodb进程,可以看到已经启动

    ps -ef | grep mongod

    连接mongodb节点,成功连接节点说明安装成功

    /usr/local/mongodb/bin/mongo --host=192.168.36.133 --port=27017

  • 单机分片安装MongoDB 数据库

    1. 创建副本集:

    准备存放数据和日志的目录:

    mkdir -p /mongodb/sharded_cluster/myshardrs01_27018/log \ &

    mkdir -p /mongodb/sharded_cluster/myshardrs01_27018/data/db \ &

    mkdir -p /mongodb/sharded_cluster/myshardrs01_27118/log \ &

    mkdir -p /mongodb/sharded_cluster/myshardrs01_27118/data/db \ &

    mkdir -p /mongodb/sharded_cluster/myshardrs01_27218/log \ &

    mkdir -p /mongodb/sharded_cluster/myshardrs01_27218/data/db

    新建或修改配置文件:

    vi /mongodb/sharded_cluster/myshardrs01_27018/mongod.conf

    vi /mongodb/sharded_cluster/myshardrs01_27118/mongod.conf

    vi /mongodb/sharded_cluster/myshardrs01_27218/mongod.conf

    启动副本集:一主一副本一仲裁

    依次启动三个mongod服务:

    /usr/local/mongodb/bin/mongod -f /mongodb/sharded_cluster/myshardrs01_27018/mongod.conf

    /usr/local/mongodb/bin/mongod -f /mongodb/sharded_cluster/myshardrs01_27118/mongod.conf

    /usr/local/mongodb/bin/mongod -f /mongodb/sharded_cluster/myshardrs01_27218/mongod.conf

    查看服务是否启动:

    初始化副本集和创建主节点:

    使用客户端命令连接任意一个节点,但这里尽量要连接主节点:

    /usr/local/mongodb/bin/mongo --host 192.168.85.143 --port 27018

    执行初始化副本集命令:

    rs.initiate()

    主节点配置查看:rs.conf()

    添加副本节点:rs.add("192.168.85.143:27118")

    添加仲裁节点:rs.addArb("192.168.85.143:27218")

    副本集的数据读写操作:

    登录主节点27018:

    /usr/local/mongodb/bin/mongo --host 192.168.85.143 --port 27018

    show dbs

    发现,不能读取集合的数据。当前从节点只是一个备份,不是奴隶节点,无法读取数据,

    写当然更不行。 因为默认情况下,从节点是没有读写权限的,可以增加读的权限,但

    需要进行设置。

    rs.slaveOk()rs.slaveOk(true)

    提示: 该命令是 db.getMongo().setSlaveOk() 的简化命令。

    创建配置服务器:

    准备存放数据和日志的目录:

    mkdir -p /mongodb/sharded_cluster/myconfigrs_27019/log \ &

    mkdir -p /mongodb/sharded_cluster/myconfigrs_27019/data/db \ &

    mkdir -p /mongodb/sharded_cluster/myconfigrs_27119/log \ &

    mkdir -p /mongodb/sharded_cluster/myconfigrs_27119/data/db \ &

    mkdir -p /mongodb/sharded_cluster/myconfigrs_27219/log \ &

    mkdir -p /mongodb/sharded_cluster/myconfigrs_27219/data/db

    vi /mongodb/sharded_cluster/myconfigrs_27019/mongod.conf

    vi /mongodb/sharded_cluster/myconfigrs_27119/mongod.conf

    vi /mongodb/sharded_cluster/myconfigrs_27219/mongod.conf

    启动配置副本集:一主两副本

    依次启动三个mongod服务:

    /usr/local/mongodb/bin/mongod -f /mongodb/sharded_cluster/myconfigrs_27019/mongod.conf

    /usr/local/mongodb/bin/mongod -f /mongodb/sharded_cluster/myconfigrs_27119/mongod.conf

    /usr/local/mongodb/bin/mongod -f /mongodb/sharded_cluster/myconfigrs_27219/mongod.conf

    查看服务是否启动:ps -ef |grep mongod

    初始化副本集和创建主节点:

    使用客户端命令连接任意一个节点,但这里尽量要连接主节点:

    /usr/local/mongodb/bin/mongo --host 192.168.85.143 --port 27019

    执行初始化副本集命令:

    rs.initiate()

    主节点配置查看:

    rs.conf()

    主节点配置查看:

    rs.add(“192.168.85.143:27119”)

    rs.add(“192.168.85.143:27219”)

    查看副本集的配置情况:

    rs.status()

    创建路由节点:

    准备存放数据和日志的目录:

    mkdir -p /mongodb/sharded_cluster/mymongos_27017/log

    新建或修改配置文件:

    vi /mongodb/sharded_cluster/mymongos_27017/mongos.conf

    启动mongos

    /usr/local/mongodb/bin/mongos -f /mongodb/sharded_cluster/mymongos_27017/mongos.conf

    提示:启动如果失败,可以查看log目录下的日志,查看失败原因。

    客户端登录mongos

    /usr/local/mongodb/bin/mongo --host 192.168.85.143 --port 27017

    在路由节点上进行分片配置操作:

    添加分片:

    sh.addShard(“myshardrs01/192.168.85.143:27018,192.168.85.143:27118,192.168.85.143:27218”)

    开启分片功能:sh.enableSharding("库名")sh.shardCollection("库名.集合名",{"key":1}) mongos上的articledb数据库配置sharding:

    查看分片状态:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。