Configure External HBase for Timeline Service 2.0
Based on your requirements, you can configure YARN to point to an external instance of the HBase service instead of using the HBase instance that is available with Timeline Service 2.0.
You can configure the HBase service for Timeline Service 2.0 on your HDP cluster either before or after installing YARN.
Enable the use_external_hbase property under
Depending on your requirement, use either of the following options to access the use_external_hbase property using Ambari:
If... Then... YARN is already installed on the HDP cluster In Ambari Web, browse to , then expand Advanced yarn-hbase-env. You are using Ambari to install YARN on the HDP cluster On the Customize Services screen of the Add Service wizard, browse to , then expand Advanced yarn-hbase-env.NoteYou must perform this step as part of the procedure to install YARN as a service using Ambari. For more information about using Ambari to add a service, see the Managing and Monitoring Ambari documentation.
Update the following properties under Advanced
yarn-hbase-env to match the values of the corresponding
properties in the external HBase instance:
- Save the configured property changes and restart all YARN services.
Copy the hbase-site.xml file to the timeline server
mv usr/hdp/current/hadoop/conf/embedded-yarn-ats-hbase/hbase-site.xml usr/hdp/current/hadoop/conf/embedded-yarn-ats-hbase/hbase-site.xml.bak cp /etc/hbase/conf/hbase-site.xml usr/hdp/current/hadoop/conf/embedded-yarn-ats-hbase/
Log on to a cluster node and create the required HBase tables.
export HBASE_CLASSPATH_PREFIX=/usr/hdp/current/hadoop-yarn-client/timelineservice/*; /usr/hdp/current/hbase-client/bin/hbase org.apache.hadoop.yarn.server.timelineservice.storage.TimelineSchemaCreator -Dhbase.client.retries.number=35 -create -s
From the HBase shell, grant the
yarnuser with the required permissions to access the HBase tables created in Step 4.
grant 'yarn', 'yarn-ats' 'RWXCA'
If you want to update YARN configuration to point to an embedded HBase instance, you must revert the properties use_external_hbase, hbase.zookeeper.quorum, hbase.zookeeper.property.clientPort, and zookeeper.znode.parent to their earlier values.