提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
文章目錄
- 前言
- 一、內嵌模式
- 二、本地模式
- 三、遠程模式
前言
HIVE是基于HDFS的數據倉庫,要首先搭建好HADOOP的集群才可以正常使用HIVE,HADOOP集運搭建詳見Hadoop集群搭建,首先在hadoop1上面搭建hive數據倉庫。
提取碼: ybts
資源下載
一、內嵌模式
第一種是內嵌模式,利用HIVE自帶的derby數據庫存儲數據
#創建hive安裝目錄
tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /export/servers/
#重命名hive目錄
mv /export/servers/apache-hive-3.1.3-bin/ /export/servers/hive-3.1.3
#同步hadoop和hive的jar包,兩者jar包版本不一樣
cp /export/servers/hadoop-3.3.0/share/hadoop/common/lib/guava-27.0-jre.jar /export/servers/hive-3.1.3/lib/
#刪除hive自帶的jar包
rm -rf /export/servers/hive-3.1.3/lib/guava-19.0.jar
#修改環境變量
vi /etc/profile
export HIVE_HOME=/export/servers/hive-3.1.3
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile
#初始化derby數據庫
schematool -initSchema -dbType derby
#進入數據倉庫hive的命令行
hive
show databases;
顯示這個說明derby初始化成功
連接hive的命令行,能正常顯示hive>就說明hive內嵌模式搭建成功了。
顯示hive默認的數據庫名稱
二、本地模式
搭建本地模式,首先需要把derby數據庫替換為mysql的數據庫,通過wget來下載數據庫
#下載wget服務yum -y install wget獲取mysql安裝包并安裝wget http://dev.mysql.com/get/mysql180-community-release-e19-1.noarch.rpmyum -y install mysql84-community-release-el9-1.noarch.rpm
yum install mysql-community-server -y
啟動MySQL服務
systemctl start mysqld
通過systemctl status mysqld查看當前mysql服務是否正常運行,顯示active則說明正常運行
mysql安裝好后會自動生產臨時密碼,每個人產生的臨時密碼不一樣,通過grep來查找
#查找臨時密碼
grep 'temporary password' /var/log/mysqld.log
#登錄數據庫
mysql -uroot -p5<kQWFzF_Q?=
#更改數據庫用戶名和密碼
alter user 'root'@'localhost' identified by 'Itcast@123';
#刷新權限
FLUSH PRIVILEGES;
#修改hive的核心配置文件
上傳mysql的驅動包mysql-connector-java-8.0.30到hive的lib目錄里,這個驅動包資源下載里面有
vi /export/servers/hive-3.1.3/conf/hive-site.xml
<?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://localhost:3306/hive?createDatabaseIfNotExist=true </value></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.cj.jdbc.Driver</value></property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><property><name>javax.jdo.option.ConnectionPassword</name><value>Itcast@123</value></property><property><name>hive.metastore.warehouse.dir</name><value>/user/hive_local/warehouse</value></property>
</configuration>
#初始化mysql數據庫schematool -initSchema -dbType mysql#進入hive的命令行hive
三、遠程模式
遠程模式需要hadoop1啟動metastore和hiveserver2兩個服務,啟動后界面會一直運行,需新建一個窗口執行指令
hive --service metastore
hive --service hiveserver2
把hive安裝包拷貝到hadoop2,修改hadoop2的hive-site.xml文件
vi /export/servers/hive-3.1.3/conf/hive-site.xml<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><property><name>hive.metastore.uris</name><value>thrift://hadoop1:9083</value></property>
</configuration>
通過hadoop2的beeline連接hadoop1正在運行的hive進程
beeline -u jdbc:hive2://hadoop1:10000 -n root
正常運行后的效果圖