日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

1 Hive安裝部署

1.1 環(huán)境準(zhǔn)備

(1)安裝hive的前提是要配置好hadoop集群,啟動(dòng)hive之前要先啟動(dòng)hadoop集群。

(2)hive官網(wǎng)地址:http://hive.Apache.org/

(3)hive下載地址:http://archive.apache.org/dist/hive/

(4)我的hive版本是下載的apache-hive-1.2.1-bin.tar.gz

(5)MySQL版本:MySQL-5.5.60-1.el6.x86_64.rpm-bundle.tar

(6)配置yum運(yùn)用的鏡像文件:centos-7-x86_64-DVD-1708.iso


1.2 Hive 安裝及配置

(1)將apache-hive-1.2.1-bin.tar.gz 上傳到hadoop111的/opt/software 目錄下

(2)解壓apache-hive-1.2.1-bin.tar.gz 到/opt/module/目錄下面

[root@hadoop111 software]# tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/

(3)修改 apache-hive-1.2.1-bin.tar.gz 的名稱為 hive

[root@hadoop111 module]# mv apache-hive-1.2.1-bin/ hive

(4)修改/opt/module/hive/conf 目錄下的 hive-env.sh.template 名稱為 hive-env.sh

[root@hadoop111 conf]# mv hive-env.sh.template hive-env.sh

(5)配置 hive-env.sh 文件

(a)配置 HADOOP_HOME 路徑

export HADOOP_HOME=/opt/module/hadoop-2.7.5

(b)配置 HIVE_CONF_DIR 路徑 export HIVE_CONF_DIR=/opt/module/hive/conf


1.3 Hadoop 集群配置

(1)必須啟動(dòng) hdfs 和 yarn

HIVE的安裝與配置

啟動(dòng)hadoop安全分布式集群

(2)在 HDFS 上創(chuàng)建/tmp 和/user/hive/warehouse 兩個(gè)目錄并修改它們同組權(quán)限可寫

[root@hadoop111 hadoop-2.7.5]# bin/hadoop fs -mkdir /tmp

[root@hadoop111 hadoop-2.7.5]# bin/hadoop fs -mkdir -p /user/hive/warehouse [root@hadoop111 hadoop-2.7.5]# bin/hadoop fs -chmod g+w /tmp

[root@hadoop111 hadoop-2.7.5]# bin/hadoop fs -chmod g+w /user/hive/warehouse


1.4 啟動(dòng)hive遇到報(bào)錯(cuò)問題

再打開一個(gè)客戶端窗口啟動(dòng) hive,會(huì)產(chǎn)生 JAVA.sql.SQLException 異常。

HIVE的安裝與配置

拋出異常

原因:Metastore 默認(rèn)存儲(chǔ)在自帶的 derby 數(shù)據(jù)庫中,推薦使用 MySQL 存儲(chǔ) Metastore。

HIVE的安裝與配置

在mysql數(shù)據(jù)庫中查看derby數(shù)據(jù)庫


2 配置虛擬機(jī)的yum源

2.1 yum簡(jiǎn)介

我在安裝mysql的過程中遇到了各種依賴性包未被安裝的問題,所以想到可不可以像云計(jì)算課程那樣也安裝yum源,能方便迅速的下載軟件包及相關(guān)指令,于是就去搜索怎么配置虛擬機(jī)的yum源,在連通外網(wǎng)的情況下,也可以直接獲取網(wǎng)址地址下載相關(guān)軟件包。

yum的主要功能是更方便的添加/刪除/更新RPM 包,自動(dòng)解決包的依賴性問題,便于管理大量系統(tǒng)的更新問題。

yum 可以同時(shí)配置多個(gè)資源庫(Repository),簡(jiǎn)潔的配置文件(/etc/yum.conf),自動(dòng)解決增加或刪除rpm 包時(shí)遇到的依賴性問題,保持與RPM 數(shù)據(jù)庫的一致性。


2.2 配置yum源步驟

(1)用xftp軟件將鏡像文件CentOS-7-x86_64-DVD-1708.iso上傳至/opt/目錄下

(2)在/opt/目錄下創(chuàng)建centos文件夾

[root@hadoop111 ~]# mkdir /opt/centos

