2.
在 /usr/local 中解压 : tar -xzvf mongodb-*****.tgz
3.
重命名解压包 : mv mongodb-**** mongodb
4.
创建目录 : mkdir -p /data/db
5. 创建文件 : touch /data/logs/mongod.log
6. 创建配置文件 : vi /etc/mongod.conf :
端口号 : port=27017
数据路径 : dbpath=/data/db
日志路径 : logpath=/data/logs/mongod.log
后台运行 : fork=true
日志输出方式 : logappend=true
#开启认证 : auth=true
journal=true
bind_ip=192.168.249.128 // 通过ifconfig查到的IP值
7. 环境变量 : vi /etc/profile : export PATH=/usr/local/mongodb/bin:$PATH
8. 在每个服务器上都执行,创建副本集成员 : mongod --replSet spock -f /etc/mongod.conf --fork //"spock"为指定的副本 集标识
9. 启动 : mongo --nodb
10. config = {"_id" : "spock" , "members" : [{"_id" : 0 , "host" : "192.168.249.128:27017"},{"_id" : 1 , "host" : "192.168.249.129:27017"},{"_id" : 2 , "host" : "192.168.249.130:27017"}]}
11. db = (new Mongo("192.168.249.128")).getDB("test") // 哪个设为主节点就选哪个的ip
12. rs.initiate(config)
13. 可以测是一下在主节点中写数据然后到备份节点中去读取 :
db.coll.insert({"name" : "my name is hbw"})
con = new Mongo("192.168.249.129:27017")
ddb = con.getDB("test")
con.setSlaveOk()
ddb.coll.find()
14.
- public static void main(String[] args) {
- try {
- List<ServerAddress> addresses = new ArrayList<ServerAddress>();
- ServerAddress address1 = new ServerAddress("127.0.0.1" , 1111);
- ServerAddress address2 = new ServerAddress("127.0.0.1" , 2222);
- ServerAddress address3 = new ServerAddress("127.0.0.1" , 3333);
- addresses.add(address1);
- addresses.add(address2);
- addresses.add(address3);
- MongoClient client = new MongoClient(addresses);
- DB db = client.getDB( "test");
- DBCollection coll = db.getCollection( "test");
- BasicDBObject object = new BasicDBObject();
- object.append( "key1", "value1" );
- ReadPreference preference = ReadPreference.secondary(); // 设置从备份节点读取 实现读写分离
- DBObject dbObject = coll.findOne(object, null , preference);
- System. out .println(dbObject);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }