1、環境和軟件准備:
hive版本:apache-hive-2.3.6-bin.tar.gz,下載地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/
hadoop版本:hadoop-2.9.2.tar.gz
JDK版本:jdk-8u221-linux-x64.tar.gz
mysql版本:8.x
hive-2.x與hadoop-2.x匹配,hive-3.x與hadoop-3.x匹配。數據庫主要是存放hive的元數據,可選,本文以mysql為例。
2、安裝MySQL並創建hive數據庫
詳細安裝見:CentOS下安裝mysql5.7和mysql8.x
3、安裝Hadoop
詳細安裝見:CentOS安裝Hadoop
4、解壓並配置Hive
將安裝文件解壓到/usr/local/目錄,並重新命名為apache-hive-2.3.6
cd /usr/local/
tar -zxvf /var/ftp/pub/apache-hive-2.3.6-bin.tar.gz
mv apache-hive-2.3.6-bin/ apache-hive-2.3.6/
配置hive-log4j2.properties和hive-site.xml
cd /usr/local/apache-hive-2.3.6/conf/
cp hive-log4j2.properties.template hive-log4j2.properties
vi hive-site.xml
hive-site.xml內容(也可以從hive-default.xml.template拷貝,但我們只需要配置幾項,其他配置默認即可)為:
<?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://192.168.107.144: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>abc123</value> </property> </configuration>
5、初始化數據庫
下載並拷貝protobuf-java-3.6.1.jar和mysql-connector-java-8.0.17.jar到$HIVE_HOME/lib目錄下,刪除已有的protobuf-java-2.5.0.jar文件。統一hive和mysql服務的時區。
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime // hive和mysql服務器都要執行,mysql要重啟服務
cd /usr/local/apache-hive-2.3.6/bin/
schematool -dbType mysql -initSchema
命令執行完成后hive將生產以下表:
到這,hive算安裝完成了,后面就對hive的操作。
6、Hive基本操作(先啟動hadoop和mysql)
進入hive命令行
查詢所有所有數據庫
無報錯,Hive安裝完成。
7、使用hiveserver2和beeline
修改$HADOOP_HOME/etc/hadoop/core-site.xml文件,增加如下配置:
<property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property>
啟動hiveserver2:
cd /usr/local/apache-hive-2.3.6/bin/
hiveserver2
hiveserver2 & // 以后台形式運行
進入beeline命令行:
beeline -u jdbc:hive2://192.168.107.143:10000