溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Centos基于Hadoop安裝Hive

發(fā)布時(shí)間:2020-08-06 12:21:02 來(lái)源:網(wǎng)絡(luò) 閱讀:2446 作者:TaoismLi 欄目:大數(shù)據(jù)

安裝前說(shuō)明:

安裝hive前提是要先安裝hadoop集群,并且hive只需要在hadoop的namenode節(jié)點(diǎn)集群里安裝即可(需要再所有namenode上安裝),而不需要在datanode節(jié)點(diǎn)的機(jī)器上安裝。另外還需要說(shuō)明的是,雖然修改配置文件并不需要你已經(jīng)把hadoop跑起來(lái),但是本文中用到了hadoop命令(創(chuàng)建文件夾時(shí)使用過(guò)),在執(zhí)行這些命令前你必須確保hadoop是在正常跑著的,而且啟動(dòng)hive的前提也是需要hadoop在正常跑著,所以建議你先將hadoop跑起來(lái)在按照本文操作。


前提:

本文假使你已成功安裝Hadoop!如未安裝,請(qǐng)參考另一篇博文《centos下安裝分布式Hadoop 3.1.1》。

本文假使你已成功安裝配置MySql數(shù)據(jù),如未安裝,請(qǐng)參考另一篇博文《MySQL數(shù)據(jù)庫(kù)安裝及配置相關(guān)》。


一)安裝環(huán)境

Centos 7.5

JDK 1.8.0_181

Hadoop 3.1.1

Hive 3.1.0


二)下載HIVE

下載地址:http://www.apache.org/dyn/closer.cgi/hive/ 

打開(kāi)網(wǎng)址,點(diǎn)擊圖1中鏈接,然后選擇Hive 版本,比如這里選擇Hive 3.1.0(如圖2),然后下載打好包的軟件即可(如圖3):

Centos基于Hadoop安裝Hive

圖1

Centos基于Hadoop安裝Hive

圖2

Centos基于Hadoop安裝Hive

圖3

三)安裝

3.1 解壓到特定目錄,這里解壓到/usr/local目錄(用戶自行安裝軟件,建議放在/usr/local目錄)

# tar -zxvf apache-hive-3.1.0-bin.tar.gz -C /usr/local


3.2 設(shè)置環(huán)境變量,編輯/etc/profile添加以下紅框內(nèi)的內(nèi)容:

Centos基于Hadoop安裝Hive

設(shè)置后運(yùn)行 # source /etc/profile使修改生效。


3.3 新建3個(gè)目錄,以便配置hive-site.xml文件

進(jìn)入Hadoop的bin目錄,運(yùn)行以下命令:

# ./hadoop fs -mkdir -p /var/hive/warehouse

# ./hadoop fs -mkdir -p /var/hive/tmp

# ./hadoop fs -mkdir -p /tmp/hive

修改3個(gè)目錄的權(quán)限:

./hadoop fs -chmod 777 /var/hive/warehouse

./hadoop fs -chmod 777 /var/hive/tmp

./hadoop fs -chmod 777 /tmp/hive

創(chuàng)建后,可運(yùn)行# ./hadoop fs -ls /var/hive/命令進(jìn)行查看是否創(chuàng)建成功。


3.4 編輯hive-site.xml文件

3.4.1 新建hive-site.xml文件

進(jìn)入到/usr/local/apache-hive-3.1.0.bin/conf目錄,將hive-default.xml.template文件復(fù)制一份,并命名為hive-site.xml.

3.4.2 修改hive-site.xml文件

3.4.2.1 修改name標(biāo)簽為hive.metastore.warehouse.dir的value值,如下:

Centos基于Hadoop安裝Hive

3.4.2.2 修改name標(biāo)簽為hive.exec.scratchdir的value值,如下:

Centos基于Hadoop安裝Hive

3.4.2.3 將hive-site.xml文件中所有value標(biāo)簽中的值中的"${system:java.io.tmpdir}"替換為"/var/hive/tmp",如下例子:

