1 安裝Hive
????????下載文件
# wget -P /opt/ https://mirrors.huaweicloud.com/apache/hive/hive-2.3.8/apache-hive-2.3.8-bin.tar.gz
????????解壓縮
# tar -zxvf /opt/apache-hive-2.3.8-bin.tar.gz -C /opt/
????????修改hive文件夾名字
# mv /opt/apache-hive-2.3.8-bin /opt/hive
????????配置環境變量
# vim /etc/profile
????????使環境變量立即生效
# source /etc/profile
2 配置Hive
? ? ? ? 1.配置hive-env.sh文件
????????復制模板
# cd /opt/hive/conf
# cp hive-env.sh.template hive-env.sh
????????編輯文件
# vim /opt/hive/conf/hive-env.sh
????????在首行添加如下內容
? ? ? ? 2.配置hive-site.xml文件
????????正常情況下,應該通過hive-default.xml.template模板文件生成hive-site.xml文件,但是模板文件內容過多,修改較為復雜,因此,可以直接通過命令創建一個空白的hive-site.xml文件,添加需要的配置內容。
????????創建空白的hive-site.xml文件
# vim /opt/hive/conf/hive-site.xml
????????直接輸入”:set paste”,可以切換為粘貼模式,再按i進入編輯模式,然后單擊右鍵可以把需要的內容粘貼到hive-site.xml文件中,需要特別注意:第一行的內容必須是“<?xml version="1.0"...”,并且前面不能有空行或空格:
????????需要粘貼的內容
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value></property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><property><name>javax.jdo.option.ConnectionPassword</name><value>root</value></property><property><name>hive.metastore.warehouse.dir</name><value>hdfs://master:8020/hive/warehouse</value></property><property><name>hive.exec.local.scratchdir</name><value>/opt/hive/exec</value></property><property><name>hive.downloaded.resources.dir</name><value>/hive/downloadedsource</value></property><property><name>hive.querylog.location</name><value>/hive/logs</value></property>
</configuration>
????????3.配置hive的日志目錄
????????設置/opt/hive/log目錄為hive的日志保存目錄
????????拷貝文件
# cp /opt/hive/conf/hive-log4j2.properties.template
????????編輯文件
# vim /opt/hive/conf/hive-log4j2.properties
? ? ? ? 4.拷貝MySQL的jar包到hive的lib目錄下
????????采用XFTP上傳jar到 /opt/hive/lib目錄下
? ? ? ? 5.解決SLF4J文件的重復問題
????????Hive和Hadoop都使用了SLF4J的jar包,但是版本不同,會造成沖突,可以直接刪除hive中的jar包
# rm -f /opt/hive/lib/log4j-slf4j-impl-2.6.2.jar
? ? ? ? 6.配置MariaDB
????????進入數據庫
# mysql -u root -p
創建數據庫
create database hive;
配置權限
grant all on hive.* to root@’master’ identified by ‘hivepwd’; -- 此處的單引號需要修改
使配置生效
flush privileges;
退出MariaDB
exit
? ? ? ? 7.初始化hive的元數據庫
在第一次使用hive之前,需要使用如下命令初始化hive的元數據庫,該命令只能執行一次
schematool -dbType mysql -initSchema
3?使用Hive
????????可以使用命令hive啟動hive,注意,Hive啟動時會直接訪問HDFS,Hive的一些操作會繼續MapReduce實現,所以需要保證HDFS和yarn都處于正常的啟動狀態。
# hive
????????查詢當前所有數據庫
show databases;
????????測試Hive
create database testdb;
use testdb;
create table student(id int, name string);
insert into student values(1, ‘tom’);
select * from student;