mongoDB 插入报错

错误信息:sessions are not supported by the mongodb cluster to which this client is connected

在springboot2.x集成MongoDB 4.4 版本插入数据时报错,通过百度查找MongoDB 单节点不支持事物导致,通过研究在Linux环境下mongoDB 4搭建(副本集模式)就可以解决问题。

环境
Ubuntu 5.4.0-6ubuntu1~18.04.5
mongodb-linux-x86_64-rhel80-4.4.6.tgz

安装MongoDB:【原文链接】https://www.cnblogs.com/bubbleboom/p/14167409.html

创建主节点
建立存放数据和日志的目录
主节点

mkdir -p /home/admin/mongodb/replica_sets/rs_27017/log
mkdir -p /home/admin/mongodb/replica_sets/rs_27017/data/db

修改配置文件

vim /home/admin/mongodb/replica_sets/rs_27017/mongod.conf

代码如下:

systemLog:#MongoDB发送所有日志输出的目标指定为文件destination: file#mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径path: "/home/admin/mongodb/replica_sets/rs_27017/log/mongod.log"#当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾logAppend: true
storage:#mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongoddbPath: "/home/admin/mongodb/replica_sets/rs_27017/data/db"journal:#启用或禁用持久性日志以确保数据文件保持有效和可恢复。    enabled: true
processManagement:  #启用在后台运行mongos或mongod进程的守护进程模式。fork: true  #指定用于保存mongos或mongod进程的进程ID的文件位置,其中mongos或mongod将写入其PID  pidFilePath: "/home/admin/mongodb/replica_sets/rs_27017/log/mongod.pid"
net:  #服务实例绑定的IP  bindIp: localhost,127.0.0.1port: 27017
replication:  #副本集的名称  replSetName: kwz_rs

启动节点服务:MongoDB安装路径(/usr/local/mongodb/bin/mongod)

/usr/local/mongodb/bin/mongod -f /home/admin/mongodb/replica_sets/rs_27017/mongod.conf

创建副本级节点

mkdir -p /home/admin/mongodb/replica_sets/rs_27018/log
mkdir -p /home/admin/mongodb/replica_sets/rs_27018/data/db

修改配置文件

vim /home/admin/mongodb/replica_sets/rs_27018/mongod.conf

代码如下:

systemLog:#MongoDB发送所有日志输出的目标指定为文件destination: file#mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径path: "/home/admin/mongodb/replica_sets/rs_27018/log/mongod.log"#当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾logAppend: true
storage:#mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongoddbPath: "/home/admin/mongodb/replica_sets/rs_27018/data/db"journal:#启用或禁用持久性日志以确保数据文件保持有效和可恢复。    enabled: true
processManagement:  #启用在后台运行mongos或mongod进程的守护进程模式。fork: true  #指定用于保存mongos或mongod进程的进程ID的文件位置,其中mongos或mongod将写入其PID  pidFilePath: "/home/admin/mongodb/replica_sets/rs_27018/log/mongod.pid"
net:  #服务实例绑定的IP  bindIp: localhost,127.0.0.1port: 27018
replication:  #副本集的名称  replSetName: kwz_rs

启动节点服务:

/usr/local/mongodb/bin/mongod -f /home/admin/mongodb/replica_sets/rs_27018/mongod.conf

创建仲裁节点


mkdir -p /home/admin/mongodb/replica_sets/rs_27019/log
mkdir -p /home/admin/mongodb/replica_sets/rs_27019/data/db

修改配置文件

vim /home/admin/mongodb/replica_sets/rs_27019/mongod.conf

代码如下:

systemLog:#MongoDB发送所有日志输出的目标指定为文件destination: file#mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径path: "/home/admin/mongodb/replica_sets/rs_27019/log/mongod.log"#当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾logAppend: true
storage:#mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongoddbPath: "/home/admin/mongodb/replica_sets/rs_27019/data/db"journal:#启用或禁用持久性日志以确保数据文件保持有效和可恢复。    enabled: true
processManagement:  #启用在后台运行mongos或mongod进程的守护进程模式。fork: true  #指定用于保存mongos或mongod进程的进程ID的文件位置,其中mongos或mongod将写入其PID  pidFilePath: "/home/admin/mongodb/replica_sets/rs_27019/log/mongod.pid"
net:  #服务实例绑定的IP  bindIp: localhost,127.0.0.1port: 27019
replication:  #副本集的名称  replSetName: kwz_rs

启动节点服务:

/usr/local/mongodb/bin/mongod -f /home/admin/mongodb/replica_sets/rs_27019/mongod.conf

初始化配置副本集和主节点
用客户端连接主节点(27017)
/home/admin/usr/local/mongodb/bin/mongo --host=localhost --port=27017
连接成功之后,许多命令不能用,需要初始化副本集才行,使用默认的配置来初始化副本集:
命令:rs.initiate()

