Hive入門系列(2)-Hive常用配置
阿新 • • 發佈:2021-01-07
配置Mysql儲存元資料
元資料預設儲存在自帶的 derby 資料庫中,每次只能有一個內嵌的Derby資料塊可以訪問資料檔案,這就意味著一次只能為metastore開啟一次hive會話,推薦使用 MySQL 儲存 Metastore。
# 下載
cd /opt/soft/
wget https://mirrors.bfsu.edu.cn/apache/hive/hive-2.3.7/apache-hive-2.3.7-bin.tar.gz
# 安裝
tar -zxvf apache-hive-2.3.7-bin.tar.gz
mv apache-hive-2.3.7-bin hive-2.3.7
# 新增環境變數
vim /etc/profile
# HIVE_HOME
export HIVE_HOME=/opt/soft/hive-2.3.7
export PATH=$PATH:$HIVE_HOME/bin
# 上傳mysql-connector-java-5.1.27-bin.jar到/opt/soft/hive-2.3.7/lib目錄下
# 編寫配置
cd /opt/soft/hive-2.3.7/conf
vi hive-site.xml
# 新增
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href= "configuration.xsl"?>
<configuration>
<!-- jdbc 連線的 URL -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.1.240:3306/metastore?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<!-- jdbc 連線的 Driver-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<!-- jdbc 連線的 username-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<!-- jdbc 連線的 password -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>password to use against metastore database</description>
</property>
<!-- Hive 元資料儲存版本的驗證 -->
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<!--元資料儲存授權-->
<property>
<name>hive.metastore.event.db.notification.api.auth</name>
<value>false</value>
</property>
<!-- Hive 預設在 HDFS 的工作目錄 -->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/house</value>
</property>
</configuration>
# 初始化資料庫,完成後可在資料庫檢視已建立了資料庫metastore和很多表
schematool -initSchema -dbType mysql -verbose
# 啟動hive
bin/hive
開啟元資料遠端服務
開啟元資料遠端服務,方便第三方連結hive進行訪問。
#
vim /opt/soft/hive-2.3.7/conf/hive-site.xml
# 新增
<!-- 指定儲存元資料要連線的地址 -->
<property>
<name>hive.metastore.uris</name>
<value>thrift://hadoop001:9083</value>
</property>
# 啟動
nohup hive --service metastore 2>&1 &
#
配置日誌目錄
Hive 的 log 預設存放在/tmp/使用者/hive.log 目錄下。
#
cd /opt/soft/hive-2.3.7/conf/
mv hive-log4j2.properties.template hive-log4j2.properties
# 修改日誌目錄
vim hive-log4j2.properties
# 修改內容
property.hive.log.dir = /opt/soft/hive-2.3.7/logs
配置列印當前庫和表頭
vim /opt/soft/hive-2.3.7/conf/hive-site.xml
# 新增
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>