mongoDB conf 文件配置详解

Windows上安装MangosZero的详细步骤 我是参考着官方wiki上的文章安装的,这篇文章还是很详细的。 https://www.getmangos.eu/wiki/documentation/installation-guides/guideswindows/configuring-mangos-r20068/ 某些步骤在我的文章里进行了细化,可以对照着看下。 魔兽世界的客户端我是在http://www.178.com/下载的,我在自己的... 阅读详情
mongoDB conf 文件配置 安装配置
 
  • 发表于 3年前 
  • 阅读 361 
  • 收藏 3 
  • 点赞 0 
  • 评论 0
摘要: tokumx 之於mongoDB 就像mariaDB 之於 Mysql一样,驱动,配置 什么的都可以通用

第一节 准备工作
 一 安装mongodb
  我这里选用rehl 5.6作为其运行载体。
  1. 下载mongodb的linux版本(注意32位和64位的区别),下载地址:http://www.mongodb.org/downloads
   # wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.4.tgz
  2. 将下载的mongodb安装文件 mongodb-linux-x86_64-2.0.4.tgz 放到/usr/local/下
  3. 解压 
   # tar -zxvf mongodb-linux-x86_64-2.0.4.tgz
   重命名 
   # mv mongodb-linux-x86_64-2.0.4 /usr/local/mongodb
  4. 创建数据库文件目录, # mkdir -p /data/mongodb,我把数据库文件目录放在当前文件夹下,# mkdir -p data/db,创建日志目录 #mkdir -p log
  
 二 启动
  首先用命令进入到bin目录下:cd /usr/local/mongodb/bin
  
  方式一:直接运行命令启动
  ./mongod –port 10000 –fork –logpath= logpath=/data/mongodb/log/mongodb.log -- logappend -- dbpath=/data/mongodb/data/db
  
  方式二:通过配置文件方式启动(推荐)。
  1.在服务器上新建mongodb.conf配置文件(建议用命令生成,放在mongodb同一个目录下)
  内容为:
  port=10000 #端口号
  fork=true #以守护进程的方式运行,创建服务器进程
  #master=true #单主从配置时设为主服务器  (弃用的参数,还是在命令脚本中设置吧)
  #salve=true ##单主从配置时设为从服务器 (弃用的参数,还是在命令脚本中设置吧)

 logpath=/data/mongodb/log/mongodb.log #日志输出文件路径 绝对路径(推荐)

logappend=true #日志输出方式
  dbpath=data/database/ #数据路径 这样是相对路径,即mongo安装目录下的文件夹
  replSet=blort #设置副本集 的名字
  shardsvr=true #设置是否分片
  2.运行./mongod –config ~/.mongodb.conf 命令(--config可以直接写成-f)。
  输出:
  all output going to: /data/mongodb/log/mongodb.log
  forked process: 5315
  
  mongodb 启动参数
    --quiet                              # 安静输出 
    --port arg                        # 指定服务端口号,默认端口27017 
    --bind_ip arg                  # 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP 
    --logpath arg                  # 指定MongoDB日志文件,注意是指定文件不是目录 
    --logappend                   # 使用追加的方式写日志 
    --pidfilepath arg             # PID File 的完整路径,如果没有设置,则没有PID文件 
    --keyFile arg                   # 集群的私钥的完整路径,只对于Replica Set 架构有效 
    --unixSocketPrefix arg  # UNIX域套接字替代目录,(默认为 /tmp) 
    --fork                                 # 以守护进程的方式运行MongoDB,创建服务器进程 
    --auth                                # 启用验证 
    --cpu                                 # 定期显示CPU的CPU利用率和iowait 
    --dbpath arg                     # 指定数据库路径 
    --diaglog arg                    # diaglog选项 0=off 1=W 2=R 3=both 7=W+some reads 
    --directoryperdb              # 设置每个数据库将被保存在一个单独的目录 
    --journal                            # 启用日志选项,MongoDB的数据操作将会写入到journal文件夹的文件里 
    --journalOptions arg       # 启用日志诊断选项 
    --ipv6                                 # 启用IPv6选项 
    --jsonp                              # 允许JSONP形式通过HTTP访问(有安全影响) 
    --maxConns arg             # 最大同时连接数 默认2000 
    --noauth                           # 不启用验证 
    --nohttpinterface             # 关闭http接口,默认关闭27018端口访问 
    --noprealloc                     # 禁用数据文件预分配(往往影响性能) 
    --noscripting                    # 禁用脚本引擎 
    --notablescan                  # 不允许表扫描 
    --nounixsocket                # 禁用Unix套接字监听 
    --nssize arg (=16)           # 设置信数据库.ns文件大小(MB) 
    --objcheck                        # 在收到客户数据,检查的有效性, 
    --profile arg                      # 档案参数 0=off 1=slow, 2=all 
    --quota                              # 限制每个数据库的文件数,设置默认为8 
    --quotaFiles arg               #  number of files allower per db, requires --quota 
    --rest                                  # 开启简单的rest API 
    --repair                              # 修复所有数据库run repair on all dbs 
    --repairpath arg               # 修复库生成的文件的目录,默认为目录名称dbpath 
    --slowms arg (=100)       # value of slow for profile and console log 
    --smallfiles                       # 使用较小的默认文件 
    --syncdelay arg (=60)    # 数据写入磁盘的时间秒数(0=never,不推荐) 
    --sysinfo                           # 打印一些诊断系统信息 
    --upgrade                        # 如果需要升级数据库
    
    * Replicaton 参数

   --------------------------------------------------------------------------------

    --fastsync                      # 从一个dbpath里启用从库复制服务,该dbpath的数据库是主库的快照,可用于快速启用同步 
    --autoresync                 # 如果从库与主库同步数据差得多,自动重新同步, 
    --oplogSize arg            # 设置oplog的大小(MB) 
    
    * 主/从参数

   --------------------------------------------------------------------------------

    --master                        # 主库模式 
    --slave                           # 从库模式 
    --source arg                 # 从库 端口号 
    --only arg                      # 指定单一的数据库复制 
    --slavedelay arg          # 设置从库同步主库的延迟时间 
     
    * Replica set(副本集)选项:

   --------------------------------------------------------------------------------

    --replSet arg                   # 设置副本集名称 
    
    * Sharding(分片)选项

   --------------------------------------------------------------------------------

    --configsvr                       # 声明这是一个集群的config服务,默认端口27019,默认目录/data/configdb 
    --shardsvr                        # 声明这是一个集群的分片,默认端口27018 
    --noMoveParanoia        # 关闭偏执为moveChunk数据保存? 
 


 三 查询进程和关闭数据库
  1. 运行 ps -ef|grep mongo 命令查询服务器进程
  2. 运行 kill -2 5315命令kill掉5315的进程
  
 四 进入数据库并简单操作数据库
  1.运行./mongo –port 1000进入刚刚启动的端口号为10000的数据库
  2.使用use test可以切换集合(相当于数据库表),这里切换到了test集合
  3.使用db.test.insert("a","b");向集合插入数据
  4.使用db.test.find();查询集合里的数据
  5.更多shell命令请查阅相关文档

 五 注意事项
  1. 防火墙设置(测试时可直接关闭linux关闭防火墙:立即但不永久生效:service iptables stop重启永久生效:chkconfig iptables off)

