Description
Splunk 9.4 uses mongod 7 which does not run under Rosetta2 (see https://www.mongodb.com/community/forums/t/mongo-5-on-apple-m1-laptops-via-docker/136506 )
So by hacking around I kind of made it work by switching back to mongod-4.2
-
Removed mongod link to mongo-7.0 (file /opt/splunk/bin/mongod )
-
Instead wrote a bash script that will pass everything to mongod-4.2 (see below)
-
In bash script get rid of one parameter that is not supported by mongod-4.2 --setParameter=minSnapshotHistoryWindowInSeconds=5
-
Made bash script executable. (chmod +x /opt/splunk/bin/mongod)
Script:
#!/bin/bash
# Define an array to store filtered arguments
filtered_args=()
# Iterate over all input arguments
while [[ $# -gt 0 ]]; do
case "$1" in
--setParameter=minSnapshotHistoryWindowInSeconds=5)
shift # Skip this parameter
;;
*)
filtered_args+=("$1")
shift
;;
esac
done
# Execute /opt/splunk/bin/mongod-4.2 with the filtered arguments
exec /opt/splunk/bin/mongod-4.2 "${filtered_args[@]}"
It seems like that made it to work.
Curious if there are any better workarounds or better compatibility? I know it is not very supported scenario running Splunk under rosetta, but a LOT of developers use it in that configuration.