2016-03-21

Add https support to HBaseClient-Tcl

HBaseClient-Tcl


可以參考的連結:
https://s3.amazonaws.com/dev.hortonworks.com/HDPDocuments/HDP2/HDP-2.1.2/bk_reference/content/ch05s08.html

首先是產生 keystore:
keytool -genkey -alias hbase -keyalg RSA -keysize 1024 -keystore hbase.jks

再來是 conf/hbase-site.xml,加入下列的設定:

<property>
    <name>hbase.rest.ssl.enabled</name>
    <value>true</value>
</property>

<property>
    <name>hbase.rest.ssl.keystore.store</name>
    <value>/path/to/keystore</value>
</property>

<property>
    <name>hbase.rest.ssl.keystore.password</name>
    <value>keystore password</value>
</property>

<property>
    <name>hbase.rest.ssl.keystore.keypassword</name>
    <value>key password</value>
</property>

第一項就是開啟 ssl 的支援,第二項就是設定  hbase.jks 的位置,例如如果我是在 /home/danilo/Programs/hbase-1.1.3 中,那麼就要填 /home/danilo/Programs/hbase-1.1.3/hbase.jks。

第三項和第四項就是在建立的過程所填寫的密碼。

如果設定成功,就可以使用 https 連線。

使用 https 來連線,所以我就需要改寫  HBaseClient-Tcl 來測試,基本上就是從上一篇 DrillREST  的實作來的:

        if {$ssl_enabled} {
            if {[catch {package require tls}]==0} {
                http::register https 443 [list ::tls::socket -ssl3 0 -ssl2 0 -tls1 1]
            } else {
                error "SSL_ENABLED needs package tls..."
            }
        }

經過測試,看起來可以使用。

沒有留言: