|
| 1 | +--- |
| 2 | +sidebar_label: HBase |
| 3 | +--- |
| 4 | + |
| 5 | +# HBase |
| 6 | + |
| 7 | +Apache Ozone supports integration with Apache HBase, allowing you to use Ozone as the underlying storage layer for HBase tables. This integration leverages the `ofs://` scheme to provide a scalable and robust filesystem for HBase Region Servers. |
| 8 | + |
| 9 | +## Prerequisites |
| 10 | + |
| 11 | +- An active Apache Ozone cluster. |
| 12 | +- Ozone must be configured to use **Ratis replication**. HBase does not currently support Erasure Coded (EC) buckets. |
| 13 | + |
| 14 | +## Configuration Steps |
| 15 | + |
| 16 | +### 1. Ozone Setup |
| 17 | + |
| 18 | +Before configuring HBase, you must prepare the Ozone filesystem: |
| 19 | + |
| 20 | +- **Create Volume and Bucket:** Create a dedicated volume and bucket for HBase. Ensure the bucket is **File System Optimized (FSO)**. |
| 21 | +- **Permissions:** If using Apache Ranger, grant the `hbase` user `READ/WRITE` permissions for the specific Ozone volume and bucket. |
| 22 | + |
| 23 | +### 2. Ozone Service Configurations |
| 24 | + |
| 25 | +Update your `ozone-site.xml` (or via your cluster management tool) with the following properties to enable HBase compatibility: |
| 26 | + |
| 27 | +| Property | Value | Description | |
| 28 | +| :--- | :--- | :--- | |
| 29 | +| `ozone.fs.hsync.enabled` | `true` | Required for HBase WAL (Write Ahead Log) durability. | |
| 30 | +| `ozone.hbase.enhancements.allowed` | `true` | Enables Ozone-side optimizations for HBase. | |
| 31 | +| `ozone.client.hbase.enhancements.allowed` | `true` | Enables client-side optimizations. | |
| 32 | +| `ozone.client.stream.putblock.piggybacking` | `true` | Improves performance for small writes. | |
| 33 | +| `ozone.client.incremental.chunk.list` | `true` | Optimizes metadata handling for HBase. | |
| 34 | + |
| 35 | +### 3. HBase Service Configurations |
| 36 | + |
| 37 | +Configure HBase to point to the Ozone filesystem. Update `hbase-site.xml` with the following: |
| 38 | + |
| 39 | +- **Root Directory:** Set `hbase.rootdir` to your Ozone path using the `ofs://` scheme. |
| 40 | + |
| 41 | + ```xml |
| 42 | + <property> |
| 43 | + <name>hbase.rootdir</name> |
| 44 | + <value>ofs://[service-id]/[volume]/[bucket]/hbase</value> |
| 45 | + </property> |
| 46 | + ``` |
| 47 | + |
| 48 | +- **Scheme Support:** Note that only `ofs://` is supported. The older `o3fs://` scheme is not supported for HBase integration. |
| 49 | + |
| 50 | +Now you are ready to start your HBase cluster with Ozone. |
| 51 | + |
| 52 | +## Support Matrix and Restrictions |
| 53 | + |
| 54 | +### Unsupported Features |
| 55 | + |
| 56 | +The following features are currently **not supported** when running HBase on Ozone: |
| 57 | + |
| 58 | +- **HBase Features:** Medium Object Storage (MOB), Favored Nodes, Hedged Read, Storage Policy, and Short Circuit Read. |
| 59 | +- **Ozone Features:** Snapshots, Erasure Coded (EC) buckets, and Object Store (OBS) buckets. |
| 60 | +- **Phoenix:** Phoenix User Defined Functions (UDF) are not supported on Ozone. |
0 commit comments