Centos基于Hadoop安裝Hive

3.4.2.4 將hive-site.xml文件中所有value標(biāo)簽中的值中的"${system:user.name}"替換為"root",如下例子:

Centos基于Hadoop安裝Hive

3.4.2.5 Hive元數(shù)據(jù)庫(kù)配置,這里以mysql為例

Centos基于Hadoop安裝Hive

Centos基于Hadoop安裝Hive

Centos基于Hadoop安裝Hive

Centos基于Hadoop安裝Hive

Centos基于Hadoop安裝Hive

3.4.2.6 將MySql驅(qū)動(dòng)包傳到hive的lib目錄

MySql驅(qū)動(dòng)包下載地址:https://dev.mysql.com/downloads/connector/j/ 

注意驅(qū)動(dòng)與版本的對(duì)于關(guān)系,可參考網(wǎng)址:

https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-versions.html 

https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-versions.html 

3.4.2.7 新建hive-env.sh文件并編輯

進(jìn)入hive的conf目錄,將hive-env.sh.template文件復(fù)制為hive-env.sh文件,并添加如下內(nèi)容:

Centos基于Hadoop安裝Hive

四)啟動(dòng)和測(cè)試

4.1 啟動(dòng)

進(jìn)入hive的bin目錄,執(zhí)行命令:

# ./schematool -initSchema -dbType mysql            //run this command to initialize DB.

# ./hive

4.2 測(cè)試

可執(zhí)行以下命令進(jìn)行測(cè)試:

# show functions;        //查看支持的函數(shù)

# create database DBName;        //創(chuàng)建數(shù)據(jù)庫(kù)

# use DBName;        //選中某個(gè)庫(kù)

# create table TableName(id int, name string) row format delimited fields terminated by '\t';            //創(chuàng)建包含id及name列的表,且字段之間用Tab鍵分割

# load data local inpath 'File' into table DBName.TableName;        //將文件File中的數(shù)據(jù)加載到創(chuàng)建的表中

文件的數(shù)據(jù)如下:

001 zhangsan
002 lisi
003 wangwu
004 zhaoliu
005 chenqi

說(shuō)明:ID和name直接是TAB鍵,不是空格,因?yàn)樵谏厦鎰?chuàng)建表的語(yǔ)句中用了terminated  by  '\t'所以這個(gè)文本里id和name的分割必須是用TAB鍵(復(fù)制粘貼如果有問(wèn)題,手動(dòng)敲TAB鍵吧),還有就是行與行之間不能有空行,否則下面執(zhí)行l(wèi)oad,會(huì)把NULL存入表內(nèi),該文件要使用unix格式,如果是在windows上用txt文本編輯器編輯后在上載到服務(wù)器上,需要用工具將windows格式轉(zhuǎn)為unix格式,例如可以使用Notepad++來(lái)轉(zhuǎn)換。

# select * from TableName;            //在hive命令行窗口運(yùn)行以查看表中數(shù)據(jù)

最后,還可以在mysql中查看創(chuàng)建的DB和Table,分別位于DBS表和TBLS表;

也可以通過(guò)namenode的URL在瀏覽器端查看數(shù)據(jù):http://NameNodeIP:50070/explorer.html#/var/hive/warehouse/DBName.db        //修改namenode的IP及自己配置的warehouse路徑和創(chuàng)建的數(shù)據(jù)庫(kù)名。


Appendix:

安裝HIVE還可以參考網(wǎng)址:https://blog.csdn.net/pucao_cug/article/details/71773665 。

快速了解HIVE核心基本概念,參考網(wǎng)址:https://blog.csdn.net/freefish_yzx/article/details/77150248 。

快速上手使用HIVE數(shù)據(jù)倉(cāng)庫(kù),參考網(wǎng)址: https://www.yiibai.com/hive/hive_partitioning.html 。

關(guān)于HIVE的分區(qū)概念及使用,參考網(wǎng)址: https://blog.csdn.net/qq_36743482/article/details/78418343 。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI