Hive安裝部署
Hive安裝部署
1)把hive-3.1.3.tar.gz上傳到linux的/opt/software目錄下
2)解壓hive-3.1.3.tar.gz到/opt/module/目錄下面
[atguigu@hadoop102 software]$ tar -zxvf /opt/software/hive-3.1.3.tar.gz -C /opt/module/
3)修改hive-3.1.3-bin.tar.gz的名稱為hive
[atguigu@hadoop102 software]$ mv /opt/module/apache-hive-3.1.3-bin/ /opt/module/hive
4)修改/etc/profile.d/my_env.sh,添加環境變量
[atguigu@hadoop102 software]$ sudo vim /etc/profile.d/my_env.sh
添加內容
#HIVE_HOME
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$HIVE_HOME/bin
重啟Xshell對話框或者source一下 /etc/profile.d/my_env.sh文件,使環境變量生效。
[atguigu@hadoop102 software]$ source /etc/profile.d/my_env.sh
5)解決日志Jar包沖突,進入/opt/module/hive/lib目錄
[atguigu@hadoop102 lib]$ mv log4j-slf4j-impl-2.17.1.jar log4j-slf4j-impl-2.17.1.jar.bak
2.2 Hive元數據配置到MySQL
2.2.1 拷貝驅動
將MySQL的JDBC驅動拷貝到Hive的lib目錄下。
[atguigu@hadoop102 lib]$ cp /opt/software/mysql/mysql-connector-j-8.0.31.jar /opt/module/hive/lib/
2.2.2 配置Metastore到MySQL
在 H I V E H O M E / c o n f 目錄下新建 h i v e ? s i t e . x m l 文件。 [ a t g u i g u @ h a d o o p 102 c o n f ] HIVE_HOME/conf目錄下新建hive-site.xml文件。 [atguigu@hadoop102 conf] HIVEH?OME/conf目錄下新建hive?site.xml文件。[atguigu@hadoop102conf] vim hive-site.xml
添加如下內容。
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><!--配置Hive保存元數據信息所需的 MySQL URL地址--><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true</value></property><!--配置Hive連接MySQL的驅動全類名--><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.cj.jdbc.Driver</value></property><!--配置Hive連接MySQL的用戶名 --><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><!--配置Hive連接MySQL的密碼 --><property><name>javax.jdo.option.ConnectionPassword</name><value>000000</value></property><property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value></property><property><name>hive.metastore.schema.verification</name><value>false</value></property><property><name>hive.server2.thrift.port</name><value>10000</value></property><property><name>hive.server2.thrift.bind.host</name><value>hadoop102</value></property><property><name>hive.metastore.event.db.notification.api.auth</name><value>false</value></property><property><name>hive.cli.print.header</name><value>true</value></property><property><name>hive.cli.print.current.db</name><value>true</value></property>
</configuration>
2.3 啟動Hive
2.3.1 初始化元數據庫
1)登陸MySQL
[atguigu@hadoop102 conf]$ mysql -uroot -p000000
2)新建Hive元數據庫
mysql> create database metastore;
3)初始化Hive元數據庫
[atguigu@hadoop102 conf]$ schematool -initSchema -dbType mysql -verbose
4)修改元數據庫字符集
Hive元數據庫的字符集默認為Latin1,由于其不支持中文字符,所以建表語句中如果包含中文注釋,會出現亂碼現象。如需解決亂碼問題,須做以下修改。
修改Hive元數據庫中存儲注釋的字段的字符集為utf-8。
(1)字段注釋
mysql> use metastore;
mysql> alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
(2)表注釋
mysql> alter table TABLE_PARAMS modify column PARAM_VALUE mediumtext character set utf8;
4)退出mysql
mysql> quit;
2.3.2 啟動Hive客戶端
1)啟動Hive客戶端
[atguigu@hadoop102 hive]$ hive
2)查看一下數據庫
hive (default)> show databases;
OK
database_name
default
Time taken: 0.955 seconds, Fetched: 1 row(s)