Chinaunix首页 | 论坛 | 博客
  • 博客访问: 798610
  • 博文数量: 50
  • 博客积分: 757
  • 博客等级: 上士
  • 技术积分: 1913
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-29 14:29
个人简介

DBA

文章分类

全部博文(50)

文章存档

2015年(3)

2014年(2)

2013年(14)

2012年(19)

2011年(12)

分类: Mysql/postgreSQL

2012-02-06 22:21:34

呼~看了一晚上mongo-java-driver的源码也没找到异常在哪   
  1. com.mongodb.MongoException: unauthorized db:test lock type:-1 client:192.168.72.1
后来想来想去,复制集使用keyfile相互连接,按说不用密码确实不应该连接成功,可惜在公司竟然成功了,我去~~百思不得其解。
以上牢骚,复制集搭建(单台机器测试),以下:

1、初始化环境    
  1. useradd mongo
  2. mkdir -p /export/data/mongodb_data
  3. mkdir -p /export/data/logs
  4. mkdir -p /export/data/key
  5. chown mongo.mongo /export/data/*
  6. su - mongo
  7. mkdir -p mongodb_data/r0
  8. mkdir -p mongodb_data/r1
  9. mkdir -p mongodb_data/r2
 2、 生成keyfile
  1. echo "AABIwAAAQEArfcoYJYsGYg62tHn31uuJMr6AXPr0rVA3Hkk" > /export/data/key/r0
  2. echo "AABIwAAAQEArfcoYJYsGYg62tHn31uuJMr6AXPr0rVA3Hkk" > /export/data/key/r1
  3. echo "AABIwAAAQEArfcoYJYsGYg62tHn31uuJMr6AXPr0rVA3Hkk" > /export/data/key/r2
  4. chmod 600 /export/data/key/*
 3、启动mongo
  1. mongod --replSet rstest --keyFile /export/data/key/r0 --port 20011 --dbpath /export/data/mongodb_data/r0/ --logpath /export/data/logs/r0.log --logappend --oplogSize 100 --rest --directoryperdb --maxConns 200 --fork
  2. mongod --replSet rstest --keyFile /export/data/key/r1 --port 20012 --dbpath /export/data/mongodb_data/r1/ --logpath /export/data/logs/r1.log --logappend --oplogSize 100 --rest --directoryperdb --maxConns 200 --fork
  3. mongod --replSet rstest --keyFile /export/data/key/r2 --port 20013 --dbpath /export/data/mongodb_data/r2/ --logpath /export/data/logs/r2.log --logappend --oplogSize 100 --rest --directoryperdb --maxConns 200 --fork
4、初始化
  1. mongo --port 20011
  2. > config = {_id: 'rstest', members: [{_id: 0, host: '127.0.0.1:20011'},{_id: 1, host: '127.0.0.1:20012'},{_id: 2, host:'127.0.0.1:20013'}]}
  3. > rs.initiate(config)
  4. > rs.status()
大概1分钟才会看到Primary和Secondary分配好。

阅读(3926) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~