To help some time for future people. 😃 Initially when I run
cd /usr/lib/hive/bin/ ./schematool -dbType postgres -initSchema
I got error:
org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version. Underlying cause: org.postgresql.util.PSQLException : FATAL: no pg_hba.conf entry for host "172.31.187.xx", user "hive_metastore_readwrite", database "hive_metastore_db", no encryption SQL Error code: 0
I am using Amazon EMR version emr-6.12.0, however, it only has an old PostgreSQL JDBC Driver at /usr/lib/hive/lib/postgresql-9.4.1208.jre7.jar
I am using Postgres 15 from Amazon RDS.
I need download latest PostgreSQL JDBC Driver at https://jdbc.postgresql.org/download/ and move to folder /usr/lib/hive/lib/
Or you can use command to download
sudo curl --silent --fail --show-error --location --remote-name --output-dir /usr/lib/hive/lib/ https://jdbc.postgresql.org/download/postgresql-42.6.0.jar
Then I can succeed
cd /usr/lib/hive/bin/ ./schematool -dbType postgres -initSchema
The tutorial's sudo yum install postgresql
is old.
I met issue
psql --host=my.abc.us-west-2.rds.amazonaws.com --port=5432 --dbname=hive_metastore_db --username=hive_metastore_readwrite --password Password for user hive_metastore_readwrite: psql: SCRAM authentication requires libpq version 10 or above
After install new
sudo yum install -y amazon-linux-extras # postgresql15 does not exist today sudo amazon-linux-extras install postgresql14
I can succeed
psql --host=my.abc.us-west-2.rds.amazonaws.com --port=5432 --dbname=hive_metastore_db --username=hive_metastore_readwrite --password
This section is also old. initctl
, stop
, start
are for Amazon EMR 4.x-5.29.0 release versions:
[hadoop@ip-X-X-X-X bin]$ sudo initctl list |grep -i hive
hive-server2 start/running, process 11818
hive-hcatalog-server start/running, process 12708
[hadoop@ip-X-X-X-X9 bin]$ sudo stop hive-server2
hive-server2 stop/waiting
[hadoop@ip-X-X-X-X bin]$ sudo stop hive-hcatalog-server
hive-hcatalog-server stop/waiting
[hadoop@ip-X-X-X-X bin]$ sudo start hive-server2
hive-server2 start/running, process 18798
[hadoop@ip-X-X-X-X bin]$ sudo start hive-hcatalog-server
hive-hcatalog-server start/running, process 19614
The Amazon EMR 5.30.0 and later release versions, and Amazon EMR 6.x, the corresponding commands are
systemctl status | grep -i hive sudo systemctl stop hive-hcatalog-server.service sudo systemctl start hive-hcatalog-server.service
(In my case, I only have Trino. I do not have hive-server2
running)
Reference: https://repost.aws/knowledge-center/restart-service-emr
Thank you for your comment. We'll review and update the Knowledge Center article as needed.
Relevant content
- asked 3 years ago
- asked 2 years ago
- asked a year ago
- asked 8 months ago
- AWS OFFICIALUpdated 3 months ago
- AWS OFFICIALUpdated 2 years ago