Skip to content

Commit

Permalink
[DOCFIX] Improve HBase doc
Browse files Browse the repository at this point in the history
This doc change updates how Alluxio can work with HBase 2.0. One extra
parameter needs to be configured. Minor format updates besides that.

pr-link: #10450
change-id: cid-39aaab87d9e5e529f8f66058de1b9b0cbdefcd1f
  • Loading branch information
jiacheliu3 authored and alluxio-bot committed Nov 27, 2019
1 parent 08a194c commit ce17428
Showing 1 changed file with 36 additions and 5 deletions.
41 changes: 36 additions & 5 deletions docs/en/compute/HBase.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,29 +30,54 @@ Therefore, the configuration of Alluxio is done mostly in HBase configuration fi

### Set property in `hbase-site.xml`

Change the `hbase.rootdir` property in `conf/hbase-site.xml`:
> You do not need to create the `/hbase` directory in Alluxio, HBase will do this for you.
Set the following properties in `conf/hbase-site.xml` and make sure all HBase cluster nodes
have the configuration.

Set the `hbase.rootdir` property as follows:
```xml
<property>
<name>hbase.rootdir</name>
<value>alluxio://master_hostname:port/hbase</value>
</property>
```

Add the following property to the same file `hbase-site.xml`.
(make sure it is configured in all HBase cluster nodes):
> You do not need to create the `/hbase` directory in Alluxio, HBase will do this for you.
You also need to add the FS implementation classes to HBase configuration. These classes are provided in Alluxio Client jar.

```xml
<property>
<name>fs.alluxio.impl</name>
<value>alluxio.hadoop.FileSystem</value>
</property>
<property>
<name>fs.AbstractFileSystem.alluxio.impl</name>
<value>alluxio.hadoop.AlluxioFileSystem</value>
</property>
```

Also add the following property to the same file `hbase-site.xml`:
```xml
<property>
<name>hbase.regionserver.hlog.syncer.count</name>
<value>1</value>
</property>
```

This property is required to prevent HBase from flushing Alluxio file stream in a thread unsafe
> This property is required to prevent HBase from flushing Alluxio file stream in a thread unsafe
way.

If you are running HBase version greater than 2.0, add the following property:

```xml
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
```

> This will disable HBase new stream capabilities (hflush/hsync) used for WAL.
### Distribute the Alluxio Client jar

We need to make the Alluxio client jar file available to HBase, because it contains the configured
Expand Down Expand Up @@ -157,6 +182,12 @@ Instead of specifying the location of the jar file in the `$HBASE_CLASSPATH` env
users could copy the `{{site.ALLUXIO_CLIENT_JAR_PATH}}` file into the `lib` directory of HBase
(make sure it's available on all cluster nodes).

```console
$ cp `{{site.ALLUXIO_CLIENT_JAR_PATH}}` /path/to/hbase-master/lib/
$ cp `{{site.ALLUXIO_CLIENT_JAR_PATH}}` /path/to/current/hbase-client/lib/
$ cp `{{site.ALLUXIO_CLIENT_JAR_PATH}}` /path/to/hbase-regionserver/lib/
```

## Troubleshooting

### Logging Configuration
Expand Down

0 comments on commit ce17428

Please sign in to comment.