How to configure Mongodb connection within kubernetes to connect with my nodejs app - node.js

I create an nodejs app and try to connect it with mongodb on kubernetes cluster. The nodejs and mongodb app are separate pods in my cluster.
mongodb and app are running when i display the status , i can connect me to the mongodb pods and add datas
NAME READY STATUS RESTARTS AGE
my-backend-core-test-5d7b78c9dc-dt4bg 1/1 Running 0 31m
my-frontend-test-6868f7c7dd-b2qtm 1/1 Running 0 40h
my-mongodb-test-7d55dbff74-2m6cm 1/1 Running 0 34m
But when i try to make the connection with this script:
const urlDB = "my-mongodb-service-test.my-test.svc.cluster.local:27017";
console.log("urlDB :: ", urlDB);
mongoose.connect('mongodb://'+urlDB+'/test', { useNewUrlParser: true }).then(() => {
console.log("DB connected")
}).catch((err)=> {
console.log("ERROR")
})
I have the following error on my nodejs app:
> my-core#1.0.0 start /usr/src/app
> node ./src/app.js
urlDB :: my-mongodb-service-test.my-test.svc.cluster.local:27017
ERROR
As explained on kubernetes i'm suppose to communicate between the differents pods using service-name.namespace.svc.cluster.local (my-mongodb-service-test.my-test.svc.cluster.local:27017)
mongo logs show me a different host, corresponding to my pod and not the service. How can i configure the host on my yaml file ?
mongodb logs :
2019-05-24T10:57:02.367+0000 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2019-05-24T10:57:02.374+0000 I CONTROL [initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=my-mongodb-test-7d55dbff74-2m6cm
2019-05-24T10:57:02.374+0000 I CONTROL [initandlisten] db version v4.0.9
2019-05-24T10:57:02.374+0000 I CONTROL [initandlisten] git version: fc525e2d9b0e4bceff5c2201457e564362909765
2019-05-24T10:57:02.374+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016
2019-05-24T10:57:02.375+0000 I CONTROL [initandlisten] allocator: tcmalloc
2019-05-24T10:57:02.375+0000 I CONTROL [initandlisten] modules: none
2019-05-24T10:57:02.375+0000 I CONTROL [initandlisten] build environment:
2019-05-24T10:57:02.375+0000 I CONTROL [initandlisten] distmod: ubuntu1604
2019-05-24T10:57:02.375+0000 I CONTROL [initandlisten] distarch: x86_64
2019-05-24T10:57:02.375+0000 I CONTROL [initandlisten] target_arch: x86_64
2019-05-24T10:57:02.375+0000 I CONTROL [initandlisten] options: { net: { bindIp: "0.0.0.0" } }
2019-05-24T10:57:02.376+0000 I STORAGE [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2019-05-24T10:57:02.377+0000 I STORAGE [initandlisten]
2019-05-24T10:57:02.377+0000 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2019-05-24T10:57:02.377+0000 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem
2019-05-24T10:57:02.377+0000 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=485M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),statistics_log=(wait=0),verbose=(recovery_progress),
2019-05-24T10:57:03.521+0000 I STORAGE [initandlisten] WiredTiger message [1558695423:521941][1:0x7f2d2eeb0a80], txn-recover: Main recovery loop: starting at 2/140416 to 3/256
2019-05-24T10:57:03.719+0000 I STORAGE [initandlisten] WiredTiger message [1558695423:719280][1:0x7f2d2eeb0a80], txn-recover: Recovering log 2 through 3
2019-05-24T10:57:03.836+0000 I STORAGE [initandlisten] WiredTiger message [1558695423:836203][1:0x7f2d2eeb0a80], txn-recover: Recovering log 3 through 3
2019-05-24T10:57:03.896+0000 I STORAGE [initandlisten] WiredTiger message [1558695423:896185][1:0x7f2d2eeb0a80], txn-recover: Set global recovery timestamp: 0
2019-05-24T10:57:03.924+0000 I RECOVERY [initandlisten] WiredTiger recoveryTimestamp. Ts: Timestamp(0, 0)
2019-05-24T10:57:03.947+0000 I CONTROL [initandlisten]
2019-05-24T10:57:03.947+0000 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2019-05-24T10:57:03.947+0000 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2019-05-24T10:57:03.947+0000 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2019-05-24T10:57:03.947+0000 I CONTROL [initandlisten]
2019-05-24T10:57:03.947+0000 I CONTROL [initandlisten]
2019-05-24T10:57:03.947+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2019-05-24T10:57:03.947+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2019-05-24T10:57:03.947+0000 I CONTROL [initandlisten]
2019-05-24T10:57:03.984+0000 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
2019-05-24T10:57:03.986+0000 I NETWORK [initandlisten] waiting for connections on port 27017
mongodb yaml
apiVersion: v1
kind: Service
metadata:
name: my-mongodb-service-test
namespace: my-test
spec:
selector:
app: my-mongodb
env: test
ports:
- port: 27017
targetPort: 27017
protocol: TCP
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-mongodb-test
namespace: my-test
labels:
app: my-mongodb
env: test
spec:
selector:
matchLabels:
app: my-mongodb-test
replicas: 1
template:
metadata:
labels:
app: my-mongodb-test
spec:
containers:
- name: mongo
image: mongo:4.0.9
command:
- mongod
- "--bind_ip"
- "0.0.0.0"
imagePullPolicy: Always
ports:
- containerPort: 27017
name: mongo
hostPort: 27017
protocol: TCP
volumeMounts:
- mountPath: /data/db
name: mongodb-volume
volumes:
- name: mongodb-volume
hostPath:
path: /home/debian/mongodb

Your service selector is mismatch with pod labels, service endpoints is empty (you can check this by kubectl describe svc/my-mongodb-service-test -n my-test), so kubernetes can not access pod by service.
Correct service selector is:
apiVersion: v1
kind: Service
metadata:
name: my-mongodb-service-test
namespace: my-test
spec:
selector:
app: my-mongodb
...
This should match pod labels specify by spec.template.metadata.labels in Deployment yaml.

Related

Why do I get "0 - Unknown Error [object ProgressEvent]" errors?

I have downloaded this file of the repository(https://github.com/zeeshan87/Server-side-Development-with-NodeJS-Express-and-MongoDB/tree/master/Final%20Integrating%20Client%20and%20Server) that is an Angular project combined with NodeJS server for backend part, and tried to run the integrated version of the project. in the Angular part it seems it works fine, but I don't know how exactly run the node server part?
I tried to create a file named data inside ..\Final Integrating Client and Server\conFusionServer folder, then ran mongod --dbpath=data --bind_ip 127.0.0.1 and it seems it works also fine with the following result:
2020-02-03T21:08:28.069+0330 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2020-02-03T21:08:28.074+0330 I CONTROL [initandlisten] MongoDB starting : pid=8660 port=27017 dbpath=data 64-bit host=DESKTOP-UQ8B9FK
2020-02-03T21:08:28.074+0330 I CONTROL [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2
2020-02-03T21:08:28.074+0330 I CONTROL [initandlisten] db version v4.0.10
2020-02-03T21:08:28.075+0330 I CONTROL [initandlisten] git version: c389e7f69f637f7a1ac3cc9fae843b635f20b766
2020-02-03T21:08:28.075+0330 I CONTROL [initandlisten] allocator: tcmalloc
2020-02-03T21:08:28.075+0330 I CONTROL [initandlisten] modules: none
2020-02-03T21:08:28.075+0330 I CONTROL [initandlisten] build environment:
2020-02-03T21:08:28.075+0330 I CONTROL [initandlisten] distmod: 2008plus-ssl
2020-02-03T21:08:28.075+0330 I CONTROL [initandlisten] distarch: x86_64
2020-02-03T21:08:28.076+0330 I CONTROL [initandlisten] target_arch: x86_64
2020-02-03T21:08:28.076+0330 I CONTROL [initandlisten] options: { net: { bindIp: "127.0.0.1" }, storage: { dbPath: "data" } }
2020-02-03T21:08:28.079+0330 I STORAGE [initandlisten] Detected data files in data created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2020-02-03T21:08:28.079+0330 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=7627M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),statistics_log=(wait=0),verbose=(recovery_progress),
2020-02-03T21:08:28.369+0330 I STORAGE [initandlisten] WiredTiger message [1580751508:368748][8660:140711408328272], txn-recover: Main recovery loop: starting at 5/6528 to 6/256
2020-02-03T21:08:28.491+0330 I STORAGE [initandlisten] WiredTiger message [1580751508:490742][8660:140711408328272], txn-recover: Recovering log 5 through 6
2020-02-03T21:08:28.594+0330 I STORAGE [initandlisten] WiredTiger message [1580751508:593742][8660:140711408328272], txn-recover: Recovering log 6 through 6
2020-02-03T21:08:28.653+0330 I STORAGE [initandlisten] WiredTiger message [1580751508:652710][8660:140711408328272], txn-recover: Set global recovery timestamp: 0
2020-02-03T21:08:28.923+0330 I RECOVERY [initandlisten] WiredTiger recoveryTimestamp. Ts: Timestamp(0, 0)
2020-02-03T21:08:29.057+0330 I CONTROL [initandlisten]
2020-02-03T21:08:29.057+0330 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2020-02-03T21:08:29.060+0330 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2020-02-03T21:08:29.061+0330 I CONTROL [initandlisten]
2020-02-03T21:08:29.459+0330 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory 'data/diagnostic.data'
2020-02-03T21:08:29.463+0330 I NETWORK [initandlisten] waiting for connections on port 27017
But when I go to http://localhost:4200 to see the project, I get 0 - Unknown Error [object ProgressEvent] errors when loading the page elements!
It seems the connection between Angular and Node.JS isn't established but how can I fix it?

Docker-compose Nodejs Mongodb doesn't success

I am testing NodeJS + MongoDB on local Mac OS with docker-compose, but NodeJS and MongoDB can't connect successfully.
If I didn't setup --auth for MongoDB by below code, all works well.
Here's the code:
mongoose connection
mongodb://mongodb:27017/myprojectdatabase
docker-compose.yml
version: "3"
services:
web:
build: .
restart: always
ports:
- "8080:8080"
depends_on:
- mongodb
volumes:
- .:/mycode
mongodb:
image: mongo:latest
ports:
- "27017:27017"
Then I want to start --auth for the MongoDB like below, I got errors.
docker-compose.yml
version: "3"
services:
web:
build: .
restart: always
ports:
- "8080:8080"
depends_on:
- mongodb
volumes:
- .:/mycode
# environment:
# - NODE_ENV=production
mongodb:
image: mongo:latest
command: [--auth]
environment:
MONGO_INITDB_ROOT_USERNAME: my_admin
MONGO_INITDB_ROOT_PASSWORD: my2019
MONGO_INITDB_DATABASE: myprojectdatabase
ports:
- "27017:27017"
volumes:
- ./mydata:/data/db
Then I run
docker-compose down -v && docker-compose up --build
I got the output:
mongodb_1 | 2019-03-01T10:54:09.847+0000 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
mongodb_1 | 2019-03-01T10:54:09.869+0000 I CONTROL [initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=9554854909b1
mongodb_1 | 2019-03-01T10:54:09.869+0000 I CONTROL [initandlisten] db version v4.0.4
mongodb_1 | 2019-03-01T10:54:09.869+0000 I CONTROL [initandlisten] git version: f288a3bdf201007f3693c58e140056adf8b04839
mongodb_1 | 2019-03-01T10:54:09.869+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016
mongodb_1 | 2019-03-01T10:54:09.869+0000 I CONTROL [initandlisten] allocator: tcmalloc
mongodb_1 | 2019-03-01T10:54:09.869+0000 I CONTROL [initandlisten] modules: none
mongodb_1 | 2019-03-01T10:54:09.869+0000 I CONTROL [initandlisten] build environment:
mongodb_1 | 2019-03-01T10:54:09.869+0000 I CONTROL [initandlisten] distmod: ubuntu1604
mongodb_1 | 2019-03-01T10:54:09.869+0000 I CONTROL [initandlisten] distarch: x86_64
mongodb_1 | 2019-03-01T10:54:09.869+0000 I CONTROL [initandlisten] target_arch: x86_64
mongodb_1 | 2019-03-01T10:54:09.869+0000 I CONTROL [initandlisten] options: { net: { bindIpAll: true }, security: { authorization: "enabled" } }
mongodb_1 | 2019-03-01T10:54:09.873+0000 W STORAGE [initandlisten] Detected unclean shutdown - /data/db/mongod.lock is not empty.
mongodb_1 | 2019-03-01T10:54:09.876+0000 I STORAGE [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
mongodb_1 | 2019-03-01T10:54:09.878+0000 W STORAGE [initandlisten] Recovering data from the last clean checkpoint.
mongodb_1 | 2019-03-01T10:54:09.879+0000 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=487M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),statistics_log=(wait=0),verbose=(recovery_progress),
web_1 | connection error: { MongoNetworkError: failed to connect to server [mongodb:27017] on first connect [MongoNetworkError: connect ECONNREFUSED 192.168.160.2:27017]
web_1 | at Pool.<anonymous> (/usr/src/app/node_modules/mongodb-core/lib/topologies/server.js:505:11)
web_1 | at emitOne (events.js:116:13)
And some times I can see the log contains the user created information, sometimes are not.
2019-03-01T10:38:50.323+0000 I STORAGE [conn2] createCollection: admin.system.users with generated UUID: 6b3b88f9-e77c-4094-a1c7-153816202a9e
mongodb_1 | Successfully added user: {
mongodb_1 | "user" : "my_admin",
mongodb_1 | "roles" : [
mongodb_1 | {
mongodb_1 | "role" : "root",
mongodb_1 | "db" : "admin"
mongodb_1 | }
mongodb_1 | ]
mongodb_1 | }
mongodb_1 | 2019-03-01T10:38:50.340+0000 E - [main] Error saving history file: FileOpenFailed: Unable to open() file /home/mongodb/.dbshell: Unknown error
I am new on docker stuff. I guess the main problem is web can't establish a connection with mongodb. Spend too long on this problem.
Any help? Thanks!
Make sure you're not going to localhost of the web container. Treat containers as separate machines: localhost in one container is not shared with another one. That's why in the connection string you have mongodb:27017 and not localhost:27017, because mongodb in your default docker network is a DNS name of the container with mongo. You are using this connection string in the first (successful) case, make sure you have a valid DNS name in the second one.
And also make sure to include your DB credentials (username:password) in the connection string too.

bitnami mean does not work using bitnami script

Im using bitnami 3.2.11-0, when I try to start serivce something bad occurs and neither service could be started.
root#ip-172-31-15-96:/home/bitnami/apps/api# sudo service bitnami start
resize2fs 1.42.9 (4-Feb-2014)
The filesystem is already 26212055 blocks long. Nothing to do!
/opt/bitnami/mongodb/scripts/ctl.sh : mongodb could not be started
/opt/bitnami/php/scripts/ctl.sh : php-fpm could not be started
Syntax OK
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
/opt/bitnami/apache2/scripts/ctl.sh : httpd could not be started
/opt/bitnami/var/init/post-start/040_update_ip: 17: /opt/bitnami/var/init/post-start/040_update_ip: /opt/bitnami/apps/*/bnconfig: not found
daemon with PID 1454 awakened
ERROR: child process failed, exited with error number 14
about to fork child process, waiting until server is ready for connections.
forked process: 1559
2017-10-09T21:33:01.815+0000 I CONTROL [main] ***** SERVER RESTARTED *****
2017-10-09T21:33:01.820+0000 I CONTROL [initandlisten] MongoDB starting : pid=1559 port=27017 dbpath=/opt/bitnami/mongodb/data/db 64-bit host=ip-172-31-15-96
2017-10-09T21:33:01.820+0000 I CONTROL [initandlisten] db version v3.2.11
2017-10-09T21:33:01.820+0000 I CONTROL [initandlisten] git version: 009580ad490190ba33d1c6253ebd8d91808923e4
2017-10-09T21:33:01.820+0000 I CONTROL [initandlisten] allocator: tcmalloc
2017-10-09T21:33:01.820+0000 I CONTROL [initandlisten] modules: none
2017-10-09T21:33:01.820+0000 I CONTROL [initandlisten] build environment:
2017-10-09T21:33:01.820+0000 I CONTROL [initandlisten] distarch: x86_64
2017-10-09T21:33:01.820+0000 I CONTROL [initandlisten] target_arch: x86_64
2017-10-09T21:33:01.820+0000 I CONTROL [initandlisten] options: { config: "/opt/bitnami/mongodb/mongodb.conf", net: { bindIp: "127.0.0.1", port: 27017, unixDomainSocket: { filePermissions: 502, pathPrefix: "/opt/bitnami/mongodb/tmp" } }$
2017-10-09T21:33:01.842+0000 I - [initandlisten] Detected data files in /opt/bitnami/mongodb/data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2017-10-09T21:33:01.842+0000 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=1G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=sn$
2017-10-09T21:33:02.088+0000 E STORAGE [initandlisten] WiredTiger (1) [1507584782:87985][1559:0x7fb7a2216cc0], file:collection-51-8988087643268075125.wt, WT_SESSION.open_cursor: /opt/bitnami/mongodb/data/db/collection-51-898808764326807$
2017-10-09T21:33:02.088+0000 I - [initandlisten] Invariant failure: ret resulted in status UnknownError: 1: Operation not permitted at src/mongo/db/storage/wiredtiger/wiredtiger_session_cache.cpp 79
2017-10-09T21:33:02.097+0000 I CONTROL [initandlisten]
0x1313f62 0x12be9c8 0x12a6ced 0x10910e4 0x108f9e0 0x108ba02 0x108a40d 0x107afbb 0xfda4b4 0xfe0252 0x1079838 0xf9d4c8 0x96270e 0x964cb0 0x967ebd 0x7fb7a1117f45 0x95f0c9
----- BEGIN BACKTRACE -----
{"backtrace":[{"b":"400000","o":"F13F62","s":"_ZN5mongo15printStackTraceERSo"},{"b":"400000","o":"EBE9C8","s":"_ZN5mongo10logContextEPKc"},{"b":"400000","o":"EA6CED","s":"_ZN5mongo17invariantOKFailedEPKcRKNS_6StatusES1_j"},{"b":"400000",$
mongod(_ZN5mongo15printStackTraceERSo+0x32) [0x1313f62]
mongod(_ZN5mongo10logContextEPKc+0x138) [0x12be9c8]
mongod(_ZN5mongo17invariantOKFailedEPKcRKNS_6StatusES1_j+0xAD) [0x12a6ced]
mongod(_ZN5mongo17WiredTigerSession9getCursorERKSsmb+0xE4) [0x10910e4]
mongod(_ZN5mongo16WiredTigerCursorC1ERKSsmbPNS_16OperationContextE+0x50) [0x108f9e0]
mongod(_ZN5mongo21WiredTigerRecordStore6CursorC1EPNS_16OperationContextERKS0_b+0x92) [0x108ba02]
mongod(_ZN5mongo21WiredTigerRecordStoreC1EPNS_16OperationContextENS_10StringDataES3_SsbbllPNS_14CappedCallbackEPNS_20WiredTigerSizeStorerE+0x3ED) [0x108a40d]
mongod(_ZN5mongo18WiredTigerKVEngine14getRecordStoreEPNS_16OperationContextENS_10StringDataES3_RKNS_17CollectionOptionsE+0x1AB) [0x107afbb]
mongod(_ZN5mongo22KVDatabaseCatalogEntry14initCollectionEPNS_16OperationContextERKSsb+0x204) [0xfda4b4]
mongod(_ZN5mongo15KVStorageEngineC1EPNS_8KVEngineERKNS_22KVStorageEngineOptionsE+0x6D2) [0xfe0252]
mongod(+0xC79838) [0x1079838]
mongod(_ZN5mongo20ServiceContextMongoD29initializeGlobalStorageEngineEv+0x598) [0xf9d4c8]
mongod(+0x56270E) [0x96270e]
mongod(_ZN5mongo13initAndListenEi+0x10) [0x964cb0]
mongod(main+0x15D) [0x967ebd]
libc.so.6(__libc_start_main+0xF5) [0x7fb7a1117f45]
mongod(+0x55F0C9) [0x95f0c9]
----- END BACKTRACE -----
2017-10-09T21:33:02.097+0000 I - [initandlisten]
***aborting after invariant() failure
ERROR: child process failed, exited with error number 14
If I try using bin command it'll run.
root#ip-172-31-15-96:/home/bitnami/apps/api# mongod
2017-10-09T19:13:48.550+0000 I CONTROL [initandlisten] MongoDB starting : pid=15830 port=27017 dbpath=/data/db 64-bit host=ip-172-31-15-96
2017-10-09T19:13:48.550+0000 I CONTROL [initandlisten] db version v3.2.11
2017-10-09T19:13:48.550+0000 I CONTROL [initandlisten] git version: 009580ad490190ba33d1c6253ebd8d91808923e4
2017-10-09T19:13:48.550+0000 I CONTROL [initandlisten] allocator: tcmalloc
2017-10-09T19:13:48.550+0000 I CONTROL [initandlisten] modules: none
2017-10-09T19:13:48.550+0000 I CONTROL [initandlisten] build environment:
2017-10-09T19:13:48.550+0000 I CONTROL [initandlisten] distarch: x86_64
2017-10-09T19:13:48.550+0000 I CONTROL [initandlisten] target_arch: x86_64
2017-10-09T19:13:48.550+0000 I CONTROL [initandlisten] options: {}
2017-10-09T19:13:48.572+0000 I - [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2017-10-09T19:13:48.572+0000 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=1G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2017-10-09T19:13:48.724+0000 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-10-09T19:13:48.724+0000 I CONTROL [initandlisten]
2017-10-09T19:13:48.724+0000 I CONTROL [initandlisten]
2017-10-09T19:13:48.724+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2017-10-09T19:13:48.724+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2017-10-09T19:13:48.724+0000 I CONTROL [initandlisten]
2017-10-09T19:13:48.724+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2017-10-09T19:13:48.724+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2017-10-09T19:13:48.724+0000 I CONTROL [initandlisten]
2017-10-09T19:13:48.725+0000 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
2017-10-09T19:13:48.725+0000 I NETWORK [initandlisten] waiting for connections on port 27017
2017-10-09T19:13:48.725+0000 I NETWORK [HostnameCanonicalizationWorker] Starting hostname canonicalization worker
Has anyone experienced this before?
In bitnami stacks the following script is used:
sudo /opt/bitnami/ctlscript.sh start
I advise you to use that one but like this
sudo /opt/bitnami/ctlscript.sh restart
Finally i've reinstalled bitnami mean stack using wget.
$ wget https://bitnami.com/redirect/to/159963/bitnami-meanstack-3.4.9-0-linux-x64-installer.run
$ chmod +x ./bitnami-meanstack-3.4.9-0-linux-x64-installer.run
I followed the installer steps and then run $ sudo service bitnami start mongodb.
Thanks.

mongo command error "code" : 76 in debian 8.6

I'm trying to run a rocketchat server on Debian 8.6.
I've followed all the instructions from this page https://rocket.chat/docs/installation/manual-installation/debian/ which sends me to this one https://rocket.chat/docs/installation/manual-installation/ubuntu/#2-install-rocketchat
Now I'm stuck at this part.
Start the MongoDB shell and initiate the replica set:
mongo
rs.initiate()
It returns this
root#viejo:/# mongo
MongoDB shell version: 3.2.10
connecting to: test
Server has startup warnings:
2016-10-02T12:19:35.158-0700 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2016-10-02T12:19:35.158-0700 I CONTROL [initandlisten]
2016-10-02T12:19:35.158-0700 I CONTROL [initandlisten]
2016-10-02T12:19:35.158-0700 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is always'.
2016-10-02T12:19:35.158-0700 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2016-10-02T12:19:35.158-0700 I CONTROL [initandlisten]
2016-10-02T12:19:35.158-0700 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 3902 processes, 65536 files. Number of processes should be at least 32768 : 0.5 times number of files.
2016-10-02T12:19:35.158-0700 I CONTROL [initandlisten]
> rs.initiate()
{
"ok" : 0,
"errmsg" : "This node was not started with the replSet option",
"code" : 76
}
In the /etc/mongod.conf file, I have manually substituted this
replication:
replSetName: "001-rs"
with this
--replSet=001-rs
as recommended here Replica Set Error Code 76 but nothing changed
Here some important text:
root#viejo:/# mongod --version
db version v3.2.10
git version: 79d9b3ab5ce20f51c272b4411202710a082d0317
OpenSSL version: OpenSSL 1.0.1t 3 May 2016
allocator: tcmalloc
modules: none
build environment:
distmod: debian71
distarch: x86_64
target_arch: x86_64re
root#viejo:/# node --version
v4.5.0
This is my /etc/mongodb.conf file (the "journal=true" line is followed by 65 lines, all of them starting with #)
# mongodb.conf
# Where to store the data.
dbpath=/var/lib/mongodb
#where to log
logpath=/var/log/mongodb/mongodb.log
logappend=true
bind_ip = 127.0.0.1
#port = 27017
# Enable journaling, http://www.mongodb.org/display/DOCS/Journaling
journal=true
This is my /etc/mongod.conf file
# mongod.conf
# for documentation of all options, see:
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
#processManagement:
#security:
#operationProfiling:
replication:
replSetName: "001-rs"
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
This is my /etc/hosts file
127.0.0.1 localhost
127.0.1.1 viejo.primer viejo
127.0.0.1 viejo
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
I've done this (in another tab) before running the mongo command.
root#viejo:/# mongod
2016-10-02T12:19:33.499-0700 I CONTROL [initandlisten] MongoDB starting : pid=1665 port=27017 dbpath=/data/db 64-bit host=viejo
2016-10-02T12:19:33.500-0700 I CONTROL [initandlisten] db version v3.2.10
2016-10-02T12:19:33.500-0700 I CONTROL [initandlisten] git version: 79d9b3ab5ce20f51c272b4411202710a082d0317
2016-10-02T12:19:33.500-0700 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1t 3 May 2016
2016-10-02T12:19:33.500-0700 I CONTROL [initandlisten] allocator: tcmalloc
2016-10-02T12:19:33.500-0700 I CONTROL [initandlisten] modules: none
2016-10-02T12:19:33.500-0700 I CONTROL [initandlisten] build environment:
2016-10-02T12:19:33.500-0700 I CONTROL [initandlisten] distmod: debian71
2016-10-02T12:19:33.501-0700 I CONTROL [initandlisten] distarch: x86_64
2016-10-02T12:19:33.501-0700 I CONTROL [initandlisten] target_arch: x86_64
2016-10-02T12:19:33.501-0700 I CONTROL [initandlisten] options: {}
2016-10-02T12:19:33.611-0700 I - [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2016-10-02T12:19:33.611-0700 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=1G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2016-10-02T12:19:35.158-0700 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2016-10-02T12:19:35.158-0700 I CONTROL [initandlisten]
2016-10-02T12:19:35.158-0700 I CONTROL [initandlisten]
2016-10-02T12:19:35.158-0700 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2016-10-02T12:19:35.158-0700 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2016-10-02T12:19:35.158-0700 I CONTROL [initandlisten]
2016-10-02T12:19:35.158-0700 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 3902 processes, 65536 files. Number of processes should be at least 32768 : 0.5 times number of files.
2016-10-02T12:19:35.158-0700 I CONTROL [initandlisten]
2016-10-02T12:19:35.159-0700 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
2016-10-02T12:19:35.160-0700 I NETWORK [initandlisten] waiting for connections on port 27017
2016-10-02T12:19:35.161-0700 I NETWORK [HostnameCanonicalizationWorker] Starting hostname canonicalization worker
2016-10-02T12:19:50.030-0700 I NETWORK [initandlisten] connection accepted from 127.0.0.1:39524 #1 (1 connection now open)
I need some help here please!
Thanks in advance.

Cannot use mongoimport on vagrant

Following is my mongo.conf:
# mongod.conf
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
port: 27017
# bindIp: 127.0.0.1
replication:
replSetName: rs0
oplogSizeMB: 250
I tried to import the data given here on the guest linux using
wget https://raw.githubusercontent.com/mongodb/docs-assets/primer-dataset/dataset.json
mongoimport --host=127.0.0.1 --port=27017 --db test --collection dataset --file dataset.json
and also tried on the host machine (mac):
mongoimport --host=127.0.0.1 --port=27071 --db test --collection dataset --file dataset.json
In both the cases I get the following output:
2016-02-25T11:01:56.280-0500 connected to: 127.0.0.1:27071
2016-02-25T11:01:59.278-0500 [........................] test.dataset 0.0 B/11.3 MB (0.0%)
2016-02-25T11:01:59.309-0500 [........................] test.dataset 0.0 B/11.3 MB (0.0%)
2016-02-25T11:01:59.309-0500 Failed: error checking connected node type: no reachable servers
2016-02-25T11:01:59.309-0500 imported 0 documents
All the requests that I make to port 27071 on the host system are forwarded to post 27017 on the linux guest. There are no connections issues as curl localhost:27071 gives It looks like you are trying to access MongoDB over HTTP on the native driver port.
UPDATE:
Following is the log of mongo:
2016-02-25T18:33:23.938+0000 I CONTROL ***** SERVER RESTARTED *****
2016-02-25T18:33:23.941+0000 I CONTROL [initandlisten] MongoDB starting : pid=4810 port=27017 dbpath=/var/lib/mongodb 64-bit host=vagrant-ubuntu-trusty-64
2016-02-25T18:33:23.941+0000 I CONTROL [initandlisten] db version v3.0.9
2016-02-25T18:33:23.941+0000 I CONTROL [initandlisten] git version: 20d60d3491908f1ae252fe452300de3978a040c7
2016-02-25T18:33:23.941+0000 I CONTROL [initandlisten] build info: Linux ip-10-732-9-221 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2016-02-25T18:33:23.941+0000 I CONTROL [initandlisten] allocator: tcmalloc
2016-02-25T18:33:23.941+0000 I CONTROL [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "0.0.0.0", port: 27017 }, replication: { oplogSizeMB: 250, replSetName: "rs0" }, storage: { dbPath: "/var/lib/mongodb", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2016-02-25T18:33:23.969+0000 I JOURNAL [initandlisten] journal dir=/var/lib/mongodb/journal
2016-02-25T18:33:23.969+0000 I JOURNAL [initandlisten] recover : no journal files present, no recovery needed
2016-02-25T18:33:24.006+0000 I JOURNAL [durability] Durability thread started
2016-02-25T18:33:24.006+0000 I JOURNAL [journal writer] Journal writer thread started
2016-02-25T18:33:24.007+0000 I CONTROL [initandlisten]
2016-02-25T18:33:24.007+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2016-02-25T18:33:24.007+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2016-02-25T18:33:24.007+0000 I CONTROL [initandlisten]
2016-02-25T18:33:24.007+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2016-02-25T18:33:24.007+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2016-02-25T18:33:24.007+0000 I CONTROL [initandlisten]
2016-02-25T18:33:24.010+0000 I REPL [initandlisten] Did not find local replica set configuration document at startup; NoMatchingDocument Did not find replica set configuration document in local.system.replset
2016-02-25T18:33:24.011+0000 I NETWORK [initandlisten] waiting for connections on port 27017
If I try to do mongoimport --host=0.0.0.0 --port=27071 --db test --collection dataset --file dataset.json from the host system, following is added to the log:
2016-02-25T18:36:03.443+0000 I NETWORK [initandlisten] connection accepted from 10.0.2.2:51277 #1 (1 connection now open)
2016-02-25T18:36:06.479+0000 I NETWORK [conn1] end connection 10.0.2.2:51277 (0 connections now open)
and when I try this same command from the guest linux, I get:
2016-02-25T18:38:29.982+0000 I NETWORK [initandlisten] connection accepted from 127.0.0.1:59910 #2 (1 connection now open)
2016-02-25T18:38:32.994+0000 I NETWORK [conn2] end connection 127.0.0.1:59910 (0 connections now open)
Try to chance your bindIp param to 0.0.0.0, and restart the service.

Resources