Mongodb2.4.3集群安装笔记

7 篇文章 0 订阅
4 篇文章 0 订阅
机器:
192.168.40.80 -> mongodb01
192.168.40.81 -> mongodb02
192.168.40.82 -> mongodb03
192.168.40.83 -> mongodb04
192.168.40.84 -> mongodb05

sharding架构设置

mongodb01 shard11     shard43 shard52
mongodb02 shard12 shard21     shard53
mongodb03 shard13 shard22 shard31    
mongodb04   shard23 shard32 shard41  
mongodb05     shard33 shard42 shard51
注明:
同色块为整个数据集的各个分部sharding(分散于各机器中)
同一分部sharding有三个replica副本

补充:这里说一下关于Replica Sets和Sharding,Sharding是将整个数据库分成若干个shard,每一个shard在replica sets中存在若干个副本。这样能够将数据库访问的压力通过shards分散到集群中的若干台机器,同时每个shard存在若干个分散的副本使得某个副本的丢失不会影响整个系统的运行。

1. 配置主机名:
# vi /etc/hosts
# vi /etc/sysconfig/network
# hostname newhostname

then relogin

2. 解压安装包
# tar zxvf mongodb-linux-x86_64-2.4.3.tgz


3. 创建shard数据目录
@ mongodb01
# mkdir -p /mongodb_data/data/shard11
# mkdir -p /mongodb_data/data/shard43
# mkdir -p /mongodb_data/data/shard52

@ mongodb02
# mkdir -p /mongodb_data/data/shard12
# mkdir -p /mongodb_data/data/shard21
# mkdir -p /mongodb_data/data/shard53

......

4. 配置replica sets

Shard1:
@mongodb01
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard1 -port 29019 -logpath /mongodb_data/data/shard11.log -dbpath /mongodb_data/data/shard11 -fork --logappend
@mongodb02
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard1 -port 29019 -logpath /mongodb_data/data/shard12.log -dbpath /mongodb_data/data/shard12 -fork --logappend
@mongodb03
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard1 -port 29019 -logpath /mongodb_data/data/shard13.log -dbpath /mongodb_data/data/shard13 -fork --logappend


Shard2:
@mongodb02
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard2 -port 29020 -logpath /mongodb_data/data/shard21.log -dbpath /mongodb_data/data/shard21 -fork --logappend
@mongodb03
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard2 -port 29020 -logpath /mongodb_data/data/shard22.log -dbpath /mongodb_data/data/shard22 -fork --logappend
@mongodb04
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard2 -port 29020 -logpath /mongodb_data/data/shard23.log -dbpath /mongodb_data/data/shard23 -fork --logappend




Shard3:
@mongodb03
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard3 -port 29021 -logpath /mongodb_data/data/shard31.log -dbpath /mongodb_data/data/shard31 -fork --logappend
@mongodb04
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard3 -port 29021 -logpath /mongodb_data/data/shard32.log -dbpath /mongodb_data/data/shard32 -fork --logappend
@mongodb05
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard3 -port 29021 -logpath /mongodb_data/data/shard33.log -dbpath /mongodb_data/data/shard33 -fork --logappend


Shard4:
@mongodb04
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard4 -port 29022 -logpath /mongodb_data/data/shard41.log -dbpath /mongodb_data/data/shard41 -fork --logappend
@mongodb05
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard4 -port 29022 -logpath /mongodb_data/data/shard42.log -dbpath /mongodb_data/data/shard42 -fork --logappend
@mongodb01
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard4 -port 29022 -logpath /mongodb_data/data/shard43.log -dbpath /mongodb_data/data/shard43 -fork --logappend


Shard5:
@mongodb05
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard5 -port 29023 -logpath /mongodb_data/data/shard51.log -dbpath /mongodb_data/data/shard51 -fork --logappend
@mongodb01
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard5 -port 29023 -logpath /mongodb_data/data/shard52.log -dbpath /mongodb_data/data/shard52 -fork --logappend
@mongodb02
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -shardsvr -replSet shard5 -port 29023 -logpath /mongodb_data/data/shard53.log -dbpath /mongodb_data/data/shard53 -fork --logappend

