真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Hadoop部署之Hive(五)

一、Hive 簡介

1、什么是 Hive

  • Hive 由 Facebook 實現(xiàn)并開源,是基于 Hadoop 的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)映射為一張數(shù)據(jù)庫表,并提供 HQL(Hive SQL)查詢功能,底層數(shù)據(jù)是存儲在 HDFS 上。
  • Hive 的本質(zhì)是將 SQL 語句轉(zhuǎn)換為 MapReduce 任務(wù)運行,使不熟悉 MapReduce 的用戶很方便地利用 HQL 處理和計算 HDFS 上的結(jié)構(gòu)化的數(shù)據(jù),適用于離線的批量數(shù)據(jù)計算。
  • Hive 依賴于 HDFS 存儲數(shù)據(jù),Hive 將 HQL 轉(zhuǎn)換成 MapReduce 執(zhí)行,所以說 Hive 是基于 Hadoop 的一個數(shù)據(jù)倉庫工具,實質(zhì)就是一款基于 HDFS 的 MapReduce 計算框架,對存儲在 HDFS 中的數(shù)據(jù)進行分析和管理。

Hadoop 部署之 Hive (五)

創(chuàng)新互聯(lián)網(wǎng)絡(luò)公司擁有10年的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗,1000+客戶的共同信賴。提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計、網(wǎng)站開發(fā)、網(wǎng)站定制、買友情鏈接、建網(wǎng)站、網(wǎng)站搭建、自適應(yīng)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計師打造企業(yè)風格,提供周到的售前咨詢和貼心的售后服務(wù)

2、為什么使用 Hive

直接使用 MapReduce 所面臨的問題:

1、人員學習成本太高

2、項目周期要求太短

3、MapReduce實現(xiàn)復(fù)雜查詢邏輯開發(fā)難度太大

為什么要使用 Hive:

1、更友好的接口:操作接口采用類 SQL 的語法,提供快速開發(fā)的能力

2、更低的學習成本:避免了寫 MapReduce,減少開發(fā)人員的學習成本

3、更好的擴展性:可自由擴展集群規(guī)模而無需重啟服務(wù),還支持用戶自定義函數(shù)

3、Hive 的特點

  • 優(yōu)點:

1、可擴展性,橫向擴展,Hive 可以自由的擴展集群的規(guī)模,一般情況下不需要重啟服務(wù) 橫向擴展:通過分擔壓力的方式擴展集群的規(guī)模 縱向擴展:一臺服務(wù)器cpu i7-6700k 4核心8線程,8核心16線程,內(nèi)存64G => 128G

2、延展性,Hive 支持自定義函數(shù),用戶可以根據(jù)自己的需求來實現(xiàn)自己的函數(shù)

3、良好的容錯性,可以保障即使有節(jié)點出現(xiàn)問題,SQL 語句仍可完成執(zhí)行

  • 缺點:

1、Hive 不支持記錄級別的增刪改操作,但是用戶可以通過查詢生成新表或者將查詢結(jié) 果導(dǎo)入到文件中(當前選擇的 hive-2.3.2 的版本支持記錄級別的插入操作)

2、Hive 的查詢延時很嚴重,因為 MapReduce Job 的啟動過程消耗很長時間,所以不能 用在交互查詢系統(tǒng)中。

3、Hive 不支持事務(wù)(因為不沒有增刪改,所以主要用來做 OLAP(聯(lián)機分析處理),而 不是 OLTP(聯(lián)機事務(wù)處理),這就是數(shù)據(jù)處理的兩大級別)。

4、Hive 的架構(gòu)

Hadoop 部署之 Hive (五)

二、Hive 安裝

1、MySQL 安裝(datanode01)

Hive 的元數(shù)據(jù)存儲在 RDBMS 中,除元數(shù)據(jù)外的其它所有數(shù)據(jù)都基于 HDFS 存儲。默認情 況下,Hive 元數(shù)據(jù)保存在內(nèi)嵌的 Derby 數(shù)據(jù)庫中,只能允許一個會話連接,只適合簡單的 測試。實際生產(chǎn)環(huán)境中不適用,為了支持多用戶會話,則需要一個獨立的元數(shù)據(jù)庫,使用 MySQL 作為元數(shù)據(jù)庫,Hive 內(nèi)部對 MySQL 提供了很好的支持。

yum install mariadb-server

2、MySQL 啟動

啟動數(shù)據(jù)庫

systemctl start mariadb
systemctl enable mariadb

3、Hive 下載安裝

# 下載安裝包
wget https://mirrors.aliyun.com/apache/hive/hive-2.3.3/apache-hive-2.3.3-bin.tar.gz

# 解壓安裝包
tar xf apache-hive-2.3.3-bin.tar.gz
mv apache-hive-2.3.3-bin /usr/local/hive

# 創(chuàng)建目錄
mkdir -p /home/hive/{log,tmp,job}

4、配置 Hive 環(huán)境變量

編輯文件/etc/profile.d/hive.sh,修改為如下內(nèi)容:

