Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

How to add another HiveServer for current metastore ?

avatar
Super Collaborator

Hello

I have a cluster (HDP 2.3.2) with one edge node serving as Hive Server (running hiveserver2). This server is used for Hive ETL processes and also for end users that query the hive databases. Because this server is very busy i want to add another edge server that will be dedicated for the ETL processes, thus ending up with one edge node for ETL processes (that insert data to Hive tables), and a different edge node that serves end users for querying the same hive tables. I've added the new host to the cluster, ran the add HiveServer2 wizard. The Amabri shows everything is up and running. When i login to the new edge node, run "beeline" and login to hive but i can't see the tables in my old hive metastore. It is as if these are two completely separate instances.

I need two different servers looking at the same Hive metastore\DB. Any ideas how can i acomplish this ?

1 ACCEPTED SOLUTION

avatar
Master Mentor
@Adi Jabkowsky

Take a look on the error logs...

ERROR [HiveServer2-Background-Pool: Thread-165]: authorizer.RangerHiveAuthorizer (RangerHiveAuthorizer.java:filterListCmdObjects(430)) - filterListCmdObjects: Internal error: null RangerAccessResult object received back from isAccessAllowed()!

View solution in original post

12 REPLIES 12

avatar
Super Collaborator

In your second HS2 server go to /etc/hive/conf/conf.server , check for "localhost" properties there especially in ranger-hive-audit.xml & ranger-hive-security.xml

avatar
Super Collaborator

Also,

Make sure that in the Ranger's DB (the default is mysql) the user rangerlogger has permission to connect from the second Hive server.

avatar
Super Collaborator
@suresh krish

Also make sure that rangerlogger user has permissions to connect from the second hive server (in the Ranger's DB... the default is mysql).

The best way to do it is to try to connect to mysql on the first hive server from the second server using: mysql -u rangerlogger -p -h <second hive server>

If permissions is denied - then login to mysql using root and run the following:

GRANT ALL PRIVILEGES ON *.* TO 'rangerlogger'@'<second hive server>' IDENTIFIED BY '<PASSWORD>' WITH GRANT OPTION;

FLUSH PRIVILEGES;

Then check again.