Hi,
We are trying to move from Amazon Linux 2 to Amazon Linux 2023, which includes migrating our Percona MongoDB. We have been unsuccessful in installing Percona MongoDB (7.0.2), even though we are able to install the community version 7.0.2 (and 7.0.4) of MongoDB.
With this version of a YUM repository:
[psmdb-70-release-x86_64]
name = Percona Server for MongoDB 7.0 release/x86_64 YUM repository
baseurl = Percona Repo
enabled = 1
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/PERCONA-PACKAGING-KEY
we are getting these dependency errors when trying to install:
root@ip-10-0-133-251 tasks]# yum install percona-server-mongodb.x86_64
Last metadata expiration check: 0:01:13 ago on Tue Nov 14 20:22:09 2023.
Error:
Problem: package percona-server-mongodb-7.0.2-1.el9.x86_64 requires percona-server-mongodb-server = 7.0.2-1.el9, but none of the providers can be installed
- conflicting requests
- nothing provides liblber.so.2()(64bit) needed by percona-server-mongodb-server-7.0.2-1.el9.x86_64
- nothing provides liblber.so.2(OPENLDAP_2.200)(64bit) needed by percona-server-mongodb-server-7.0.2-1.el9.x86_64
- nothing provides libldap.so.2()(64bit) needed by percona-server-mongodb-server-7.0.2-1.el9.x86_64
- nothing provides libldap.so.2(OPENLDAP_2.200)(64bit) needed by percona-server-mongodb-server-7.0.2-1.el9.x86_64
(try to add ‘–skip-broken’ to skip uninstallable packages)
Has anyone had success in getting a version of MongoDB Percona (server) running on Amazon Linux 2023?
Thank you.
Hello cloudops1, I hope your are doing great.
The error you see is related to OpenLDAP libraries, namely libldap and liblber. That means these libraries should be installed on your Amazon Linux 2023 instance.
PSMDB was likely not tested as this is a recent release. For instance, KVM on-premise ISO images were published 2 weeks ago.
reference:
https://github.com/amazonlinux/amazon-linux-2023/issues/102
If you which to run PSMDB on Amazon Linux 2023, please make sure to install all necessary libraries, either from repositories or compiling them.
Note that this distribution is based on Centos 9 and other Fedora distributions, you may find more info here:
https://docs.aws.amazon.com/linux/al2023/ug/compare-with-al2.html
Please let us know how this works out for you.
Cheers.
2 Likes
Hi Arlindo,
Thank you for the reply.
We do understand the dependency issue, what is not clear to us is why there is a dependency at all for Percona Mongo DB 7.0.2, when the same mongo-org community version (7.0.2) installs and runs fine.
Are you able to elaborate a bit on what Percona adds to the mongodb-org that would require these dependencies?
Thanks again for the reply.
Hi Arlindo,
Some additional information - I just learned that Percona adds the ldap functionality (over the mongodb-org community version) and hence this is why we see the dependancy issue with the ldap database.
Secondly, it turns out that AWS currently does NOT support these dependency libraries that are required by Percona MongoDB. In writing to AWS support about this, they indicated to us that AL 2023 currently does not support the libraries, but they are “considering” adding the missing libraries to AL 2023. (it turns out that AL2023 has dropped many librariy support that AL2 used to support).
Thanks
1 Like
Also note, PDMDB doesn’t support officially Amazon Linux (yet!)
Details: Percona Software Support Lifecycle Overview - Percona
Hi radoslaw.szulgo,
After a bit of experimenting, I was able to get percona mongodb installed on Amazon Linux 2023. To do this, I had to retrieve the percona RPMs directly from the Percona download site, then force install them on AL2023 with “–nodeps”. Then I created a few sym links in /usr/lib64 so the percona mongo demon would be able to resolve its dependencies on the libraries:
[root@ip-10-0-221-161 lib]# cat /etc/os-release
NAME=“Amazon Linux”
VERSION=“2023”
ID=“amzn”
ID_LIKE=“fedora”
VERSION_ID=“2023”
PLATFORM_ID=“platform:al2023”
PRETTY_NAME=“Amazon Linux 2023.5.20240916”
ANSI_COLOR=“0;33”
CPE_NAME=“cpe:2.3:o:amazon:amazon_linux:2023”
HOME_URL=“Linux for the Cloud – Amazon Linux 2023 – Amazon Web Services”
DOCUMENTATION_URL=“https://docs.aws.amazon.com/linux/”
SUPPORT_URL=“AWS Premium Support - Cloud Services”
BUG_REPORT_URL=“GitHub - amazonlinux/amazon-linux-2023: Amazon Linux 2023”
VENDOR_NAME=“AWS”
VENDOR_URL=“https://aws.amazon.com/”
SUPPORT_END=“2028-03-15”
[root@ip-10-0-221-161 lib]# rpm -q -a | grep percona
percona-release-1.0-29.noarch
percona-mongodb-mongosh-2.1.5-1.el9.x86_64
percona-server-mongodb-tools-6.0.13-10.el9.x86_64
percona-server-mongodb-server-6.0.13-10.el9.x86_64
percona-server-mongodb-mongos-6.0.13-10.el9.x86_64
[root@ip-10-0-221-161 lib]# rpm -q -a | grep ldap
openldap-2.4.57-6.amzn2023.0.6.x86_64
[root@ip-10-0-221-161 lib]# ps -deaf | grep mongod
root 14706 2181 0 14:17 pts/1 00:00:00 tail -f mongod.log
mongod 14915 1 10 14:19 ? 00:00:39 /usr/bin/mongod -f /etc/mongod.conf
root 16720 2181 0 14:25 pts/1 00:00:00 grep --color=auto mongod
[root@ip-10-0-221-161 lib]#
[root@ip-10-0-221-161 lib]# ls -l /usr/lib64/libldap*
lrwxrwxrwx. 1 root root 23 Sep 23 17:19 /usr/lib64/libldap-2.4.so.2 → libldap_r-2.4.so.2.11.5 <== I created this symlink
lrwxrwxrwx. 1 root root 23 Sep 24 22:19 /usr/lib64/libldap.so.2 → libldap_r-2.4.so.2.11.5 <== and this one
lrwxrwxrwx. 1 root root 23 Jul 24 2023 /usr/lib64/libldap_r-2.4.so.2 → libldap_r-2.4.so.2.11.5
-rwxr-xr-x. 1 root root 366096 Jul 24 2023 /usr/lib64/libldap_r-2.4.so.2.11.5
[root@ip-10-0-221-161 lib]#
[root@ip-10-0-221-161 lib]# ls -l /usr/lib64/liblber*
lrwxrwxrwx. 1 root root 21 Jul 24 2023 /usr/lib64/liblber-2.4.so.2 → liblber-2.4.so.2.11.5
-rwxr-xr-x. 1 root root 75096 Jul 24 2023 /usr/lib64/liblber-2.4.so.2.11.5
lrwxrwxrwx. 1 root root 21 Sep 24 22:20 /usr/lib64/liblber.so.2 → liblber-2.4.so.2.11.5 <== another symlink I created
[root@ip-10-0-221-161 lib]#
[root@ip-10-0-221-161 lib]#
I was able to have this mongo instance join a replication set, become primary, and run under a stress test. No problems.
We’d like to know if and when Percona plans to support the Amazon Linux 2023 platform? It doesn’t seem to require a large change as I was able to manipulate the libraries so mongod would resolve the dependencies.
Do you have any update on this?
Thank you.
Nice research! Thanks for the feedback @cloudops1! We have this OS support on our roadmap. Theoretically this was planned for 2025, but I’ll circle back to our engineering team how your research can speed it up.