• mongodb集群+分片部署(二)


    机器:10.165.38.68    10.165.38.72

    部署包:mongodb-linux-x86_64-rhel55-3.0.2.tgz(百度云盘下载地址:http://pan.baidu.com/s/1jIQAGlw 密码:l7pf)

    部署结构:

    10.165.38.68上部署配置服务、路由服务、和分片服务

    10.165.38.72上部署分片服务

    下面开始分服务器讲解部署的过程:

    第一台服务器:10.165.38.68

    第一步:上传上面的部署包到linux服务器上

    第二步:解压缩该文件 命令为tar zxvf mongodb-linux-x86_64-rhel55-3.0.2.tgz

    第三步:将解压得到的文件夹mongodb-linux-x86_64-rhel55-3.0.2,改名为mongodb_3.0.2

    第四步:进入mongodb_3.0.2目录下,内容如下:

    第五步:创建文件夹config、shard、route

    a:创建配置服务文件夹 mkdir config

    b:创建分片服务文件夹 mkdir shard 

    c:创建路由服务文件夹 mkdir route

    第六步:分别在config、shard、route文件夹目录下,创建db(数据存储目录)和log(日志存储目录)文件夹,并在log文件夹中创建mongodb.log文件

    a:在config文件夹中创建db文件夹  mkdir config/db

    b:在config文件夹中创建log文件夹 mkdir config/log

    c:在config/log文件夹中创建mongodb.log文件  touch config/log/mongodb.log

    【在shard文件夹中也需要执行上面3个操作:a:mkdir shard/db   b:mkdir config/log   c:touch shard/log/mongodb.log】

    【在route文件夹中也需要执行上面2个操作:a:mkdir route/log   b:touch route/log/mongodb.log】

    注意到route路由服务没有创建db文件夹,因为路由服务器不需要存储数据,所以不用执行mkdir route/db命令

    第七步:在mongodb-3.0.2目录下创建conf文件夹,即与shard、config、route文件夹属同级目录

    conf文件夹用来存放启动的配置文件。

    第八步:在conf文件夹下创建启动配置文件,有3个文件,route、shard、config(名称自己取,和后面第九步启动命令中文件名对应上即可)

    a:创建配置服务器启动文件 vi config,添加如下语句:

    configsvr=true
    port=10252
    dbpath=../config/db
    logpath=../config/log/mongodb.log
    logappend=true
    fork=true

    解释:

    configsvr规定这是配置服务

    port为配置服务器端口号

    dbpath为配置服务器的数据存储路径即为第六步中config文件夹中db文件夹的路径,../为上一层的意思

    logpath为配置服务器的日志存储路径即为第六步中config文件夹中log文件夹下mongodb.log文件的路径

    logappend为错误日志采用追加模式(默认会使用覆盖模式)

    fork为以守护进程的方式运行mongodb

    添加完成后,保存文件。

    b:创建分片服务器启动文件 vi shard,添加如下语句:

    shardsvr=true
    port=10251
    dbpath=../shard/db
    logpath=../shard/log/mongodb.log
    storageEngine=wiredTiger
    wiredTigerCacheSizeGB=1
    wiredTigerJournalCompressor=zlib
    logappend=true
    fork=true

    解释:

    shardsvr规定这是分片服务

    port为分片服务器端口号

    dbpath为分片服务器的数据存储路径即为第六步中shard文件夹中db文件夹的路径,../为上一层的意思

    logpath为分片服务器的日志存储路径即为第六步中shard文件夹中log文件夹下mongodb.log文件的路径

    storageEngine为mongodb存储引擎,在3.0之后的版本新增的功能,可以通过该引擎插件实现启动内存设置等

    wiredTigerCacheSizeGB为mongodb内存设置,此处我设置的为1G,可以用来限定mongodb占用内存大小

    wiredTigerJournalCompressor为mongodb引擎压缩数据,这样可以对存储的数据进行压缩存储,比如我在服务器上看mongodb的数据只有40MB,但是我导出来会发现这个数据大得多,我本地测试导出来的数据有250M之多。

    logappend为错误日志采用追加模式(默认会使用覆盖模式)

    fork为以守护进程的方式运行mongodb

    添加完成后,保存文件。

    c:创建路由服务器启动文件 vi route,添加如下语句:

    configdb=10.165.38.68:10252
    port=10253
    logpath=../route/log/mongodb.log
    logappend=true
    fork=true

    解释:

    configdb为配置服务器ip和地址即第八步a中配置的config服务器的端口号,ip为该config所在服务器的ip地址

    port为路由服务器的端口

    logpath为路由服务器的日志存储路径即为第六步中route文件夹中log文件夹下mongodb.log文件的路径

    logappend为错误日志采用追加模式(默认会使用覆盖模式)

    fork为以守护进程的方式运行mongodb

    添加完成后,保存文件。

    至此,分片服务器、配置服务器、路由服务器的启动配置文件就全部配置好了,可以在conf下看到3个文件:

    第九步:进入bin目录下,启动mongodb,分3步,需要启动配置服务器、分片服务器、路由服务器

    a:启动配置服务器  ./mongod -f /home/自己的路径/mongodb-3.0.2/conf/config

    b:启动分片服务器 ./mongod -f /home/自己的路径/mongodb-3.0/conf/shard

    c:启动路由服务器 ./mongos -f /home/自己的路径/mongodb-3.0/conf/route (注意这里的命令是 mongos,上面是 mongod)

    至此第一台服务器就部署完成了,不要走开,下面部署第二台服务器,实现集群分片策略

    第二台服务器:10.165.38.72

    该台服务器部署比较简单,只需要部署一个分片服务即可

    第一步:上传部署包至linux服务器,解压部署包,并将解压得到的文件夹改名为mongodb_3.0.2,进入该目录

        这四步我就不在赘述了,与上面10.165.38.68服务器的前四步完全相同。

    第二步:进入mongodb_3.0.2目录,创建shard文件夹

    创建分片服务文件夹 mkdir shard 

    第三步:在shard文件夹目录下,创建db(数据存储目录)和log(日志存储目录)文件夹,并在log文件夹中创建mongodb.log文件

    a:在shard文件夹中创建db文件夹  mkdir shard/db

    b:在shard文件夹中创建log文件夹 mkdir shard/log

    c:在shard/log文件夹中创建mongodb.log文件  touch shard/log/mongodb.log

    第四步:在mongodb-3.0.2目录下创建conf文件夹,即与shard文件夹属同级目录

    conf文件夹用来存放启动的配置文件。

    第五步:在conf文件夹下创建启动配置文件shard(名称自己取,和后面启动命令中文件名对应上即可)

    创建分片服务器启动文件 vi shard,添加如下语句:

    解释:

    shardsvr规定这是分片服务

    port为分片服务器端口号

    dbpath为分片服务器的数据存储路径即为第三步中shard文件夹中db文件夹的路径,../为上一层的意思

    logpath为分片服务器的日志存储路径即为第三步中shard文件夹中log文件夹下mongodb.log文件的路径

    storageEngine为mongodb存储引擎,在3.0之后的版本新增的功能,可以通过该引擎插件实现启动内存设置等

    wiredTigerCacheSizeGB为mongodb内存设置,此处我设置的为1G,可以用来限定mongodb占用内存大小

    wiredTigerJournalCompressor为mongodb引擎压缩数据,这样可以对存储的数据进行压缩存储,比如我在服务器上看mongodb的数据只有40MB,但是我导出来会发现这个数据大得多,我本地测试导出来的数据有250M之多。

    logappend为错误日志采用追加模式(默认会使用覆盖模式)

    fork为以守护进程的方式运行mongodb

    添加完成后,保存文件。

    至此,分片服务器的启动配置文件就全部配置好了,可以在conf下看到1个文件:

    第六步:进入bin目录下,启动分片服务器

     ./mongod -f /home/自己的路径/mongodb-3.0/conf/shard

    出现started successfully字样,表示启动成功

    至此mongodb的集群加分片就部署完成了。下面我们需要登录mongodb服务器,添加分片与路由服务器的关联

    第七步:在路由服务器上,进入mongodb-3.0.2/bin的目录下,我这里就是第一台服务器10.165.38.68

    执行./mongo localhost:10253 这里的10253是在上面的第八步c中配置的端口号

    这样就进入了mongodb的路由服务器。在执行如下命令

    a:进入admin数据库  use admin 

    b:添加分片 

    db.runCommand({addShard:"10.165.38.68:10251"})  这里的10251是上面第八步中b的端口

    db.runCommand({addShard:"10.165.38.72:10251"})  这里的10252是第二台服务器中第五步的端口

    c:指定需要分片的数据库

    db.runCommand({enableSharding:"logtest"})  该数据库名称为logtest,可自由取名

    d:指定需要分片的集合以及片键

    db.runCommand({shardCollection:"logtest.logInstance",key:{_id:1}}) 这里的logtest为上面c的数据库取名,logInstance为该数据库中集合的名字类似于mysql数据库中表名含义,指定片键为mongodb的id作为片键。

    执行命令后效果如下:

    至此所有的部署与配置工作就全部完成了。有心跟随我走到这一步的人相信都是有耐心的人,对于mongodb的部署应该也了解了。

  • 相关阅读:
    第03组 Alpha冲刺(2/4)
    第03组 Alpha冲刺
    第09组 Beta版本演示
    第09组 Beta冲刺(4/4)
    第09组 Beta冲刺(3/4)
    第09组 Beta冲刺(2/4)
    第09组 Beta冲刺(1/4)
    第09组 Alpha事后诸葛亮
    第09组 Alpha冲刺(4/4)
    第09组 Alpha冲刺(3/4)
  • 原文地址:https://www.cnblogs.com/miaomiaokaixin/p/5410135.html
Copyright © 2020-2023  润新知