# HIVE ENV
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin

使HIVE環(huán)境變量生效。

source /etc/profile.d/hive.sh

三、Hive 配置

1、配置 metastore(datanode01)

mysql> grant all privileges on *.* to 'hive'@'%' identified by 'hive123456' with grant option;
mysql> grant all privileges on *.* to 'hive'@'datanode01' identified by 'hive123456' with grant option;

mysql> grant all privileges on *.* to 'thbl_prd_hive'@'%' identified by 'hive123456' with grant option;
mysql> grant all privileges on *.* to 'hive'@'localhost' identified by 'hive123456' with grant option;
mysql> grant all privileges on *.* to 'thbl_prd_hive'@'localhost' identified by 'hive123456' with grant option;
mysql> flush privileges;

2、配置 jdbc(datanode01)

wget http://mirrors.163.com/mysql/Downloads/Connector-J/mysql-connector-java-5.1.45.tar.gz 
tar xf mysql-connector-java-5.1.45.tar.gz
cp mysql-connector-java-5.1.45/mysql-connector-java-5.1.45-bin.jar /usr/local/hive/lib/

3、備份template配置文件(namenode01)

cd /usr/local/hive/conf
mkdir template
mv *.template template

# 安排配置文件
cp template/hive-exec-log4j2.properties.template hive-exec-log4j2.properties
cp template/hive-log4j2.properties.template hive-log4j2.properties
cp template/hive-default.xml.template hive-default.xml
cp template/hive-env.sh.template hive-env.sh

4、配置 hive-env.sh(namenode01)

編輯文件/usr/local/hive/conf/hive-env.sh,修改內(nèi)容如下:

HADOOP_HOME=/usr/local/hadoop
export HIVE_CONF_DIR=/usr/local/hive/conf
export HIVE_AUX_JARS_PATH=/usr/local/hive/lib

5、配置數(shù)據(jù)倉庫 hive-site.xml(namenode01)

編輯文件/usr/local/hive/conf/hive-site.xml,修改內(nèi)容為如下:


   
     hive.exec.local.scratchdir
     /home/hive/job
     hive的本地臨時目錄,用來存儲不同階段的map/reduce的執(zhí)行計劃
   

   
     hive.downloaded.resources.dir
     /home/hive/tmp/${hive.session.id}_resources
     hive下載的本地臨時目錄
   

   
     hive.querylog.location
     /home/hive/log/${system:user.name}
     hive運行時結(jié)構(gòu)化日志路徑
   

   
     hive.hwi.war.file
     lib/hive-hwi-2.1.1.war
     HWI war文件路徑, 與 ${HIVE_HOME}相關(guān). 
   

   
     hive.server2.logging.operation.log.location
     /home/hive/log/${system:user.name}/operation_logs
     日志開啟時的,操作日志路徑
   


   
     hive.metastore.local
     false
   

  
    datanucleus.schema.autoCreateAll
    true
    啟動時自動創(chuàng)建必要的schema
  

  
    hive.metastore.warehouse.dir
    /hive/warehouse
    Hive數(shù)據(jù)倉庫在HDFS中的路徑
  

   
     hive.metastore.uris
     thrift://datanode01:9083
     遠程metastore的 Thrift URI,以供metastore客戶端連接metastore服務(wù)端
   


   
     javax.jdo.option.ConnectionDriverName
     com.mysql.jdbc.Driver
     JDBC驅(qū)動名
   

   
     javax.jdo.option.ConnectionURL
     jdbc:mysql://datanode01:3306/hive_db?createDatabaseIfNotExist=true
     JDBC連接名
   

   
     javax.jdo.option.ConnectionUserName
     hive
     連接metastore數(shù)據(jù)庫的用戶名
   

   
     javax.jdo.option.ConnectionPassword
     hive123456
     連接metastore數(shù)據(jù)庫的密碼
   

   
     hive.metastore.schema.verification
     false
     強制metastore schema的版本一致性
   

6、配置權(quán)限(namenode01)

scp /usr/local/hive/conf/* datanode01:/usr/local/hive/conf/
chmod 755 /usr/local/hive/conf/*

四、Hive 啟動

1、在namenode01,啟動hiveserver2

hive --service hiveserver2 &

2、在datanode01,啟動metastore

hive --service metastore &

五、Hive 檢查

1、JPS

[root@namenode01 ~]# jps
14512 NameNode
14786 ResourceManager
21348 RunJar
15894 HMaster
22047 Jps

[root@datanode01 ~]# jps
3509 DataNode
3621 NodeManager
1097 QuorumPeerMain
9930 RunJar
3935 HRegionServer
10063 Jps

2、hive shell

[root@namenode01 ~]# hive
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hive/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]

Logging initialized using configuration in file:/usr/local/hive/conf/hive-log4j2.properties Async: true
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
hive> show tables;
OK
Time taken: 0.833 seconds

本文題目:Hadoop部署之Hive(五)
文章鏈接:http://weahome.cn/article/ijpjep.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部