Hello everyone,
I am currently trying to do some researches on MongoDB. The Jepsen caught my attention and I think it will help me a lot.
I didn't find any documentation to guide me to set up Jepsen cluster environment so I used
Docker Compose to be my development environment.(Does anyone know where the guide is ?)
According to the guide, I can run the etcd test successfully. But when it comes to MongoDB test, I failed.
There are some questions and problems.
As this
issues , I met the same problem: still install libzip2 instead of libzip4. To solve this problem, I have tried some methods.
Method1 : editing the /etc/apt/sources.list to some other mirrors so maybe I can install libzip2. But I can't install libc++1 and libnmp30.
So I deprecated this method.
Method2: modifing the project.clj, change the jepsen version from 10.0 to 13.0. It had made some progress. Here are my operations
docker exec -it jepsen-control bash
modified the project.clj
lein run test -t set
It makes me confused. When I modified it and run,
it may compling error
root@control:/jepsen/ouyang/mongodb-git/mongodb# lein run test -t set
Compiling jepsen.mongodb.runner
java.lang.IllegalArgumentException: Can't define method not in interfaces: check, compiling:(jepsen/mongodb/dbhash.clj:77:3)
Exception in thread "main" java.lang.IllegalArgumentException: Can't define method not in interfaces: check, compiling:(jepsen/mongodb/dbhash.clj:77:3)
or it may still install libzip2.
If it back to Jepsen 10.0 and switch repeatedly, it will install libzip4 and continue. It's amazing.I guess I have miss some commands to update the project.
But here comes new problem.
ERROR [2020-02-05 09:50:32,751] main - jepsen.cli Oh jeez, I'm sorry, Jepsen broke. Here's why:
java.util.concurrent.ExecutionException: java.lang.RuntimeException: sudo -S -u mongodb bash -c "cd /; start-stop-daemon --start --name mongod --pidfile /opt/mongodb/n1/mongod.pid --chdir /opt/mongodb/n1 --oknodo --startas /opt/mongodb/n1/bin/mongod -- --fork --pidfilepath /opt/mongodb/n1/mongod.pid --port 27017 --config /opt/mongodb/n1/mongod.conf >> /opt/mongodb/n1/stdout.log 2>&1" returned non-zero exit status 127 on n1. STDOUT:
I exec in jepsen-n1 node and run this command in shell. Nothing happened in stdout or stderr. It makes me frustrated
I would appreciate it if someone could help me or would like to discuss the problem with me.
Thank you.
Regards,
Young