{"info2" : "no configuration specified. Using a default configuration for the set","me" : "localhost:27017","ok" : 1,"$clusterTime" : {"clusterTime" : Timestamp(100601049270, 1),"signature" : {"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),"keyId" : NumberLong(0)}},"operationTime" : Timestamp(1006010049270, 1)
}

“ok”的值为1则说明创建成功

添加副本从节点

将27018的副本节点添加到副本集中:

kwz_rs:PRIMARY> rs.add("localhost:27018")
{# 说明添加成功"ok" : 1,"$clusterTime" : {"clusterTime" : Timestamp(15852365226, 1),"signature" : {"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),"keyId" : NumberLong(0)}},"operationTime" : Timestamp(15852365226, 1)
}

此时再次查看副本集状态:rs.status()

添加仲裁从节点

将27019作为仲裁节点,添加到副本集中:

kwz_rs:PRIMARY> rs.addArb("localhost:27019")
{"ok" : 1,"$clusterTime" : {"clusterTime" : Timestamp(1242345451541, 1),"signature" : {"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),"keyId" : NumberLong(0)}},"operationTime" : Timestamp(1242345451541, 1)
}

查看副本节点状态:rs.status()

登陆27017主节点,进行写入和读取数据操作:

/home/admin/usr/local/mongodb/bin/mongo --host localhost --port 27017

登陆27018从节点,进行写入和读取数据操作

/home/admin/usr/local/mongodb/bin/mongo --host localhost --port 27018
show dbs

发现不能读取集合的数据,有个"errmsg" : “not master and slaveOk=false”,可见当前节点只是数据的一个备份,不是slave节点,无法读取数据
设置读操作权限,允许从成员上进行读的操作:rs.slaveOk()或者rs.slaveOk(true)

sessions are not supported by the mongodb cluster to which this client is connected mongoDB 插入报错相关推荐

  1. MongoDB在安装过程中权限不足无法安装服务报错的解决办法

    报错:Service'MongoDB Server' failed to start. Verify that you have sufficient privileges to start syst ...

  2. HBase hmaster无法正常启动,日志报错Operation category READ is not supported in state standby.hdfs ha hbase配置修改

    E2:HBase hmaster无法正常启动,日志报错Operation category READ is not supported in state standby. hdfs配置了ha,hbas ...

  3. 报错解决:RequestsDependencyWarning: urllib3 (1.24.3) or chardet (3.0.4) doesn't match a supported versio

    此文首发于我的个人博客:报错解决 RequestsDependencyWarning urllib3 (1.24.3) or chardet (3.0.4) doesn't match a suppo ...

  4. sudo brew install mongodb报错

    报错信息如下: Error: Running Homebrew as root is extremely dangerous and no longer supported. As Homebrew ...

  5. M001: MongoDB Basics Chapter 3: Deeper Dive on the MongoDB Query Language学习记录

    M001: MongoDB Basics Chapter 3: Deeper Dive on the MongoDB Query Language学习记录 运行环境 操作系统:windows 10 家 ...

  6. k8s集群部署中etcd启动报错request sent was ignored (cluster ID mismatch: peer[c39bdec535db1fd5]=cdf818194e3a8c

    k8s集群部署中etcd启动报错处理 报错信息如下,主要报错信息有两条 原因是/var/lib/etcd/目录下缓存导致 解决方法 问题2: Error starting daemon: SELinu ...

  7. MongoDB+集成SpringBoot+索引+并发优化 - 基于《MongoDB进阶与实战:唐卓章》

    文章目录 MongoDB - 基于<MongoDB进阶与实战:唐卓章> 一.首次安装 服务安装 配置文件修改 可视化工具 Docker部署 二.基本使用 2.1 概念解析 2.2 Mong ...

  8. mongodb偶尔报错com.mongodb.MongoSocketReadException: Prematurely reached end of stream

    项目开发中,链接mongodb的项目,偶尔报错com.mongodb.MongoSocketReadException: Prematurely reached end of stream 报错的详细 ...

  9. 【Qt】ubuntu14.04.5 qt5.6中使用opencv3.4报错:Using GTK+ 2.x and GTK+ 3 in the same process is not supported

    问题描述 ubuntu14.04.5 qt5.6中使用opencv3.4报错: Using GTK+ 2.x and GTK+ 3 in the same process is not support ...

最新文章

  1. pandas 遍历 series
  2. python的进程模块
  3. 如何让代码更易于维护_易于使用的单位和集成代码
  4. linux组的管理命令,linux 用户和组管理命令(示例代码)
  5. $ajax 筛选某个属性,jQuery
  6. Exception处理
  7. 全局角度出发讨论敏捷
  8. 计算机ppt操作知识,计算机基础知识:PPT常用操作(一)
  9. 线性代数学习之行列式
  10. 产品经理的私房菜 作画篇
  11. 慕尼黑大学计算机研究生申请,慕尼黑大学读研
  12. html 树 excel,用Excel实现简易树状关系
  13. ubuntu 安装咖啡壶-chemex命令详解
  14. 数据分析新人如何面对繁杂且突然的数据需求
  15. 网络架构及其演变过程
  16. Appium基础操作
  17. java数字家谱管理系统设计与实现计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  18. 如何修清净心?(净空老法师法语)
  19. 服务器配置记录(五)GNS3虚拟机SSH配置
  20. 【爬虫】邪恶gif图出处爬虫

热门文章

  1. 60分钟短线波段战术
  2. js是运行在服务器端的脚本语言,JavaScript脚本语言
  3. SAP 理解期末清帐和重分类
  4. [python][mediapipe]摄像头人脸检测
  5. IntelljIDEA优势
  6. 【uniapp】微信小程序体验版的下载文件一直显示加载中,开发调试则没有问题
  7. 使用Flashfxp实现Windows连接Ubuntu
  8. JavaXml教程(五)使用SAX方式解析XML文件
  9. 雷军20+年前作文:我会当一辈子程序员
  10. VSCode常用快捷键(放大/缩小字体、切换全屏、跳转指定行数、返回上一次位置、隐藏 /显示导航、注释代码)