> config = {_id:'shard5',members:[ {_id: 0, host:'192.168.40.84:29023'}, {_id: 1, host:'192.168.40.80:29023'}, {_id: 2, host:'192.168.40.81:29023'}] }
> rs.initiate(config)

可能的错误
rs.initiate(config);
{"ok" : 0,
"errmsg" : "couldn't initiate : need all members up to initiate, not ok : 192.168.40.82:29019"} 
注意防火墙设置

5. 配置config server
@mongodb01~mongodb05
# mkdir /mongodb_data/data/config
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongod -configsvr -port 29018 -logpath /mongodb_data/data/config.log -dbpath /mongodb_data/data/config -logappend -fork

6. 配置mongos
# /opt/mongodb-linux-x86_64-2.4.3/bin/mongos -configdb 192.168.40.80:29018 -port 29025 -logpath /mongodb_data/data/mongos.log -logappend -fork

7. 配置shard cluster
使用其中一台服务器登录数据库
# mongo 192.168.40.80:29025
> use admin
> db.runCommand({addshard:"shard1/192.168.40.80:29019,192.168.40.81:29019,192.168.40.82:29019",name:"s1"})
> db.runCommand({addshard:"shard2/192.168.40.81:29020,192.168.40.82:29020,192.168.40.83:29020",name:"s2"})
> db.runCommand({addshard:"shard3/192.168.40.82:29021,192.168.40.83:29021,192.168.40.84:29021",name:"s3"})
> db.runCommand({addshard:"shard4/192.168.40.83:29022,192.168.40.84:29022,192.168.40.80:29022",name:"s4"})
> db.runCommand({addshard:"shard5/192.168.40.84:29023,192.168.40.80:29023,192.168.40.81:29023",name:"s5"})

db.printShardingStatus() - 打印sharding状态
mongodb web管理端,端口为连接端口号+1000
注意在启动mongod时需要指定 --rest才能查看命令返回结果



参考资料:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要离线安装MongoDB数据库集群,你需要下载并安装MongoDB主程序和Mongosh命令行操作工具。首先,你可以从提供的下载链接中下载MongoDB主程序的压缩包[mongodb-linux-x86_64-rhel70-6.0.1.tgz]。解压缩该文件后,你可以按照MongoDB的安装指南进行进一步的安装步骤。 同时,你还需要下载Mongosh命令行操作工具的rpm包[mongodb-mongosh-shared-openssl1-1.6.0.x86_64.rpm]。这个工具是在MongoDB 6版本中被独立剥离出来的,所以你需要单独安装它。下载完成后,你可以使用rpm命令进行安装安装完成后,你可以使用mongosh命令进入MongoDB数据库集群,并进行相关的操作。请注意,在离线安装时,你可能还需要手动配置一些依赖和环境变量,以确保MongoDB集群正常运行。 总结起来,mongodb数据库集群的离线安装步骤如下: 1. 下载MongoDB主程序压缩包[mongodb-linux-x86_64-rhel70-6.0.1.tgz]并解压缩。 2. 按照MongoDB的安装指南进行进一步的安装步骤。 3. 下载Mongosh命令行操作工具的rpm包[mongodb-mongosh-shared-openssl1-1.6.0.x86_64.rpm]。 4. 使用rpm命令安装Mongosh工具。 5. 完成安装后,使用mongosh命令进入MongoDB数据库集群进行操作。 请注意,离线安装可能需要更多的配置和安装步骤,具体取决于你的操作系统和环境。建议在安装之前参考MongoDB的官方文档和安装指南,以确保正确安装和配置MongoDB数据库集群。 :下载地址:下载 :mongodb-mongosh-shared-openssl1-1.6.0.x86_64.rpm<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [MongoBd 离线安装与管理](https://blog.csdn.net/hnmpf/article/details/128114148)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值