sessions are not supported by the mongodb cluster to which this client is connected mongoDB 插入报错
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 插入报错相关推荐
- MongoDB在安装过程中权限不足无法安装服务报错的解决办法
报错:Service'MongoDB Server' failed to start. Verify that you have sufficient privileges to start syst ...
- 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 ...
- 报错解决: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 ...
- sudo brew install mongodb报错
报错信息如下: Error: Running Homebrew as root is extremely dangerous and no longer supported. As Homebrew ...
- 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 家 ...
- k8s集群部署中etcd启动报错request sent was ignored (cluster ID mismatch: peer[c39bdec535db1fd5]=cdf818194e3a8c
k8s集群部署中etcd启动报错处理 报错信息如下,主要报错信息有两条 原因是/var/lib/etcd/目录下缓存导致 解决方法 问题2: Error starting daemon: SELinu ...
- MongoDB+集成SpringBoot+索引+并发优化 - 基于《MongoDB进阶与实战:唐卓章》
文章目录 MongoDB - 基于<MongoDB进阶与实战:唐卓章> 一.首次安装 服务安装 配置文件修改 可视化工具 Docker部署 二.基本使用 2.1 概念解析 2.2 Mong ...
- mongodb偶尔报错com.mongodb.MongoSocketReadException: Prematurely reached end of stream
项目开发中,链接mongodb的项目,偶尔报错com.mongodb.MongoSocketReadException: Prematurely reached end of stream 报错的详细 ...
- 【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 ...
最新文章
- pandas 遍历 series
- python的进程模块
- 如何让代码更易于维护_易于使用的单位和集成代码
- linux组的管理命令,linux 用户和组管理命令(示例代码)
- $ajax 筛选某个属性,jQuery
- Exception处理
- 全局角度出发讨论敏捷
- 计算机ppt操作知识,计算机基础知识:PPT常用操作(一)
- 线性代数学习之行列式
- 产品经理的私房菜 作画篇
- 慕尼黑大学计算机研究生申请,慕尼黑大学读研
- html 树 excel,用Excel实现简易树状关系
- ubuntu 安装咖啡壶-chemex命令详解
- 数据分析新人如何面对繁杂且突然的数据需求
- 网络架构及其演变过程
- Appium基础操作
- java数字家谱管理系统设计与实现计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
- 如何修清净心?(净空老法师法语)
- 服务器配置记录(五)GNS3虚拟机SSH配置
- 【爬虫】邪恶gif图出处爬虫
热门文章
- 60分钟短线波段战术
- js是运行在服务器端的脚本语言,JavaScript脚本语言
- SAP 理解期末清帐和重分类
- [python][mediapipe]摄像头人脸检测
- IntelljIDEA优势
- 【uniapp】微信小程序体验版的下载文件一直显示加载中,开发调试则没有问题
- 使用Flashfxp实现Windows连接Ubuntu
- JavaXml教程(五)使用SAX方式解析XML文件
- 雷军20+年前作文:我会当一辈子程序员
- VSCode常用快捷键(放大/缩小字体、切换全屏、跳转指定行数、返回上一次位置、隐藏 /显示导航、注释代码)