Installing the psycopg2 Python package for PostgreSQL-backed Hue
If you are installing Runtime 7 and using PostgreSQL as a backend database for Hue, then you must install the 2.9.3 version of the psycopg2 package on all Hue hosts. The psycopg2 package is automatically installed as a dependency of Cloudera Manager Agent, but the version installed is often lower than 2.9.3.
Cloudera recommends that you install 2.9.5 version of the psycopg2
package
on RHEL8 and CentOS 8.
- SSH into the Hue host as a root user.
- Install the
psycopg2
package dependencies for CentOS 7 by running the following commands:yum install -y centos-release yum install -y centos-release-scl yum install -y xmlsec1 xmlsec1-openssl
- Install the
rh-postgresql-postgresql-devel
package corresponding to your database version by running the following command:yum install -y rh-postgresql[***DB-VERSION***]-postgresql-devel
- Add the location of the installed
rh-postgresql-postgresql-devel
package to thePATH
environment variable by running the following command:export PATH=/opt/rh/rh-postgresql[***DB-VERSION***]/root/usr/bin:$PATH
- Verify the database version by running the following command:
psql -V
- Install the
psycopg2
package by running the following command:pip3.8 install psycopg2==2.9.3
If you see an error such as
ImportError: libpq.so.rh-postgresql10-5: cannot open shared object file: No such file or directory, then add the path where you installed the package to the
LD_LIBRARY_PATH
environment variable as shown in the
following sample command:
export LD_LIBRARY_PATH=/opt/rh/rh-postgresql[***DB-VERSION***]/root/usr/lib64:$LD_LIBRARY_PATH
To install the
centos7-extras
repo, perform the following steps:- Obtain the release number of the operating system and input it into the
OS_RELEASE_MAJOR
variable by running the following commands:OS_RELEASE=$(rpm -q --qf "%{VERSION}" $(rpm -q --whatprovides redhat-release))
OS_RELEASE_MAJOR=$(echo $OS_RELEASE | cut -d. -f1)
- Download the GPG key and save it locally by running the following
command:
curl -s https://www.centos.org/keys/RPM-GPG-KEY-CentOS-$OS_RELEASE_MAJOR | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$OS_RELEASE_MAJOR
- Create the repo file named
Centos-Extras.repo
in the /etc/yum.repos.d directory by running the following command:vi /etc/yum.repos.d/Centos-Extras.repo
- Add the following lines in the
Centos-Extras.repo
file, save the file and exit:[extras] name=CentOS-$releasever - Extras baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ #baseurl=http://mirror.infra.cloudera.com/repos/centos/7/extras/\$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 priority=1
The following steps apply to RHEL 8.6 and CentOS 8.4:
- SSH into the Hue host as a root user.
- Install the
psycopg2
package dependencies for RHEL 8/CentOS 8 by running the following commands:dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install -y xmlsec1 xmlsec1-openssl
- Install the PostgreSQL database server by running the following
command:
dnf install -y postgresql-server
- Install the
postgresql-devel
package by running the following command:dnf install y postgresqlserver-devel
- Install the
psycopg2
package by running the following command:pip3.8 install psycopg2-binary==2.9.5
- SSH into the Hue host as a root user.
- Install the
psycopg2
package dependencies for SLES 12 by running the following commands:zypper install xmlsec1 zypper install xmlsec1-devel Zypper install xmlsec1-openssl-devel
- Install the
postgresql-devel
package corresponding to your database version by running the following command:zypper -n postgresql[***DB-VERSION***]-devel
- Add the location of the installed
postgresql-devel
package to thePATH
environment variable by running the following command:export PATH=$PATH:/usr/local/bin
- Install the
psycopg2
package by running the following command:pip3.8 install psycopg2==2.9.3 --ignore-installed
- SSH into the Hue host as a root user.
- Install the
psycopg2
package dependencies for Ubuntu by running the following commands:apt-get install -y xmlsec1 apt-get install libxmlsec1-openssl apt-get install libpq-dev python3-pip -y
- Install the
python3-dev
andlibpq-dev
packages by running the following command:apt install python3-dev libpq-dev
- Add the location of the installed
postgresql-devel
package to thePATH
environment variable by running the following command:export PATH=$PATH:/usr/local/bin
- Install the
psycopg2
package by running the following command:pip3.8 install psycopg2==2.9.3 --ignore-installed