macOS下 Hive 2.x 的安裝與配置

1 簡介

Hive是基於Hadoop的一個數據倉庫工具,能夠將結構化的數據文件映射爲一張數據庫表,並提供簡單的[SQL]查詢功能,能夠將SQL語句轉換爲MapReduce任務進行運行。其優勢是學習成本低,能夠經過類SQL語句快速實現簡單的MapReduce統計,沒必要開發專門的MapReduce應用,十分適合數據倉庫的統計分析。java

它提供了一系列的工具,能夠用來進行數據提取轉化加載(ETL),這是一種能夠存儲、查詢和分析存儲在 Hadoop 中的大規模數據的機制。Hive 定義了簡單的類 SQL 查詢語言,稱爲 HQL,它容許熟悉 SQL 的用戶查詢數據。同時,這個語言也容許熟悉 MapReduce 開發者的開發自定義的 mapper 和 reducer 來處理內建的 mapper 和 reducer 沒法完成的複雜的分析工做。mysql

Hive 沒有專門的數據格式。 Hive 能夠很好的工做在 Thrift 之上,控制分隔符,也容許用戶指定數據格式。git

Apache Hive起初由[Facebook]開發,目前也有其餘公司使用和開發Apache Hive,例如[Netflix]等。亞馬遜公司也開發了一個定製版本的Apache Hive,亞馬遜網絡服務包中的Amazon Elastic MapReduce包含了該定製版本。github

2 環境

  • 操做系統

  • Hadoop版本 hadoop-2.6.0-cdh5.7.0sql

  • MySQL版本 數據庫

  • mysql-connector-java 5.1.37apache

  • Hive版本 2.3.4vim

3 安裝Hive

3.1 先確保已經正確安裝並運行了hadoop

3.2 下載Hive安裝包

官網下載安全

將安裝包移動至: ../hadoop-2.6.0-cdh5.7.0/ 目錄下,此目錄是本地安裝Hadoop的目錄bash

移動至此處後,解壓縮

  • tar -xzvf apache-hive-2.3.4-bin.tar.gz

並將解壓後的文件名改成hive,方便配置。

例如本機Hive的安裝路徑爲

3.3 配置系統環境變量

3.3.1 修改~/.bash_profile

// 或者修改/etc/profile文件

vim ~/.bash_profile
複製代碼

添加內容

export HIVE_HOME=/Volumes/doc/hadoop-2.6.0-cdh5.7.0/hive
export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/conf
複製代碼

退出保存後,在終端輸入,使環境變量當即生效

source ~/.bash_profile
複製代碼

4 修改Hive配置

4.1 新建文件hive-site.xml

  • 在 ../hive/conf下

  • 添加hive-site.xml內容

4.2 hive-env.sh

  • 複製hive-env.sh.template爲hive-env.sh

  • 修改hive-env.sh內容

5 MySQL 權限配置

5.1 給用戶賦予權限

  • 以使得該用戶能夠遠程登陸數據庫:

若是上面查詢到有信息,但host爲localhost或其餘值,就須要根據實際需求來更新表信息

grant all privileges on 庫名.表名 to '用戶名'@'IP地址' identified by '密碼' with grant option;
flush privileges;
複製代碼

庫名:要遠程訪問的數據庫名稱,全部的數據庫使用「」 表名:要遠程訪問的數據庫下的表的名稱,全部的表使用「」 用戶名:要賦給遠程訪問權限的用戶名稱 IP地址:能夠遠程訪問的電腦的IP地址,全部的地址使用「%」 密碼:要賦給遠程訪問權限的用戶對應使用的密碼

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
複製代碼

使改變當即生效:

FLUSH PRIVILEGES;

複製代碼

6 向/usr/hadoop/hadoop-2.6.2/hive/lib中添加mySql鏈接庫:

6.1 官網下載鏈接驅動包

6.2 將下好的包解壓縮

  • 解壓後,將此文件夾下mysql-connector-java-8.0.15.jar

  • 複製到../hive/lib下

    image.png

注意:須要給/tmp文件夾設置寫權限,同時確保 hadoop不在安全模式下,能夠執行此命令使hadoop退出安全模式:hadoop dfsadmin -safemode leave

7 啓動Hive

在命令行運行 hive 命令時必須保證HDFS 已經啓動。可使用 start-dfs.sh 腳原本啓動 HDFS。

7.1 若是是第一次啓動Hive,則須要先執行以下初始化命令

schematool -dbType mysql -initSchema
複製代碼

7.2 啓動Hive

完成基本的環境配置!

X 交流學習

Java交流羣

博客

知乎

Github

相關文章
相關標籤/搜索