Hive Metastore使用加密文件訪問RDS
EMR Hive服務(wù)默認(rèn)使用明文保存密碼來訪問本地MySQL或RDS MySQL,但也可以使用加密文件來訪問這些數(shù)據(jù)庫。本文為您介紹如何使用加密文件訪問RDS MySQL。
前提條件
已創(chuàng)建集群,并且選擇了Hive服務(wù),詳情請(qǐng)參見創(chuàng)建集群。
已購買RDS,詳情請(qǐng)參見快速創(chuàng)建RDS MySQL實(shí)例。
操作步驟
創(chuàng)建憑據(jù)文件。
重要如果集群中有多個(gè)Master節(jié)點(diǎn),需要進(jìn)行多次操作。
通過SSH方式連接Master節(jié)點(diǎn),詳情請(qǐng)參見登錄集群。
執(zhí)行以下命令,生成Hadoop Credential文件。
hadoop credential create javax.jdo.option.ConnectionPassword \ -provider jceks://file/tmp/hive.jceks
請(qǐng)根據(jù)提示輸入兩次RDS MySQL用戶的密碼。
執(zhí)行以下命令,將憑據(jù)文件移動(dòng)到Hive的配置文件目錄,并將該文件的所有者更改為hive用戶或hadoop用戶。
DataLake或Custom集群類型
sudo mv /tmp/hive.jceks $HIVE_CONF_DIR sudo chown hive $HIVE_CONF_DIR/hive.jceks
Hadoop集群類型
sudo mv /tmp/hive.jceks $HIVE_CONF_DIR sudo chown hadoop $HIVE_CONF_DIR/hive.jceks
在EMR控制臺(tái)目標(biāo)集群Hive服務(wù)的配置頁簽,在hivemetastore-site.xml中修改和新增以下配置項(xiàng),并確保配置項(xiàng)生效。修改、新增和生效配置項(xiàng)的具體操作請(qǐng)參見管理配置項(xiàng)。
DataLake或Custom集群類型
操作
Key
Value
說明
修改
javax.jdo.option.ConnectionPassword
設(shè)置為空
表示連接Hive Metastore時(shí)不需要提供密碼。
新增
hadoop.security.credential.provider.path
jceks://file/etc/emr/hive-conf/hive.jceks
用于指定Hadoop Credential文件的路徑。
Hadoop集群類型
操作
Key
Value
說明
修改
javax.jdo.option.ConnectionPassword
設(shè)置為空
表示連接Hive Metastore時(shí)不需要提供密碼。
新增
hadoop.security.credential.provider.path
jceks://file/etc/ecm/hive-conf/hive.jceks
用于指定Hadoop Credential文件的路徑。