Difference between revisions of "DB/MongoDB"

From Ever changing code
< DB
Jump to navigation Jump to search
(Created page with "= Mongo client = == mongocli == <code>mongocli</code> is a client for connecting to MongoDB versions 5 and above. <source lang=bash> kubectl -n mongo run --image=ubuntu:20.04...")
 
Line 1: Line 1:
= Mongo client =
= Mongo client =
== mongocli ==
== <code>mongocli</code> ==
<code>mongocli</code> is a client for connecting to MongoDB versions 5 and above.
<code>mongocli</code> is a client for connecting to MongoDB versions 5 and above.
<source lang=bash>
<source lang=bash>
Line 14: Line 14:
apt-get install -y mongocli
apt-get install -y mongocli
</source>
</source>
= Operational mongo queries =
<source lang=mongo>
rs.conf()                    # show current replica set config
rs.status()                  # show current replica set status
printjson(db.serverStatus()) # server status
</source>
= Failover PRIMARY =
<source lang=bash>
# Print the RS (replication set) configuration
k -n mongo exec mongodb-0 -- mongo -u root -p $PASSWORD --eval "rs.conf()"
</source>
<syntaxhighlight lang="json">
rs0:SECONDARY> rs.conf()
{
"_id" : "rs0",
"version" : 201111,
"protocolVersion" : NumberLong(1),
"writeConcernMajorityJournalDefault" : true,
"members" : [
{
"_id" : 0,
"host" : "mongodb-0.mongodb-headless.mongo:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 0.5,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 1,
"host" : "mongodb-arbiter-0.mongodb-arbiter-headless.mongo:27017",
"arbiterOnly" : true,
"buildIndexes" : true,
"hidden" : false,
"priority" : 0,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 2,
"host" : "mongodb-1.mongodb-headless.mongo:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 0.5,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 3,
"host" : "mongodb-2.mongodb-headless.mongo:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 0.5,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
}
],
"settings" : {
"chainingAllowed" : true,
"heartbeatIntervalMillis" : 2000,
"heartbeatTimeoutSecs" : 10,
"electionTimeoutMillis" : 10000,
"catchUpTimeoutMillis" : -1,
"catchUpTakeoverDelayMillis" : 30000,
"getLastErrorModes" : {
},
"getLastErrorDefaults" : {
"w" : 1,
"wtimeout" : 0
},
"replicaSetId" : ObjectId("111111111122222222223333")
}
}
</syntaxhighlight>

Revision as of 18:03, 11 March 2022

Mongo client

mongocli

mongocli is a client for connecting to MongoDB versions 5 and above.

kubectl -n mongo run --image=ubuntu:20.04 ubuntu-1 --rm -it -- bash
# Install generic tools
DEBIAN_FRONTEND=noninteractive apt install -yq dnsutils iproute2 iputils-ping iputils-tracepath net-tools netcat procps curl wget
# Install mongo cli
apt-get install gnupg -yy
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | apt-key add -
touch /etc/apt/sources.list.d/mongodb-org-5.0.list
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" > /etc/apt/sources.list.d/mongodb-org-5.0.list
apt-get update
apt-get install -y mongocli

Operational mongo queries

rs.conf()                    # show current replica set config
rs.status()                  # show current replica set status
printjson(db.serverStatus()) # server status

Failover PRIMARY

# Print the RS (replication set) configuration
k -n mongo exec mongodb-0 -- mongo -u root -p $PASSWORD --eval "rs.conf()"
rs0:SECONDARY> rs.conf()
{
	"_id" : "rs0",
	"version" : 201111,
	"protocolVersion" : NumberLong(1),
	"writeConcernMajorityJournalDefault" : true,
	"members" : [
		{
			"_id" : 0,
			"host" : "mongodb-0.mongodb-headless.mongo:27017",
			"arbiterOnly" : false,
			"buildIndexes" : true,
			"hidden" : false,
			"priority" : 0.5,
			"tags" : {
				
			},
			"slaveDelay" : NumberLong(0),
			"votes" : 1
		},
		{
			"_id" : 1,
			"host" : "mongodb-arbiter-0.mongodb-arbiter-headless.mongo:27017",
			"arbiterOnly" : true,
			"buildIndexes" : true,
			"hidden" : false,
			"priority" : 0,
			"tags" : {
				
			},
			"slaveDelay" : NumberLong(0),
			"votes" : 1
		},
		{
			"_id" : 2,
			"host" : "mongodb-1.mongodb-headless.mongo:27017",
			"arbiterOnly" : false,
			"buildIndexes" : true,
			"hidden" : false,
			"priority" : 0.5,
			"tags" : {
				
			},
			"slaveDelay" : NumberLong(0),
			"votes" : 1
		},
		{
			"_id" : 3,
			"host" : "mongodb-2.mongodb-headless.mongo:27017",
			"arbiterOnly" : false,
			"buildIndexes" : true,
			"hidden" : false,
			"priority" : 0.5,
			"tags" : {
				
			},
			"slaveDelay" : NumberLong(0),
			"votes" : 1
		}
	],
	"settings" : {
		"chainingAllowed" : true,
		"heartbeatIntervalMillis" : 2000,
		"heartbeatTimeoutSecs" : 10,
		"electionTimeoutMillis" : 10000,
		"catchUpTimeoutMillis" : -1,
		"catchUpTakeoverDelayMillis" : 30000,
		"getLastErrorModes" : {
			
		},
		"getLastErrorDefaults" : {
			"w" : 1,
			"wtimeout" : 0
		},
		"replicaSetId" : ObjectId("111111111122222222223333")
	}
}