在啟用 kudu-hms 整合之前,要確保 kudu 和 hms 現有表的檢視一致。這可能需要重新命名kudu表以符合hive命名約束。在啟用與 hive metastore 整合之前應公升級現有 kudu 表。
準備公升級
在公升級過程中,kudu群集仍然可用。kudu 和 hive metastore 中的表可能會更改或重新命名。
可以使用以下命令記錄所有外部表並將其刪除。這減少了與 kudu 表發生命名衝突,導致公升級過程**現錯誤。公升級完成後,重新建立外部表。
[root@node01 ~]# sudo -u kudu kudu hms list cdh01:7051,cdh02:7051,cdh03:7051
執行公升級
執行 kudu hms precheck 工具檢查 kudu 表名稱是否不同。如果未報告任何警告,則可以跳過第二步。
[root@node01 ~]# sudo -u kudu kudu hms precheck cdh01:7051,cdh02:7051,cdh03:7051
如果 kudu hms precheck 工具有衝突,可以使用以下命令將它們重新命名為不區分大小寫的唯一名稱
$ sudo -u kudu kudu table rename_table cdh01:7051,cdh02:7051,cdh03:7051
使用 kudu hms check 工具檢查目錄是否一致,如無,跳至第七步。
[root@node01 ~]# sudo -u kudu kudu hms check cdh01:7051,cdh02:7051,cdh03:7051 --hive_metastore_uris=thrift://hive-metastore:9083 --ignore_other_clusters=false
使用 kudu hms fix 解決可自動修復的問題
[root@node01 ~]# sudo -u kudu kudu hms fix cdh01:7051,cdh02:7051,cdh03:7051 --hive_metastore_uris=thrift://hive-metastore:90 --dryrun=true --ignore_other_clusters=false
手動修復檢查工具無法自動修復的所有問題。
使用 kudu hms fix 工具自動修復所有剩餘的問題
[root@node01 ~]# sudo -u kudu kudu hms fix cdh01:7051,cdh02:7051,cdh03:7051 --hive_metastore_uris=thrift://hive-metastore:90 --dryrun=true --ignore_other_clusters=false
使用 impala shell 重新建立在準備公升級時刪除的所有外部表。
與 hive metastore 整合
在 hive-site.xml 中新增如下配置
hive.metastore.transactional.event.listeners
org.apache.hive.hcatalog.listener.dbnotificationlistener,
org.apache.kudu.hive.metastore.kudumetastoreplugin
hive.metastore.disallow.incompatible.col.type.changes
false
hive.metastore.notifications.add.thrift.objects
true
將 hms-plugin.jar 新增到 hms 類路徑下。
重新啟動 hms 服務。
在 kudu 中配置以下屬性
--hive_metastore_uris=--hive_metastore_sasl_enabled=
當--hive_metastore_sasl_enabled
設定為 true 時,--hive_metastore_kerberos_principal
必須與 hive metastore 中hive.metastore.kerberos.principal
匹配
重新啟動 kudu 服務。
注意:
如果 hive metastore 使用了 apache sentry 配置了細粒度的授權並且啟用sentry hdfs sync功能時,kudu 管理員需要能夠訪問和修改 hms 為 kudu 建立的目錄。需要將 kudu 管理員使用者新增到 hive 服務使用者組中,usermod -ag hive kudu
。
在Visual C 中整合DDK WDK
要在windows下開發驅動程式,最直接的方法就是用免費的wdk windows driver kit 但是wdk只提供了命令列下執行的編譯和鏈結工具,並沒有ide,這樣對於那些用貫了visual c 的開發者會來說有些不方便。要把wdk整合到visual c 裡,要對專案進行如下設定 1 新建乙個...
在SpringBoot中整合Redis
科技優家 2017 01 16 17 17 上篇介紹了 spring data jpa一些使用方法,都是基於mysql資料庫來講解的,但是在實際專案中,由於訪問量的不斷增大,資料庫的壓力會越來越大,這時候類似於mysql的資料庫往往只是為了兜底或者在降級時才會有查詢操作,大部分的讀操作都會集中在快取...
在springboot中整合bootstrap
比較簡單,不要想的太複雜了。首先匯入依賴bootstrap與jquery org.webjars bootstrap 3.3.5 org.webjars jquery 3.1.1 然後在html檔案中加入相應版本 btn 類是按鈕的基本樣式 基本按鈕 關鍵的三句 專案結構圖 然後就可以了。不要在po...