Hive 將 HDFS 上的結構化文件映射為表,提供類 SQL 查詢(HQL),底層自動轉換為 MapReduce 任務執行。本文記錄 Hive 1.1.0 在 Hadoop 叢集上的快速部署步驟:下載、解壓、授權、環境變量、配置文件修改、啟動驗證,助你輕鬆搭建離線數據分析平台。
JAVA_HOME# 下載地址:https://www.apache.org/dyn/closer.cgi/hive
wget https://apache.mirror.site/hive/hive-1.1.0/apache-hive-1.1.0-bin.tar.gz
mv apache-hive-1.1.0-bin.tar.gz /usr/
cd /usr
tar -zxvf apache-hive-1.1.0-bin.tar.gz
mv apache-hive-1.1.0-bin hive
chown -R hadoop:hadoop hive
~/.bash_profile)export JAVA_HOME=/usr/java/jdk1.6
export JRE_HOME=/usr/java/jdk1.6/jre
export HADOOP_HOME=/usr/hadoop
export HIVE_HOME=/usr/hive
export HBASE_HOME=/usr/hbase
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin:$HBASE_HOME/bin
執行 source ~/.bash_profile 生效。
cd /usr/hive/conf
# 4.1 hive-env.sh
cp hive-env.sh.template hive-env.sh
# 編輯:HADOOP_HOME=/usr/hadoop
# export HIVE_CONF_DIR=/usr/hive/conf
# 4.2 hive-site.xml(核心配置)
cp hive-site.xml.template hive-site.xml
# 必須配置項示例:
# javax.jdo.option.ConnectionURL
# jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true
# javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver
# javax.jdo.option.ConnectionUserName hive
# javax.jdo.option.ConnectionPassword password
# hive.metastore.uris thrift://master:9083
# 4.3 日誌配置
cp hive-exec-log4j.properties.template hive-exec-log4j.properties
cp hive-log4j.properties.template hive-log4j.properties
chown -R hadoop:hadoop hive-*.xml hive-*.properties
# 需先在 MySQL 創建 hive 數據庫並授權
schematool -dbType mysql -initSchema
su - hadoop
hive
hive> CREATE TABLE test(key STRING);
hive> SHOW TABLES;
若顯示 test 表,部署成功!
$HIVE_HOME/lib、防火牆 3306、MySQL 授權。hive> 卡住無響應:多為 HDFS/Namenode 通信故障,查 hive.log 核對。/user/hive/warehouse 目錄屬主為 hadoop、權限 777。