(3)將鏡像文件掛載到centos目錄下

[root@hadoop111 ~]# mount -o loop /opt/CentOS-7-x86_64-DVD-1708.iso /opt/centos/
mount: /dev/loop0 寫保護(hù),將以只讀方式掛載

(4)查看centos目錄的內(nèi)容

[root@hadoop111 ~]# ll /opt/centos

(5)刪除原有的yum源配置文件

[root@hadoop111 ~]# rm -rf /etc/yum.repos.d/*

(6)手工創(chuàng)建yum源配置文件local.repo

[root@hadoop111 ~]# vi /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos
enabled=1
gpgcheck=0

(7)確認(rèn)yum源是否配置成功

[root@hadoop111 ~]# yum list

2.3 檢查虛擬機(jī)能否連接外網(wǎng)

HIVE的安裝與配置

隨便輸入百度、谷歌等網(wǎng)址,ping一下看是否ping通


3 安裝MySQL數(shù)據(jù)庫

3.1 更新mysql版本

(1)下載mysql的rpm文件:mysql57-community-release-el6-8.noarch.rpm,但只需要其中三個(gè)包(MySQL-server-5.5.60-1.el6.x86_64.rpm、MySQL-client-5.5.60-1.el6.x86_64.rpm、mysql-connector-java-5.1.27),最后把文件壓縮之后再將不要的包全部刪掉。

(2)安裝rpm包,更新yum源的mysql版本

[root@hadoop111 hive]# rpm -Uvh /opt/software/mysql57-community-release-el6-8.noarch.rpm

(3)查看yum源的mysql

[root@hadoop111 hive]# cd /etc/yum.repos.d

(4)修改mysql-community.repo和mysql-community-source.repo文件

在兩個(gè)文件中,將mysql5.7中的enabled改為0,將MySQL5.6中的enabled改為1。這樣yum安裝時(shí)就安裝mysql5.6版本了。

(5)yum安裝mysql客戶端

[root@hadoop111 yum.repos.d]# yum -y install mysql-community-server

3.2 mysql設(shè)置

3.2.1 啟動(dòng)mysql

(1)查看mysql狀態(tài):

[root@hadoop111 yum.repos.d]# service mysql status或者systemctl status mysql
SUCCESS! MySQL running (1088)

(2)啟動(dòng)mysql:

[root@hadoop111 yum.repos.d]# service mysqld start

3.2.2 mysql安全性設(shè)置

(1)安裝完成后,默認(rèn)root用戶是沒有密碼的,有一些匿名用戶,查看用戶可以用以下命令。

用root用戶登錄mysql: [root@hadoop111 yum.repos.d]# mysql -uroot
切換到mysql庫:mysql -> use mysql;
查看user表:mysql -> select host,user from user;

(2)用腳本初始化權(quán)限(注:這種初始化方式只適合于MySQL5.6版本)

[root@hadoop111 yum.repos.d]# mysql_secure_installation

提示輸入當(dāng)前root密碼,當(dāng)前密碼為空:Enter current password for root (enter for none):

提示是否設(shè)置root密碼: Set root password? [Y/n] y

提示是否移除匿名用戶:Remove anonymous users? [Y/n] y

提示是否禁用root遠(yuǎn)程登錄:Disallow root login remotely? [Y/n] n

提示是否移除test數(shù)據(jù)庫:Remove test database and access to it? [Y/n] n

提示是否重新加載權(quán)限:Reload privilege tables now? [Y/n] y

(3)再次查看用戶信息

用root和密碼登錄:[root@hadoop111 yum.repos.d]# mysql -uroot -p000000
切換到mysql庫:mysql -> use mysql;

查看用戶信息,已經(jīng)有了密碼,并且匿名用戶已經(jīng)被刪除了:

mysql -> select host,user from user;

(4)給root設(shè)置所有權(quán)限

mysql> grant all privileges on *.* to 'root'@'%' identified by '000000'with grant option;

(5)刷新權(quán)限

mysql> flush privileges;

(6)退出

mysql>quit;

4 Hive元數(shù)據(jù)配置到MySQL

4.1 驅(qū)動(dòng)拷貝

1.在/opt/software/ 目錄下解壓mysql57-community-release-el6-8.noarch.rpm

[root@hadoop111 software]# rpm2cpio mysql57-community-release-el6-8.noarch.rpm | cpio -div

2.將mysql57-community-release-el6-8.noarch重命名為mysql

[root@hadoop111 software]# mv mysql57-community-release-el6-8.noarch mysql

3.拷貝 mysql目錄mysql-connector-java-5.1.27-bin.jar 到hive的lib目錄下

[root@hadoop111 mysql]# cp
/opt/software/mysql/mysql-connector-java-5.1.27-bin.jar /opt/module/hive/lib/

4.2 配置 Metastore 到 MySQL

1.在/opt/module/hive/conf 目錄下創(chuàng)建一個(gè) hive-site.xml[root@hadoop111 conf]# touch hive-site.xml

[root@hadoop111 conf]# vi hive-site.xml

2.根據(jù)官方文檔配置參數(shù),拷貝數(shù)據(jù)到 hive-site.xml 文件中

HIVE的安裝與配置

根據(jù)hive官方文檔提示,編寫hive-site.xml

3.配置完畢后,如果啟動(dòng) hive 異常,可以重新啟動(dòng)虛擬機(jī)。(重啟后,別忘了重啟動(dòng) hadoop 集群)


4.3 多窗口啟動(dòng)Hive測(cè)試

1、先啟動(dòng)MySQL

HIVE的安裝與配置

啟動(dòng)mysql數(shù)據(jù)庫

2、再次打開多個(gè)窗口,分別啟動(dòng) hive

HIVE的安裝與配置

分別復(fù)制多個(gè)窗口,測(cè)試啟動(dòng)hive是否異常

3.啟動(dòng) hive 后,回到 MySQL 窗口查看數(shù)據(jù)庫,顯示增加了 metastore 數(shù)據(jù)庫

HIVE的安裝與配置

查看metastore數(shù)據(jù)庫


5 Hive 常見屬性配置

5.1 Hive 數(shù)據(jù)倉庫位置配置

(1)默認(rèn)數(shù)據(jù)倉庫的最原始位置是在 hdfs 上的:/user/hive/warehouse 路徑下。

(2)在倉庫目錄下,沒有對(duì)默認(rèn)的數(shù)據(jù)庫 default 創(chuàng)建文件夾。如果某張表屬于 default數(shù)據(jù)庫,直接在數(shù)據(jù)倉庫目錄下創(chuàng)建一個(gè)文件夾。

(3)修改默認(rèn)數(shù)據(jù)倉庫原始位置(將 hive-default.xml.template 如下配置信息拷貝到hive-site.xml 文件中)。

<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>

(4)配置同組用戶有執(zhí)行權(quán)限

bin/hdfs dfs -chmod g+w /user/hive/warehouse

5.2 查詢后信息顯示配置

(1)在 hive-site.xml 文件中添加如下配置信息,就可以實(shí)現(xiàn)顯示當(dāng)前數(shù)據(jù)庫,以及查詢表的頭信息配置。

<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>

(2)重新啟動(dòng) hive,對(duì)比配置前后差異。

(a)配置前:

HIVE的安裝與配置

配置前的hive儲(chǔ)存數(shù)據(jù)

(b)配置后:

HIVE的安裝與配置

配置后的hive儲(chǔ)存數(shù)據(jù)


5.3 Hive運(yùn)行日志信息配置

1、Hive 的 log 默認(rèn)存放在/tmp/root/hive.log 目錄下(當(dāng)前用戶名下)

2、修改 hive 的 log 存放日志到/opt/module/hive/logs

(1)修改/opt/module/hive/conf/hive-log4j.properties.template 文件名稱為hive-log4j.properties

[root@hadoop111 conf]# pwd
/opt/module/hive/conf
[root@hadoop111 conf]# mv hive-log4j.properties.template hive-log4j.properties 

(2)在 hive-log4j.properties 文件中修改 log 存放位置

hive.log.dir=/opt/module/hive/logs

注:一旦hive的運(yùn)行程序報(bào)錯(cuò)或拋出異常,就可以快速查找日志信息,就其根源尋找問題。


6 HiveJDBC訪問

6.1 HiveServer2定義

HiveServer2是一個(gè)能使客戶端針對(duì)hive執(zhí)行查詢的一種服務(wù),與HiverServer1比較,它能夠支持多個(gè)客戶端的并發(fā)請(qǐng)求和授權(quán)的;

HiveCLI 和 hive –e的方式比較單一,HS2允許遠(yuǎn)程客戶端使用多種語言諸如Java,Python等向Hive提交請(qǐng)求,然后取回結(jié)果。

HS2對(duì)于TCP 模式使用ThreadPoolServer,對(duì)于HTTP模式使用JettyServer.

ThreadPoolServer為每一個(gè)TCP連接分配一個(gè)工作者線程,每一個(gè)線程總是和一個(gè)連接關(guān)聯(lián),即使該連接是空閑的,所以這兒有個(gè)潛在的性能問題:如果有很多連接,將會(huì)導(dǎo)致大量的線程。以后可能會(huì)換成ThreadedSelectorServer對(duì)于HTTP模式,在客戶端和服務(wù)器之間需要一個(gè)代理,主要是負(fù)載均衡或者其他原因,比如HAProxy。


6.2 啟動(dòng) hiveserver2 服務(wù)

HIVE的安裝與配置

hiveserver2啟動(dòng)

啟動(dòng)這個(gè)服務(wù),需要卡住一段時(shí)間,起初我還以為是網(wǎng)絡(luò)原因不好或者是配置出錯(cuò),結(jié)果上網(wǎng)查問題,是由于進(jìn)程已經(jīng)在后臺(tái)運(yùn)行,所以只需要在復(fù)制一個(gè)虛擬機(jī)窗口就可以。


6.3 啟動(dòng)beeline

HIVE的安裝與配置

啟動(dòng)beeline


6.3 訪問hive的web頁面

HIVE的安裝與配置

啟動(dòng)hive的web頁面


HIVE的安裝與配置

查看網(wǎng)址


7 小結(jié)

在安裝hive的過程中遇到了很多問題,主要的錯(cuò)誤和解決辦法如下:

1、 mysql不能正確安裝,原因是沒有相關(guān)依賴包或者某路徑下沒有相關(guān)插件,所以考慮搭建yum源,采用yum源在連接外網(wǎng)的情況下安裝mysql。

2、 連接不上hiveserver2,在bin/hiveserver2啟動(dòng)時(shí)等待了很長(zhǎng)時(shí)間,一直沒響應(yīng),所以百度了一下,原因是后臺(tái)已經(jīng)在執(zhí)行路徑運(yùn)行了,只需要用Xshell復(fù)制一個(gè)窗口hadoop111執(zhí)行bin/beeline就可以連接到beeline了。

3、 拒絕訪問hive的jdbc:即beeline> !connect jdbc:hive2://192.168.200.111:10000這里失敗,沒有在/opt/module/hadoop-2.7.5/etc/hadoop/core-site.xml設(shè)置超級(jí)用戶,添加如下配置即可.

<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>

4、 報(bào)錯(cuò):jdbc.HiveConnection: Failed to connect to 192.168.200.111:10000 Error: Could not open client transport with JDBC Uri: jdbc:hive2://192.168.200.111:10000/default: java.net.ConnectException: Connection refused (state=08S01,code=0)

(1)至少你連接是成功的,不然不會(huì)出現(xiàn)讓你驗(yàn)證username和password的問題。

(2)第二個(gè),你的鏈接有問題。有可能是你現(xiàn)在連接的并不是hive2,而是啟動(dòng)的服務(wù)hiveserver。這個(gè)和hiveserver2有很大的版本區(qū)別,具體可以百度。

(3)當(dāng)連接的是hive2,但還是拒絕的時(shí)候,可能問題出在你配置上面,如下:

<property>
<name>hive.server2.transport.mode</name>
<value>binary</value>
<description> Expects one of [binary, http]. Transport mode of HiveServer2. </description>
</property>

切記,當(dāng)你這里設(shè)置為http的時(shí)候,此時(shí)服務(wù)器只提供端口10001的服務(wù),即HTTP方式訪問。 這時(shí)候10000端口是不開啟的!

我就是在這個(gè)地方卡了好幾天。因此你要用java通過jdbc訪問,一定要選擇binary。

分享到:
標(biāo)簽:HIVE
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定