Configure HBase to use S3 as a storage layer

You must configure HBase to use S3 before you can start using S3 as your storage layer.

  1. In Cloudera Manager, select the HBase service.
  2. Click the Configuration tab.
  3. Search for HBase Advanced Configuration Snippet (Safety Valve) for hbase-site.xml.
  4. Find the HBase Service Advanced Configuration Snippet (Safety Valve) for hbase-site.xml and the HBase Client Advanced Configuration Snippet (Safety Valve) for hbase-site.xml, and add the following properties by clicking the plus icon:
    Name Value
    hbase. wal.dir hdfs://[NAME]:8020/hbase
    hbase.root.dir s3a://[S3Bucket]/hbase

    Currently required to start with /

    fs.s3a.secret.key Amazon S3 Secret Key
    fs.s3a.access.key Amazon S3 Access Key
    fs.s3a.metadatastore.impl org.apache.hadoop.fs.s3a.s3guard.DynamoDBMetadataStore
    fs.s3a.s3guard.ddb.table.create true
    fs.s3a.impl org.apache.hadoop.hbase.oss.HBaseObjectStoreSemantics
    fs.hboss.fs.s3a.impl org.apache.hadoop.fs.s3a.S3AFileSystem
    fs.hboss.sync.impl org.apache.hadoop.fs.hboss.sync.ZKTreeLockManager
    fs.hboss.sync.zk.connectionstring [ZK_HOSTS]:2181/hboss
  5. Search for HBase Environment Advanced Configuration Snippet (Safety Valve).
  6. Find HBase Service Environment Advanced Configuration Snippet (Safety Valve) and HBase Client Environment Advanced Configuration Snippet (Safety Valve) for hbase-env.sh, and add the following snippet:
    HBASE_CLASSPATH=$HBASE_CLASSPATH:/opt/cloudera/parcels/CDH/lib/hbase_filesystem/lib/hbase-oss-1.0.0.7.0.0.0-234.jar
  7. Click Save Changes.