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. 

  1. public static void main(String[] args)  {  
  2.         try {   
  3.             List<ServerAddress> addresses = new ArrayList<ServerAddress>();    
  4.             ServerAddress address1 = new ServerAddress("127.0.0.1" , 1111);   
  5.             ServerAddress address2 = new ServerAddress("127.0.0.1" , 2222);   
  6.             ServerAddress address3 = new ServerAddress("127.0.0.1" , 3333);   
  7.             addresses.add(address1);    
  8.             addresses.add(address2);   
  9.             addresses.add(address3);   
  10.             MongoClient client = new MongoClient(addresses);   
  11.             DB db = client.getDB( "test");   
  12.             DBCollection coll = db.getCollection( "test");   
  13.               
  14.             BasicDBObject object = new BasicDBObject();    
  15.             object.append( "key1""value1" );   
  16.             ReadPreference preference = ReadPreference.secondary();    // 设置从备份节点读取 实现读写分离
  17.             DBObject dbObject = coll.findOne(object, null , preference);    
  18.             System. out .println(dbObject);    
  19.         } catch (Exception e) {   
  20.             e.printStackTrace();    
  21.         }   
  22.     }   

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