I have a running Graylog 4.3.9 instance based on FreeBSD, with MongoDB 3.6 and OpenSearch 1.3.4.
I want to upgrade it but reading the documentation there seems to be a chicken and egg situation of sorts.
The “Upgrade MongoDB” section states this:
- A running MongoDB standalone server.
A running Graylog 5.0+ cluster.
- Access to the servers where MongoDB is installed and the necessary privileges to install and start/stop software.
- MongoDB administrator credentials for the cluster.
- Administrator access to Graylog.
- Access to the Graylog server log files.
So, is Graylog 5.0 supposed to run with MongoDB 3.6.23? I presume I can’t have a running Graylog 5.0 cluster before I update MongoDB to 5.x or 6.x successfully, right?
I would start the journey by upgrading MongoDB to 4.4 which is supported by your Graylog 4.3.9 version (System Requirements) That will put you in a better position to upgrade Graylog to 5.x.
Here is a query post with some pretty good detail on the upgrade, though it’s Ubuntu, if you are familiar enough with Linux to use FreeBSD, you likely won’t have a problem in translation
Thank you very much. On it now.
Wow, MongoDB with link time optimization… the linker took 22 GB of memory, but it worked!
(Yes, I am one of those FreeBSD perverts that compile from ports)
From a tiny cluster running Graylog 4.3.9, MongoDB 3.6 and OpenSearch 1.3.4 I did the following.
I upgraded MongoDB step by step (that was daunting given that I always compile from ports) but there were no incidents.
With Graylog stopped, I stopped the Opensearch cluster and I snapshotted the database directories so that I could rollback quickly.
That done, I unpacked the tarball and I changed the rc.d file from ports so that it would allow me to specify OpenJDK17 instead of 8 by default.
Once I started everything I found that some Java options in the Graylog rc.d file don’t apply to OpenJDK 17.
# -XX:+AggressiveOpts \
# -XX:+CMSConcurrentMTEnabled \
# -XX:+CMSParallelRemarkEnabled \
# -XX:+UseCMSInitiatingOccupancyOnly \
# -XX:+UseConcMarkSweepGC \
# -XX:+UseFastAccessorMethods \
# -XX:+UseParNewGC \
# -XX:CMSInitiatingOccupancyFraction=75 \
That done it’s running. Probably not optimally.
Note: My CPU is a Xeon E3-1230L which supports AVX instructions. Anyway on another post I have hinted at how to build MongoDB without the requirement of AVX. It’s a simple matter of removing one optimization compiler flag from the SConstruct file.
My brother is as well - he associates with Dragonfly BSD
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.