hive-2.3.3的安裝詳解

1.安裝前的準備:

    首先需要搭建好hadoop集羣並啓動(需要啓動hdfs和yarn)

    mysql啓動正常

2.hive的安裝

    方式一(不推薦):內嵌 Derby 版本

    1、 上傳安裝包 apache-hive-2.3.2-bin.tar.gz

    2、 解壓安裝包 tar -zxvf apache-hive-2.3.2-bin.tar.gz -C /home/hadoop/apps/

   3、 進入到 bin 目錄,運行 hive 腳本:[hadoop@hadoop02 bin]$ ./hive

    方式二(推薦):外置 MySQL 版本

    1、 準備好 MySQL(設置好遠程連接)

    2、 上傳安裝包 apache-hive-2.3.3-bin.tar.gz

    3、 解壓安裝包 tar -zxvf apache-hive-2.3.3-bin.tar.gz -C ~/apps/

    4、 修改配置文件(安裝在哪裏都可以,爲了演示我們mysql安裝在hadoop02,hive我們安裝在hadoop05)

    [hadoop@hadoop05 ~]# cd /home/hadoop/apps/apache-hive-2.3.3-bin/conf

    [hadoop@hadoop05 conf]# touch hive-site.xml

    [hadoop@hadoop05 conf]# vi hive-site.xml

    寫入內容如下

    <configuration>
        <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hadoop02:3306/hive_metastore_233?createDatabaseIfNotExist=true</value>
        <description>JDBC connect string for a JDBC metastore</description>
        <!-- 如果 mysql 和 hive 在同一個服務器節點,那麼請更改 hadoop02 爲 localhost -->
        <!-- 如果 mysql 和 hive 在同一個服務器節點,那麼請更改 hadoop02 爲 localhost -->
        <!-- 如果 mysql 和 hive 在同一個服務器節點,那麼請更改 hadoop02 爲 localhost -->
        </property>
        <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
        <description>Driver class name for a JDBC metastore</description>
        </property>
        <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
        <description>username to use against metastore database</description>
        </property>
        <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>root</value>
        <description>password to use against metastore database</description>
        </property>
</configuration>

    5.一定要記得加入 MySQL 驅動包(mysql-connector-java-5.1.40-bin.jar)

        該 jar 包放置在 hive的根路徑下的 lib 目錄

    上傳MySQL 驅動包(mysql-connector-java-5.1.40-bin.jar)

    mv mysql-connector-java-5.1.40-bin.jar ~/apps/apache-hive-2.3.3-bin/lib/

    6.確保hadoop集羣和mYSQL啓動正常

    7.安裝完成,配置環境變量

    vi ~/.bashrc 

    添加以下兩行內容:

    export HIVE_HOME=/home/hadoop/apps/apache-hive-2.3.3-bin

    export PATH=$PATH:$HIVE_HOME/bin

    保存退出。

    [hadoop@hadoop02 bin]$ source ~/.bashrc

    8.驗證 Hive 安裝

    [hadoop@hadoop05 bin]$ hive --help

    

9.初始化元數據庫

注意:當使用的 hive 是 2.x 之前的版本,不做初始化也是 OK 的,當 hive 第一次啓動的時候會自動進行初始化,只不過會不會生成足夠多的元數據庫中的表。在使用過程中會慢慢生成。但最後進行初始化。如果使用的 2.x 版本的 Hive,那麼就必須手動初始化元數據庫。使用命令:

[hadoop@hadoop05 bin]$ schematool -dbType mysql -initSchema

10.啓動 Hive 客戶端

注意要先啓動mysql:

[hadoop@hadoop02 ~]$ service mysql start

查看mysql啓動進程:

[hadoop@hadoop02 ~]$ ps -ef|grep mysql

hive --service cli

或者 hive

11.測試

先進入http://hadoop03:50070 查看一下

 

創建一個數據庫:

create database myhive;

執行完命令查看發現多了一個文件夾

點進去之後,發現出現如下圖所示多了一個myhive的數據庫

同時也增加了一條映射記錄在mysql裏面

查看顯示數據庫

show databases;

使用數據庫

use 數據庫名;

創建一張表(以下兩條命令都可以): 95022,鄭明,男,20,MA"

create table student(id int, name string, sex string, age int, department string) row format delimited fields terminated by "," lines terminated by "\n";

create table student(id int, name string, sex string, age int, department string) row format delimited fields terminated by ",";

發現hdfs的相關路徑文件夾下中多了一張表

同時也增加了一條表的映射記錄

同時也增加了字段的映射

然後把student.txt文件上傳到linux系統中。

裏面的內容是

95002,劉晨,女,19,IS
95017,王風娟,女,18,IS
95018,王一,女,19,IS
95013,馮偉,男,21,CS
95014,王小麗,女,19,CS
95019,邢小麗,女,19,IS
95020,趙錢,男,21,IS
95003,王敏,女,22,MA
95004,張立,男,19,IS
95012,孫花,女,20,CS
95010,孔小濤,男,19,CS
95005,劉剛,男,18,MA
95006,孫慶,男,23,CS
95007,易思玲,女,19,MA
95008,李娜,女,18,CS
95021,週二,男,17,MA
95022,鄭明,男,20,MA
95001,李勇,男,20,CS
95011,包小柏,男,18,MA
95009,夢圓圓,女,18,MA

95015,王君,男,18,MA

 

 

然後,往創建好的student表中插入一份數據文件:(注意先使用student表所在的數據庫)

load data local inpath "/home/hadoop/student.txt" into table student;

使用SQL進行查詢

到此hive即爲安裝正常

12.退出hive

hive> quit;

或者hive> exit;

發佈了157 篇原創文章 · 獲贊 32 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章