第二节 副本集
 简单的说,副本集就是有自动故障恢复功能的主从集群,副本集没有固定的"主节点",集群会通过投票选举一个"主节点"。当主节点岩机时,会变更到其他节点。副本集布在不同机器上时,至少要启动三个(单数)数据库服务器进程,否则启动时投票不成功会一直初始化不了。
 
 一 以配置文件方式启动三台机器上的数据库服务器
  1. 三台服务器的配置文件:
   port=10000 #端口号
   fork=true #以守护进程的方式运行,创建服务器进程
   logpath=/data/mongodb/log/mongodb.log #日志输出文件路径
   logappend=true #日志输出方式
   dbpath=/data/mongodb/data/db #数据库路径
   replSet=blort #设置富本集的名字为blort,replSet是让服务器知道在这个"blort"副本集中还有别的机器
   # replSet=blort /10.10.112.181:10000, 10.10.112.191:10000#设置富本集的名字,这种方式也可以,意思就是"blort"副本集其他机器,位置在10.10.112.181:10000和10.10.112.191:10000,但不推荐
  
  2. 通命令启动三台数据库服务器
   /usr/local/mongodb/bin/mongod -f /data/mongodb/blort/config.conf
   /usr/local/mongodb/bin/mongod -f /data/mongodb/blort2/config.conf
   /usr/local/mongodb/bin/mongod -f /data/mongodb/blort3/config.conf
  
 二 初始化副本集(只能初始化一次)
  /usr/local/mongodb/bin/mongo --port 30001
  use admin
  方法一:
  db.runCommand({"replSetInitiate":{"_id":"blort","members":[{"_id":0,"host":"10.10.113.122:30001"},{"_id":1,"host":"10.10.113.122:30002"},{"_id":2,"host":"10.10.113.122:30003","arbiterOnly":true}]}})
  
  方法二:
  config={_id:'blort',members:[{"_id":0,host:'10.10.113.122:30001},{"_id":1,host:'10.10.113.122:30002'},{"_id":2,"host":"10.10.113.122:30003","arbiterOnly":true}]};
  rs.initiate(config);

 三 增加和设置副本集
  有几种不同类型的节点可以存在于副本集:
  Standard :存在于副本,参与投票,有可能成为活跃节点(即主节点)
  Passive :存储了完整的数据副本,参与投票,不能成为活跃节点
  Arbiter:仲裁者,只参与投票,不能成为活跃节点
  Priority:优先级,(投票会投优先级高的,如果相同,则投数据最新的)
  以上类型可以通过以下命令对副本集合进行修改或者增加服务器
  db.runCommand({"replSetReconfig":{"_id":"test3","version":2,"members":[{"_id":0,"host":"10.10.113.122:30001"},{"_id":1,"host":"10.10.113.122:30002"},{"_id":2,"host":"10.10.113.122:30003","arbiterOnly":true}]}})
  
  增加副本服务器
  在增加一个从服务器节点
  a.以相同副本集名字启动一台服务器
  b.通过rs.add命令往system.replset添加新的从服务器成员
  rs.add("10.10.113.122:30005"); 或者rs.add({"_id":4,"host":"10.10.113.122:30005"}) 
  添加仲裁
  rs.addArb("10.10.113.122:30004");

 四 读扩展
  待研究
  
 五 用户校验
  未成功
  use test;
  db.addUser("test","123456");
  db.auth("test","123456");
  db.system.users.find();
  db.system.users.remove("test","123456");
  
第二节 replica sets + shard (双机方案,单机模拟)
 
 一 准备
  mkdir -p /data/mongodb/shard1-1/db/
  mkdir -p /data/mongodb/shard1-1/log/
  
  /data/mongodb/shard1-1/config.conf
   port=30001   #端口号
   fork=true   #以守护进程的方式运行,创建服务器进程
   #nohttpinterface=true   # 关闭http接口,默认关闭27018端口访问 port + 1000
   rest = true  #http接口 启动rest 使能访问 。与nohttpinterface 对应 只开一个
   shardsvr=true  #启动分片
   #oplogSize=100  #复制日志大小 MB
   logpath=/data/mongodb/shard1-1/log/shard1-1.log   #日志输出文件路径
   logappend=true   #日志输出方式
   dbpath=/data/mongodb/shard1-1/db   #数据库路径
   directoryperdb=true  # 设置每个数据库将被保存在一个单独的目录 
   replSet=shard1   #设置富本集的名字为shard1,replSet是让服务器知道在这个"shard1"副本集中还有别的机器

   #auth=true # 启用验证
  
  mkdir -p /data/mongodb/shard1-1a/db/
  mkdir -p /data/mongodb/shard1-1a/log/
  /data/mongodb/shard1-1a/config.conf
   port=30002   #端口号
   fork=true   #以守护进程的方式运行,创建服务器进程
   #nohttpinterface=true   # 关闭http接口,默认关闭27018端口访问 port + 1000
   rest = true  #http接口 启动rest 使能访问 。与nohttpinterface 对应 只开一个
   shardsvr=true  #启动分片
   #oplogSize=100  #复制日志大小 MB
   logpath=/data/mongodb/shard1-1a/log/shard1-1a.log   #日志输出文件路径
   logappend=true   #日志输出方式
   dbpath=/data/mongodb/shard1-1a/db   #数据库路径
   directoryperdb=true  # 设置每个数据库将被保存在一个单独的目录 
   replSet=shard1   #设置富本集的名字为shard1,replSet是让服务器知道在这个"shard1"副本集中还有别的机器

   #auth=true # 启用验证
  
  
  mkdir -p /data/mongodb/shard1-2/db/
  mkdir -p /data/mongodb/shard1-2/log/
  /data/mongodb/shard1-2/config.conf
   port=30003   #端口号
   fork=true   #以守护进程的方式运行,创建服务器进程
   #nohttpinterface=true   # 关闭http接口,默认关闭27018端口访问 port + 1000
   rest = true  #http接口 启动rest 使能访问 。与nohttpinterface 对应 只开一个
   shardsvr=true  #启动分片
   #oplogSize=100  #复制日志大小 MB
   logpath=/data/mongodb/shard1-2/log/shard1-2.log   #日志输出文件路径
   logappend=true   #日志输出方式
   dbpath=/data/mongodb/shard1-2/db   #数据库路径
   directoryperdb=true  # 设置每个数据库将被保存在一个单独的目录 
   replSet=shard1   #设置富本集的名字为shard1,replSet是让服务器知道在这个"shard1"副本集中还有别的机器

   #auth=true # 启用验证
  
  mkdir -p /data/mongodb/shard2-1/db/
  mkdir -p /data/mongodb/shard2-1/log/
  /data/mongodb/shard2-1/config.conf
   port=32001   #端口号
   fork=true   #以守护进程的方式运行,创建服务器进程
   #nohttpinterface=true   # 关闭http接口,默认关闭27018端口访问 port + 1000
   rest = true  #http接口 启动rest 使能访问 。与nohttpinterface 对应 只开一个
   shardsvr=true  #启动分片
   #oplogSize=100  #复制日志大小 MB
   logpath=/data/mongodb/shard2-1/log/shard2-1.log   #日志输出文件路径
   logappend=true   #日志输出方式
   dbpath=/data/mongodb/shard2-1/db   #数据库路径
   directoryperdb=true  # 设置每个数据库将被保存在一个单独的目录 
   replSet=shard2   #设置富本集的名字为shard2,replSet是让服务器知道在这个"shard2"副本集中还有别的机器

   #auth=true # 启用验证
  
  mkdir -p /data/mongodb/shard2-1a/db/
  mkdir -p /data/mongodb/shard2-1a/log/
  /data/mongodb/shard2-1a/config.conf
   port=32002   #端口号
   fork=true   #以守护进程的方式运行,创建服务器进程
   #nohttpinterface=true   # 关闭http接口,默认关闭27018端口访问 port + 1000
   rest = true  #http接口 启动rest 使能访问 。与nohttpinterface 对应 只开一个
   shardsvr=true  #启动分片
   #oplogSize=100  #复制日志大小 MB
   logpath=/data/mongodb/shard2-1a/log/shard2-1a.log   #日志输出文件路径
   logappend=true   #日志输出方式
   dbpath=/data/mongodb/shard2-1a/db   #数据库路径
   directoryperdb=true  # 设置每个数据库将被保存在一个单独的目录 
   replSet=shard2   #设置富本集的名字为shard2,replSet是让服务器知道在这个"shard2"副本集中还有别的机器

   #auth=true # 启用验证
  
  mkdir -p /data/mongodb/shard2-2/db/
  mkdir -p /data/mongodb/shard2-2/log/
  /data/mongodb/shard2-2/config.conf
   port=32003   #端口号
   fork=true   #以守护进程的方式运行,创建服务器进程
   #nohttpinterface=true   # 关闭http接口,默认关闭27018端口访问 port + 1000
   rest = true  #http接口 启动rest 使能访问 。与nohttpinterface 对应 只开一个
   shardsvr=true  #启动分片
   #oplogSize=100  #复制日志大小 MB
   logpath=/data/mongodb/shard2-2/log/shard2-2.log   #日志输出文件路径
   logappend=true   #日志输出方式
   dbpath=/data/mongodb/shard2-2/db   #数据库路径
   directoryperdb=true  # 设置每个数据库将被保存在一个单独的目录 
   replSet=shard2   #设置富本集的名字为shard2,replSet是让服务器知道在这个"shard2"副本集中还有别的机器

   #auth=true # 启用验证
  
  mkdir -p /data/mongodb/config1/db/
  mkdir -p /data/mongodb/config1/log/
  /data/mongodb/config1/config.conf
   dbpath = /data/mongodb/config1/db
   configsvr = true
   port = 40001
   logpath =/data/mongodb/config1/log/config1.log
   logappend = true
   fork = true
   
   #auth=true # 启用验证
  
  mkdir -p /data/mongodb/config2/db/
  mkdir -p /data/mongodb/config2/log/
  /data/mongodb/config2/config.conf
   dbpath = /data/mongodb/config2/db
   configsvr = true
   port = 40002
   logpath =/data/mongodb/config2/log/config2.log
   logappend = true
   fork = true
   
   #auth=true # 启用验证
  
  mkdir -p /data/mongodb/config3/db/
  mkdir -p /data/mongodb/config3/log/
  /data/mongodb/config3/config.conf
   dbpath = /data/mongodb/config3/db
   configsvr = true
   port = 40003
   logpath =/data/mongodb/config3/log/config3.log
   logappend = true
   fork = true
   
   #auth=true # 启用验证
  
  mkdir -p /data/mongodb/mongos1/log/
  /data/mongodb/mongos1/config.conf
   configdb =10.10.113.122:40001,10.10.113.122:40002,10.10.113.122:40003
   port = 50001
   chunkSize = 1
   logpath =/data/mongodb/mongos1/log/mongos1.log
   logappend = true
   fork = true

   #auth=true # 启用验证
  
  mkdir -p /data/mongodb/mongos2/log/
  /data/mongodb/mongos2/config.conf
   configdb =10.10.113.122:40001,10.10.113.122:40002,10.10.113.122:40003
   port = 50002
   chunkSize = 1
   logpath =/data/mongodb/mongos2/log/mongos2.log
   logappend = true
   fork = true

   #auth=true # 启用验证

 二 启动
 
  shard1 副本 启动
  /usr/local/mongodb/bin/mongod -f /data/mongodb/shard1-1/config.conf
  /usr/local/mongodb/bin/mongod -f /data/mongodb/shard1-1a/config.conf
  /usr/local/mongodb/bin/mongod -f /data/mongodb/shard1-2/config.conf
  
  /usr/local/mongodb/bin/mongo --port 30001
  
  use admin
  db.runCommand({"replSetInitiate":{"_id":"shard1","members":[{"_id":0,"host":"10.10.113.122:30001"},{"_id":1,"host":"10.10.113.122:30002","arbiterOnly":true},{"_id":2,"host":"10.10.113.122:30003"}]}})
  
  shard2 副本 启动
  /usr/local/mongodb/bin/mongod -f /data/mongodb/shard2-1/config.conf
  /usr/local/mongodb/bin/mongod -f /data/mongodb/shard2-1a/config.conf
  /usr/local/mongodb/bin/mongod -f /data/mongodb/shard2-2/config.conf
  
  /usr/local/mongodb/bin/mongo --port 31001
  
  use admin
  db.runCommand({"replSetInitiate":{"_id":"shard2","members":[{"_id":0,"host":"10.10.113.122:32001"},{"_id":1,"host":"10.10.113.122:32002","arbiterOnly":true},{"_id":2,"host":"10.10.113.122:32003"}]}})
 
  config1 启动
  /usr/local/mongodb/bin/mongod -f /data/mongodb/config1/config.conf
  config2 启动
  /usr/local/mongodb/bin/mongod -f /data/mongodb/config2/config.conf
  config3 启动
  /usr/local/mongodb/bin/mongod -f /data/mongodb/config3/config.conf
  
  mongos1 启动
  /usr/local/mongodb/bin/mongos -f /data/mongodb/mongos1/config.conf
  mongos2 启动
  /usr/local/mongodb/bin/mongos -f /data/mongodb/mongos2/config.conf
  
  
  /usr/local/mongodb/bin/mongo --port 50001
  use admin
  db.runCommand({addshard:"shard1/10.10.113.122:30001,10.10.113.122:30003",name:"shard1", maxsize:100})
  db.runCommand({addshard:"shard2/10.10.113.122:32001,10.10.113.122:32003",name:"shard2", maxsize:100})
  
  db.runCommand({listshards:1})
  
  use test
  db.test.insert({"aaa":"bbb"});

第三节 replica sets + shard (3机高可用 , 一主双备份)
 一 方案
  每个分片3服务器,前期采用三台,日后服务器的增加考虑灾备,服务增加的基数最少为三台(或才有双机方案)。
  Server1 10.10.113.122 Server1 10.10.113.132 Server3 10.10.113.133
  

  类型    服务器   用途       系统   说明
   
  存储/数据   Server1    Shard1/Shard2/Shard3  Linux 64位  Shard1:10001;Shard2:10002,Shard3:10003;
       Server2   Shard1/Shard2/Shard3  Linux 64位  Shard1:10001;Shard2:10002,Shard3:10003;
       Server3   Shard1/Shard2/Shard3  Linux 64位  Shard1:10001;Shard2:10002,Shard3:10003;
   
  配置    Server1   Config1      Linux 64位  Config1:20000;
       Server2   Config2      Linux 64位  Config2:20000; 
       Server3   Config3      Linux 64位  Config3:20000;
   
  路由    Server1   Mongos1      Linux 64位  Mongos:30000;
       Server2   Mongos2      Linux 64位  Mongos:30000;
       Server3   Mongos3      Linux 64位  Mongos:30000;
 
 二 准备
  安装mongodb 参照第一节
  
  
  linux 传文件
  # scp mongodb-linux-x86_64-2.0.4.tgz root@10.10.113.132:/root
  # ssh 10.10.113.132
  
  删除目录
  # rm -r -f /data/mongodb
 
 
  创建配置、日志、分片、key文件存储目录及验证文件
  
  mkdir /data/mongodb/configsvr/ -p
  
  mkdir /data/mongodb/log/ -p
  
  mkdir /data/mongodb/shard1/ -p
  
  mkdir /data/mongodb/shard2/ -p
  
  mkdir /data/mongodb/shard3/ -p
  
  mkdir /data/mongodb/key/ -p
  
  mkdir /data/mongodb/conf/security/ -p
  mkdir /data/mongodb/conf/nosecurity/ -p
  
  创建配置文件
   1、 创建验证文件security于/data/mongodb/key/目录,关赋予可读权限,命令如下:
   cd /data/mongodb/key/
   echo 'hycloudmongodbkey' > security
   chmod 600 security
   
   2、 创建shard1.conf、shard2.conf、shard3.conf、configsvr.conf、mongos.conf于/data/mongodb/conf/security/ 和 /data/mongodb/conf/nosecurity/的目录,内容分别如下:
   shard1.conf
   
dbpath = /data/mongodb/shard1

directoryperdb = true

shardsvr = true

replSet = shard1

#bind_ip = 10.10.113.122,localhost

port = 10001

oplogSize = 100

logpath =/data/mongodb/log/shard1.log

logappend = true

profile = 1

slowms = 5

rest = true

fork = true

keyFile = /data/mongodb/key/security  #nosecurity目录将该行删除
    
   shard2.conf
dbpath = /data/mongodb/shard2

directoryperdb = true

shardsvr = true

replSet = shard2

#bind_ip = 10.10.113.122,localhost

port = 10002

oplogSize = 100

logpath = /data/mongodb/log/shard2.log

logappend = true

profile = 1

slowms = 5

rest = true

fork = true

keyFile = /data/mongodb/key/security  #nosecurity目录将该行删除
    
   shard3.conf
dbpath = /data/mongodb/shard3

directoryperdb = true

shardsvr = true

replSet = shard3

#bind_ip = 10.10.113.122,localhost

port = 10003

oplogSize = 100

logpath = /data/mongodb/log/shard3.log

logappend = true

profile = 1

slowms = 5

rest = true

fork = true

keyFile = /data/mongodb/key/security  #nosecurity目录将该行删除
    
   configsvr.conf
dbpath = /data/mongodb/configsvr

directoryperdb = true

configsvr = true

port = 20000

logpath =/data/mongodb/log/configsvr.log

logappend = true

fork = true

keyFile = /data/mongodb/key/security  #nosecurity目录将该行删除
    
   mongos.conf
configdb =10.10.113.122:20000, 10.10.113.132:20000, 10.10.113.133:20000

port = 30000

chunkSize = 1  #单位 mb 生成环境请使用 200 或删除

logpath =/data/mongodb/log/mongos.log

logappend = true

fork = true

keyFile = /data/mongodb/key/security  #nosecurity目录将该行删除
   
  分片配置
   说明:分片要在无验证环境中配置,否则会出现无权限等异常。采用以下命令启动Server1\Server2\Server3上的shard1\shard2\shard3:

   # /usr/local/mongodb/bin/mongod -f /data/mongodb/conf/nosecurity/shard1.conf

   # /usr/local/mongodb/bin/mongod -f /data/mongodb/conf/nosecurity/shard2.conf

   # /usr/local/mongodb/bin/mongod -f /data/mongodb/conf/nosecurity/shard3.conf

   以下命令查看是否正常启动:

   # netstat -lnpt # 或 ps -ef | grep mongo

   启动后连接到shard1\shard2\shard3分别进行配置,在任意一台服务器即可,以下是具体配置过程:

   # /usr/local/mongodb/bin/mongo --port 10001
   
   >use admin
   
   >config = {_id:"shard1", members: [

           {_id: 0, host:"10.10.113.122:10001"},

           {_id: 1, host:"10.10.113.132:10001"},

           {_id: 2, host:"10.10.113.133:10001"}]

        };

   >rs.initiate(config)

   >exit

   # /usr/local/mongodb/bin/mongo --port 10002

   >use admin
   
   >config = {_id:"shard2", members: [

           {_id: 0, host:"10.10.113.132:10002"},

           {_id: 1, host:"10.10.113.133:10002"},

           {_id: 2, host:"10.10.113.122:10002"}]

     };

   >rs.initiate(config)

   >exit

   # /usr/local/mongodb/bin/mongo --port 10003
   
   >use admin

   >config = {_id:"shard3", members: [

           {_id: 0, host:"10.10.113.133:10003"},

           {_id: 1, host:"10.10.113.122:10003"},

           {_id: 2, host:"10.10.113.132:10003"}]

     };

   >rs.initiate(config)

   至此,已完成分片配置
   
  路由设置
   路由是能过config来连接分片服务器,在启动路由进程时,先启动配置进程,路由配置过程如下:

   # /usr/local/mongodb/bin/mongod -f /data/mongodb/conf/nosecurity/configsvr.conf

   # /usr/local/mongodb/bin/mongos -f /data/mongodb/conf/nosecurity/mongos.conf

   启动后,连接路由进行分片添加,只需配置一台路由。注:分片操作需在admin库下进行,另外必需在无验证要求下进行,即采用前面创建于nosecurity文件夹下的配置。

   # /usr/local/mongodb/bin/mongo --port 30000

   mongos> use admin

   mongos> db.runCommand({addshard:"shard1/10.10.113.122:10001,10.10.113.132:10001,10.10.113.133:10001",name:"shard1", maxsize:20480} )

   mongos> db.runCommand({addshard:"shard2/10.10.113.122:10002,10.10.113.132:10002,10.10.113.133:10002",name:"shard2", maxsize:20480} )

   mongos> db.runCommand({addshard:"shard3/10.10.113.122:10003,10.10.113.132:10003,10.10.113.133:10003",name:"shard3", maxsize:20480} )

   命令检查分片添加情况,如出现以下结果则表示配置成功:

   mongos> db.runCommand( {listshards : 1 } )
  
  
  权限控制
   MongoDB默认为验证模式。如需对数据库进行权限控制,需先采用无验证模式登录,进入admin库创建管理员用户后,再采用验证模式登录。通过前面创建的管理员帐号进行数据库与用户的创建。MongoDB集群的权限与单台的权限控制的不同之处在于,单台是通过-auth属性,集群是通过keyFile来进行服务器间的验证。以下介绍配置全过程。

   前面的所有步骤,都是在nosecurity模式下进行。如果没有采用非验证模式的需要将所有进程(分片、配置、mongos)停止,将切换到无验证模式。

   步骤一:先进行登录,并切换进admin库创建管理员帐号

   # /usr/local/mongodb/bin/mongo --port 30000

   mongos>use admin

   mongos>db.addUser('admin','123456')

   {

     "singleShard" :"192.168.2.88:20000,192.168.2.89:20000,192.168.2.90:20000",

     "n" : 0,

     "connectionId" : 211,

     "err" : null,

     "ok" : 1

   }

   {

     "_id" :ObjectId("4f6c78ddad912a3ac6833ece"),

     "user" : "admin",

     "readOnly" : false,

     "pwd" :"95ec4261124ba5951720b199908d892b"

   }

   验证用户名与密码

   mongos> db.auth('admin','123456')

   1

   mongos>exit

   步骤二:退出后,将Server1\Server2\Server3服务器上MongoDB的所有进程(分片、配置、mongos)停止,将切换到验证模式。具体命令如下:

   #killall mongod mongos

   #netstat -lnpt

   # /usr/local/mongodb/bin/mongod -f /data/mongodb/conf/security/shard1.conf

   # /usr/local/mongodb/bin/mongod -f /data/mongodb/conf/security/shard2.conf

   # /usr/local/mongodb/bin/mongod -f /data/mongodb/conf/security/shard3.conf

   # netstat -lnpt

   # /usr/local/mongodb/bin/mongod -f /data/mongodb/conf/security/configsvr.conf

   # /usr/local/mongodb/bin/mongos -f /data/mongodb/conf/security/mongos.conf

   启动后,如对库进行查看,则会报以下异常:

   # /usr/local/mongodb/bin/mongo 10.10.113.122:30000/admin

   MongoDB shell version: 2.0.4

   connecting to:10.10.113.122:30000/admin

   > show dbs

   Fri Mar 23 22:28:28 uncaughtexception: listDatabases failed:{ "ok" : 0, "errmsg" :"unauthorized" }

   以下是正常登录后显示的信息:

   # /usr/local/mongodb/bin/mongo 10.10.113.122:30000/admin

   MongoDB shell version: 2.0.4

   connecting to:10.10.113.122:30000/admin

   >db.auth('admin','123456')

   1

   mongos>

   步骤三:以下是数据库及数据库用户创建的过程:

   mongos> use hello

   switched to db hello

   mongos>db.addUser('sa','sa')

   {

     "singleShard" :"shard2/10.10.113.122:10002,10.10.113.132:10002,10.10.113.133:10002",

     "n" : 0,

     "lastOp" :NumberLong("5723101431532093441"),

     "connectionId" : 38,

     "err" : null,

     "ok" : 1

   }

   {

     "user" : "sa",

     "readOnly" : false,

     "pwd" :"75692b1d11c072c6c79332e248c4f699",

     "_id" :ObjectId("4f6c8a6e9f67b049a20a00de")

   }

   mongos> exit

   bye

   # /usr/local/mongodb/bin/mongo 10.10.113.122:30000/hello -u sa -p

   MongoDB shell version: 2.0.4

   Enter password:

   connecting to:10.10.113.122:30000/hello

   > show collections

   system.indexes

   system.users

   > db.system.users.find()

   { "_id" :ObjectId("4f6c8a6e9f67b049a20a00de"), "user" :"sa", "readOnly" : false, "pwd" :"75692b1d11c072c6c79332e248c4f699" }


  分片
   # /usr/local/mongodb/bin/mongo -port 30000
   
   > use test
   
   导入数据
   > use admin
   > db.runCommand({"enablesharding":"test"})
   > db.runCommand({"shardcollection":"test.doc","key":{"_id":1}})
   
第四节 replica sets + shard (3机高可用 , 一主一备份一仲裁)
 一 方案
  每个分片3服务器,前期采用三台,日后服务器的增加考虑灾备,服务增加的基数最少为三台(或用有双机方案)。
  Server1 10.10.113.122 Server1 10.10.113.132 Server3 10.10.113.133
  

  类型    服务器   用途       系统   说明
   
  存储/数据   Server1    Shard1/Shard2/Shard3  Linux 64位  Shard1:10001;Shard2:10002,Shard3:10003;
       Server2   Shard1/Shard2/Shard3  Linux 64位  Shard1:10001;Shard2:10002,Shard3:10003;
       Server3   Shard1/Shard2/Shard3  Linux 64位  Shard1:10001;Shard2:10002,Shard3:10003;
   
  配置    Server1   Config1      Linux 64位  Config1:20000;
       Server2   Config2      Linux 64位  Config2:20000; 
       Server3   Config3      Linux 64位  Config3:20000;
   
  路由    Server1   Mongos1      Linux 64位  Mongos:30000;
       Server2   Mongos2      Linux 64位  Mongos:30000;
       Server3   Mongos3      Linux 64位  Mongos:30000;
 
 二 准备
  安装mongodb 参照第一节
  
  
  linux 传文件
  # scp mongodb-linux-x86_64-2.0.4.tgz root@10.10.113.132:/root
  # ssh 10.10.113.132
 
 
  创建配置、日志、分片、key文件存储目录及验证文件
  
  mkdir /data/mongodb/configsvr/ -p
  
  mkdir /data/mongodb/log/ -p
  
  mkdir /data/mongodb/shard1/ -p
  
  mkdir /data/mongodb/shard2/ -p
  
  mkdir /data/mongodb/shard3/ -p
  
  mkdir /data/mongodb/key/ -p
  
  mkdir /data/mongodb/conf/security/ -p
  mkdir /data/mongodb/conf/nosecurity/ -p
  
  创建配置文件
   1、 创建验证文件security于/data/mongodb/key/目录,关赋予可读权限,命令如下:
   cd /data/mongodb/key/
   echo 'hycloudmongodbkey' > security
   chmod 600 /data/mongodb/key/security
   
   2、 创建shard1.conf、shard2.conf、shard3.conf、configsvr.conf、mongos.conf于/data/mongodb/conf/security/ 和 /data/mongodb/conf/nosecurity/的目录,内容分别如下:
   shard1.conf
   
dbpath = /data/mongodb/shard1

directoryperdb = true

shardsvr = true

replSet = shard1

#bind_ip = 10.10.113.122,localhost

port = 10001

oplogSize = 100

logpath =/data/mongodb/log/shard1.log

logappend = true

profile = 1

slowms = 5

rest = true

fork = true

keyFile = /data/mongodb/key/security  #nosecurity目录将该行删除
    
   shard2.conf
dbpath = /data/mongodb/shard2

directoryperdb = true

shardsvr = true

replSet = shard2

#bind_ip = 10.10.113.122,localhost

port = 10002

oplogSize = 100

logpath = /data/mongodb/log/shard2.log

logappend = true

profile = 1

slowms = 5

rest = true

fork = true

keyFile = /data/mongodb/key/security  #nosecurity目录将该行删除
    
   shard3.conf
dbpath = /data/mongodb/shard3

directoryperdb = true

shardsvr = true

replSet = shard3

#bind_ip = 10.10.113.122,localhost

port = 10003

oplogSize = 100

logpath = /data/mongodb/log/shard3.log

logappend = true

profile = 1

slowms = 5

rest = true

fork = true

keyFile = /data/mongodb/key/security  #nosecurity目录将该行删除
    
   configsvr.conf
dbpath = /data/mongodb/configsvr

directoryperdb = true

configsvr = true

port = 20000

logpath =/data/mongodb/log/configsvr.log

logappend = true

fork = true

keyFile = /data/mongodb/key/security  #nosecurity目录将该行删除
    
   mongos.conf
configdb =10.10.113.122:20000, 10.10.113.132:20000, 10.10.113.133:20000

port = 30000

chunkSize = 1  #单位 mb 生成环境请使用 200 或删除

logpath =/data/mongodb/log/mongos.log

logappend = true

fork = true

keyFile = /data/mongodb/key/security  #nosecurity目录将该行删除
   
  分片配置
   说明:分片要在无验证环境中配置,否则会出现无权限等异常。采用以下命令启动Server1\Server2\Server3上的shard1\shard2\shard3:

   # /usr/local/mongodb/bin/mongod -f /data/mongodb/conf/nosecurity/shard1.conf

   # /usr/local/mongodb/bin/mongod -f /data/mongodb/conf/nosecurity/shard2.conf

   # /usr/local/mongodb/bin/mongod -f /data/mongodb/conf/nosecurity/shard3.conf

   以下命令查看是否正常启动:

   # netstat -lnpt # 或 ps -ef | grep mongo

   启动后连接到shard1\shard2\shard3分别进行配置,在任意一台服务器即可,以下是具体配置过程:(注意不能在仲裁机器初始化)

   # /usr/local/mongodb/bin/mongo --port 10001
   
   >use admin
   
   >config = {_id:"shard1", members: [

           {_id: 0, host:"10.10.113.122:10001"},

           {_id: 1, host:"10.10.113.132:10001"},

           {_id: 2, host:"10.10.113.133:10001","arbiterOnly":true}]

        };

   >rs.initiate(config)

   >exit

   # /usr/local/mongodb/bin/mongo --port 10002

   >use admin
   
   >config = {_id:"shard2", members: [

           {_id: 0, host:"10.10.113.132:10002"},

           {_id: 1, host:"10.10.113.133:10002"},

           {_id: 2, host:"10.10.113.122:10002","arbiterOnly":true}]

     };

   >rs.initiate(config)

   >exit
   
   # /usr/local/mongodb/bin/mongo --port 10003
   
   >use admin

   >config = {_id:"shard3", members: [

           {_id: 0, host:"10.10.113.133:10003"},

           {_id: 1, host:"10.10.113.122:10003"},

           {_id: 2, host:"10.10.113.132:10003","arbiterOnly":true}]

     };

   >rs.initiate(config)

   至此,已完成分片配置
   
  路由设置
   路由是能过config来连接分片服务器,在启动路由进程时,先启动配置进程,路由配置过程如下:

   # /usr/local/mongodb/bin/mongod -f /data/mongodb/conf/nosecurity/configsvr.conf

   # /usr/local/mongodb/bin/mongos -f /data/mongodb/conf/nosecurity/mongos.conf

   启动后,连接路由进行分片添加,只需配置一台路由。注:分片操作需在admin库下进行,另外必需在无验证要求下进行,即采用前面创建于nosecurity文件夹下的配置。

   # /usr/local/mongodb/bin/mongo --port 30000

   mongos> use admin
   # maxsize:20480 #单位 mb 分片限制大小 根据实际服务器来定
   mongos> db.runCommand({addshard:"shard1/10.10.113.122:10001,10.10.113.132:10001,10.10.113.133:10001",name:"shard1", maxsize:20480} )

   mongos> db.runCommand({addshard:"shard2/10.10.113.132:10002,10.10.113.133:10002,10.10.113.122:10002",name:"shard2", maxsize:20480} )

   mongos> db.runCommand({addshard:"shard3/10.10.113.133:10003,10.10.113.122:10003,10.10.113.132:10003",name:"shard3", maxsize:20480} )

   命令检查分片添加情况,如出现以下结果则表示配置成功:

   mongos> db.runCommand( {listshards : 1 } )
  
  
  权限控制
   MongoDB默认为验证模式。如需对数据库进行权限控制,需先采用无验证模式登录,进入admin库创建管理员用户后,再采用验证模式登录。通过前面创建的管理员帐号进行数据库与用户的创建。MongoDB集群的权限与单台的权限控制的不同之处在于,单台是通过-auth属性,集群是通过keyFile来进行服务器间的验证。以下介绍配置全过程。

   前面的所有步骤,都是在nosecurity模式下进行。如果没有采用非验证模式的需要将所有进程(分片、配置、mongos)停止,将切换到无验证模式。

   步骤一:先进行登录,并切换进admin库创建管理员帐号

   # /usr/local/mongodb/bin/mongo --port 30000

   mongos>use admin

   mongos>db.addUser('admin','123456')

   {

     "singleShard" :"192.168.2.88:20000,192.168.2.89:20000,192.168.2.90:20000",

     "n" : 0,

     "connectionId" : 211,

     "err" : null,

     "ok" : 1

   }

   {

     "_id" :ObjectId("4f6c78ddad912a3ac6833ece"),

     "user" : "admin",

     "readOnly" : false,

     "pwd" :"95ec4261124ba5951720b199908d892b"

   }

   验证用户名与密码

   mongos> db.auth('admin','123456')

   1

   mongos>exit

   步骤二:退出后,将Server1\Server2\Server3服务器上MongoDB的所有进程(分片、配置、mongos)停止,将切换到验证模式。具体命令如下:

   # killall mongod mongos

   # netstat -lnpt

   # /usr/local/mongodb/bin/mongod -f /data/mongodb/conf/security/shard1.conf

   # /usr/local/mongodb/bin/mongod -f /data/mongodb/conf/security/shard2.conf

   # /usr/local/mongodb/bin/mongod -f /data/mongodb/conf/security/shard3.conf

   # netstat -lnpt # ps -ef | grep mongo

   # /usr/local/mongodb/bin/mongod -f /data/mongodb/conf/security/configsvr.conf

   # /usr/local/mongodb/bin/mongos -f /data/mongodb/conf/security/mongos.conf

   启动后,如对库进行查看,则会报以下异常:

   # /usr/local/mongodb/bin/mongo 10.10.113.122:30000/admin

   MongoDB shell version: 2.0.4

   connecting to:10.10.113.122:30000/admin

   > show dbs

   Fri Mar 23 22:28:28 uncaughtexception: listDatabases failed:{ "ok" : 0, "errmsg" :"unauthorized" }

   以下是正常登录后显示的信息:

   # /usr/local/mongodb/bin/mongo 10.10.113.122:30000/admin

   MongoDB shell version: 2.0.4

   connecting to:10.10.113.122:30000/admin

   >db.auth('admin','123456')

   1

   mongos>

   步骤三:以下是数据库及数据库用户创建的过程:

   mongos> use hello

   switched to db hello

   mongos>db.addUser('sa','sa')

   {

     "singleShard" :"shard2/10.10.113.122:10002,10.10.113.132:10002,10.10.113.133:10002",

     "n" : 0,

     "lastOp" :NumberLong("5723101431532093441"),

     "connectionId" : 38,

     "err" : null,

     "ok" : 1

   }

   {

     "user" : "sa",

     "readOnly" : false,

     "pwd" :"75692b1d11c072c6c79332e248c4f699",

     "_id" :ObjectId("4f6c8a6e9f67b049a20a00de")

   }

   mongos> exit

   bye

   # /usr/local/mongodb/bin/mongo 10.10.113.122:30000/hello -u sa -p

   MongoDB shell version: 2.0.4

   Enter password:

   connecting to:10.10.113.122:30000/hello

   > show collections

   system.indexes

   system.users

   > db.system.users.find()

   { "_id" :ObjectId("4f6c8a6e9f67b049a20a00de"), "user" :"sa", "readOnly" : false, "pwd" :"75692b1d11c072c6c79332e248c4f699" }


  分片
   # /usr/local/mongodb/bin/mongo -port 30000
   
   > use admin
   > db.runCommand({"enablesharding":"test"})
   > db.runCommand({"shardcollection":"test.doc","key":{"_id":1}})
   > db.runCommand({"shardcollection":"test.txt","key":{"_id":1}})
   索引
   > use test
   > db.fs.chunks.ensureIndex({files_id: 1});  
   > use admin
   > db.runCommand({ shardcollection : "test.fs.chunks", key : { files_id : 1 }}) 

   
   索引
   > use test
   
   > db.doc.ensureIndex({"letter":1})
   
   导入数据
   
   查询数据
   
   分片管理
   > use config
   > show collections
   > db.shards.find()
   > db.databases.find()
   > db.chunks.find()
   > db.printShardingStatus()

v4.4.2 MongoDB config 详解 mongod.conf mongod.conf for documentation of all options, see: 所有的配置选项都可以从官网上看到 http://docs.mongodb.org/manual/reference/configuration-options/ where to write logging data. 日志文件相关 systemLog: 记录日志的方式 destination: file 是否追加 logAppend: true 日志的路径 path: /var/log/rs0-0/mon 阅读详情

相关推荐

MongoDB之conf配置文件详解

MongoDB之conf配置文件详解

mongodb的mongo.conf文件 启动参数

  mongodb启动脚本为mongod,我们可以这样启动:./mongod –port=27017 –host=127.0.0.1 –dbpath=db –logpath=27017.log –fork=true   我相信,大部分人看到都会不由自主的在心中暗叹:哇,这么多! 然后,一部分人说,没事我自己每次写,但是像dbpath,logpath这样不会变的也要写吗,如果某天你忘了启动的端口......

https://gitee.com/hello-piper/PiperChat 2万+

SAP ABAP开发避坑:BAPI_MATVAL_PRICE_CHANGE调用报‘估价未维护’的完整解决流程

本文深入解析SAP ABAP开发中调用BAPI_MATVAL_PRICE_CHANGE函数时遇到的'估价未维护'错误,提供从基础配置检查到CKML_PRICE_SEND表维护的完整解决方案。通过实战案例和代码示例,帮助开发者快速定位问题并实现批量价格更新的自动化处理,提升开发效率。

weixin_28705087的博客 425

Mongodb启动命令mongod参数说明

mongod的主要参数有: 基本配置 -- -- -- ---- -- -- ---- -- -- ---- -- -- ---- -- -- ---- -- -- ---- -- -- -- --quiet # 安静输出 --port arg # 指定服务端口号,默认端口27017 --bind_ip arg # 绑定服务IP,...

limeOracle的博客 739

Ubuntu环境下rknn-toolkit2的安装与兼容性解析

本文详细解析了在Ubuntu系统上安装瑞芯微rknn-toolkit2工具链的完整流程与关键注意事项。文章重点剖析了rknn-toolkit2与旧版rknn-toolkit的核心兼容性问题,强调两者在API、模型格式及运行时库上互不兼容,并推荐使用Conda虚拟环境进行隔离管理,为RK3566、RK3588等开发板的AI模型部署提供清晰的实践指南。

weixin_29041767的博客 373

用MATLAB从零实现六足机器人步态仿真:交替三角与波动步态保姆级教程

本文详细介绍了如何使用MATLAB从零实现六足机器人的两种经典步态仿真:交替三角支撑步态和波动步态。通过参数定义、相位设置、运动轨迹生成和三维可视化等步骤,帮助读者掌握六足机器人步态规划的核心技术。教程包含完整代码和详细解析,适合机器人爱好者和相关专业学生学习实践。

weixin_26765363的博客 226

mongodb.conf配置文件详解

启动MongoDB有2种方式,一是直接指定配置参数,二是指定配置文件。这里先介绍配置文件,启动方式如下: 1.mongod --config /etc/mongodb.conf 配置如下: verbose:日志信息冗余。默认false。提高内部报告标准输出或记录到logpath配置的日志文件中。要启用verbose或启用verbosity 用vvvv参数,如: 1.verb

语不惊人死不休 2万+

Python+AI能源管理实战:从电力负荷预测到智能调度的全流程开发

本系统展示了Python在能源管理领域的强大能力,通过AI技术实现了从预测到优化的智能决策闭环。随着碳中和目标的推进,智能能源系统将成为新型电力系统的核心大脑。📌 专业建议:系统部署需考虑网络安全防护,关键控制指令应设置多重验证机制!关注我的优快云账号获取能源系统安全最佳实践~下期预告:我们将探索Python在智慧医疗中的应用,开发基于多模态数据的智能诊断辅助系统。想提前获取代码?评论区留言"智慧医疗"获取GitHub源码链接!

资深全栈架构师,乐于在 优快云 分享技术见解,与大家携手共进,共攀技术巅峰! 624

mongodb.conf配置文件

mongodb.conf配置文件 - 走看看

u012632105的博客 544

prokka-原核及病毒基因组高效便捷注释

文章目录简介安装使用参考 简介 Prokka: rapid prokaryotic genome annotation 全基因组注释是在一组基因组DNA序列中识别感兴趣的特征,并用有用的信息标记它们的过程。Prokka是一款软件工具,可以快速注释细菌、古生菌和病毒基因组,并生成符合标准的输出文件。 安装 conda install -c conda-forge -c bioconda -c defaults prokka Test Type prokka and it should output its

Neptuneyut的博客 3311

linux离线安装nginx

linux离线安装nginx

zhang_130914036的博客 9346

mongodb配置文件config.conf详解

配置文件在 /etc/mongod.conf文件里 启动方式 ./bin/mongod -f MongoDB.conf 会看到 about to fork child process, waiting until server is ready for connections. forked process: 2313 child process started successfully, parent exiting 基本配置 #数据库数据存放目录 dbpath=/usr/local/mongodb3

Bertram的博客 1万+

旗鱼优化算法(SFO)详解:从海洋猎手到智能优化

旗鱼优化算法(SFO)是一种新型群体智能优化算法,灵感来源于旗鱼的群体捕食行为。该算法采用双种群机制,模拟旗鱼(精英个体)与沙丁鱼(普通个体)的交互过程,通过交替攻击策略实现探索与开发的平衡。核心机制包括:基于猎物密度的旗鱼位置更新、随迭代衰减的攻击力度控制、以及捕食替换机制。SFO具有参数少、全局搜索能力强等特点,在高维复杂优化问题中表现优异。算法通过模拟自然界中的群体智能行为,为解决工程优化问题提供了新思路。

qq_42212808的博客 163

ubuntu安装mongdb,配置mongodb.conf文件

【代码】ubuntu安装mongdb,配置mongodb.conf文件。

weixin_45804471的博客 1107

国产服务器系统的PXE无人值守自动化安装部署——以银河麒麟、统信UOS、OpenEuler这三类服务器系统为例

本文详细介绍了三种国产服务器系统(银河麒麟、统信UOS、OpenEuler)的PXE无人值守自动化安装方法。主要内容包括:1)从系统ISO镜像中提取内核文件和根系统文件;2)编写GRUB菜单引导文件;3)配置自动应答文件实现自动化安装;4)重启PXE服务并测试安装过程。文章特别强调了硬盘容量需≥100GB、UEFI模式设置等注意事项,并提供了root密码重置方法。对于x86架构Windows上模拟ARM架构系统安装也给出了具体命令。通过完整的配置流程,可实现国产服务器系统的快速批量部署。

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 1464

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

mongodb配置文件.conf

配置文件在 /etc/mongod.conf文件里启动方式./bin/mongod -f MongoDB.conf 会看到 about to fork child process, waiting until server is ready for connections. forked process: 2313 child process started successfully, p

极客神殿 1447

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

《Ubuntu 下 MongoDB 配置文件详解:mongod.conf 参数优化》

通过精细调整参数,可显著提升数据库性能与安全性。建议根据实际硬件配置和业务场景进行参数调优,定期审查日志文件,并遵循最小权限原则配置访问控制。最终优化效果可通过命令验证性能指标变化。注:所有配置修改前请备份原文件,生产环境建议先在测试集群验证参数变更效果。

dhjvjkjkjko的博客 385

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: MongoDB可视化图形界面mongo-express/adminMongo安装过程
下一篇: 启动mongodb的时候报错:
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值