日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

sql安装目录下log文件夹_Linux安装Hive数据仓库工具

發(fā)布時(shí)間:2025/3/15 linux 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql安装目录下log文件夹_Linux安装Hive数据仓库工具 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、Hive入門教程

Hive是基于Hadoop的一個(gè)數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供簡單的sql查詢功能,可以將sql語句轉(zhuǎn)換為MapReduce任務(wù)進(jìn)行運(yùn)行。其優(yōu)點(diǎn)是學(xué)習(xí)成本低,可以通過類SQL語句快速實(shí)現(xiàn)簡單的MapReduce統(tǒng)計(jì),不必開發(fā)專門的MapReduce應(yīng)用,十分適合數(shù)據(jù)倉庫的統(tǒng)計(jì)分析。Hive是一個(gè)數(shù)據(jù)倉庫基礎(chǔ)工具在Hadoop中用來處理結(jié)構(gòu)化數(shù)據(jù)。它架構(gòu)在Hadoop之上,總歸為大數(shù)據(jù),并使得查詢和分析方便。

在Hive中,Hive是SQL解析引擎,它將SQL語句轉(zhuǎn)譯成M/R Job然后在Hadoop執(zhí)行。Hive的表其實(shí)就是HDFS的目錄/文件,按表名把文件夾分開。如果是分區(qū)表,則分區(qū)值是子文件夾,可以直接在M/RJob里使用這些數(shù)據(jù)。

最初,Hive是由Facebook開發(fā),后來由Apache軟件基金會(huì)開發(fā),并作為進(jìn)一步將它作為名義下ApacheHive為一個(gè)開源項(xiàng)目。它用在好多不同的公司。例如,亞馬遜使用它在Amazon Elastic、MapReduce。

1)Hive原理圖

2)Hive系統(tǒng)架構(gòu)

Hive系統(tǒng)架構(gòu)圖:

  • 用戶接口:

CLI,即Shell命令行。

JDBC/ODBC是Hive的Java,與使用傳統(tǒng)數(shù)據(jù)庫JDBC的方式類似。

WebGUI是通過瀏覽器訪問Hive。

Thrift是一個(gè)軟件框架,用來進(jìn)行可擴(kuò)展且跨語言的服務(wù)的開發(fā)。它結(jié)合了功能強(qiáng)大的軟件堆棧和代碼生成引擎,以構(gòu)建在 C++,Java, Go,Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript,Node.js, Smalltalk, and OCaml這些編程語言間無縫結(jié)合的、高效的服務(wù)。

解釋器、編譯器、優(yōu)化器完成HQL查詢語句從詞法分析、語法分析、編譯、優(yōu)化以及查詢計(jì)劃(plan)的生成。生成的查詢計(jì)劃存儲(chǔ)在HDFS中,并在隨后有MapReduce調(diào)用執(zhí)行。

Hive的數(shù)據(jù)存儲(chǔ)在HDFS中,大部分的查詢由MapReduce完成(包含*的查詢,比如select *from table不會(huì)生成MapRedcue任務(wù))。

Hive將元數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫中(metastore),目前只支持mysql、derby。Hive中的元數(shù)據(jù)包括表的名字,表的列和分區(qū)及其屬性,表的屬性(是否為外部表等),表的數(shù)據(jù)所在目錄等。

  • Metastore組件

Hive的Metastore組件是Hive元數(shù)據(jù)集中存放地。Metastore組件包括兩個(gè)部分:Metastore服務(wù)和后臺數(shù)據(jù)的存儲(chǔ)。后臺數(shù)據(jù)存儲(chǔ)的介質(zhì)就是關(guān)系數(shù)據(jù)庫,例如Hive默認(rèn)的嵌入式磁盤數(shù)據(jù)庫derby,還有mysql數(shù)據(jù)庫。Metastore服務(wù)是建立在后臺數(shù)據(jù)存儲(chǔ)介質(zhì)之上,并且可以和Hive服務(wù)進(jìn)行交互的服務(wù)組件,默認(rèn)情況下,Metastore服務(wù)和Hive服務(wù)是安裝在一起的,運(yùn)行在同一個(gè)進(jìn)程當(dāng)中。我也可以把Metastore服務(wù)從Hive服務(wù)里剝離出來,Metastore獨(dú)立安裝在一個(gè)集群里,Hive遠(yuǎn)程調(diào)用Metastore服務(wù),這樣我們可以把元數(shù)據(jù)這一層放到防火墻之后,客戶端訪問Hive服務(wù),就可以連接到元數(shù)據(jù)這一層,從而提供了更好的管理性和安全保障。使用遠(yuǎn)程的Metastore服務(wù),可以讓Metastore服務(wù)和hive服務(wù)運(yùn)行在不同的進(jìn)程里,這樣也保證了Hive的穩(wěn)定性,提升了Hive服務(wù)的效率。

Hive的執(zhí)行流程如下圖所示:

3)前置條件

Hive是建立Hadoop環(huán)境安裝之上的,所以需要Hadoop的集群環(huán)境搭建,Hive即需要依賴于HDFS又需要依賴YARN。安裝好Hadoop后需要進(jìn)行啟動(dòng)HDFS和YARN。

環(huán)境安裝參考資料:Linux搭建Hadoop-2.7.2分布式集群

環(huán)境安裝參考資料:

1、Hive下載地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3.7/apache-hive-2.3.7-bin.tar.gz

2、Hadoop和Hbase版本關(guān)系表:

Hive版本

Hadoop版本

Hive-2.3.0

2.x.y

Hive-2.2.0

2.x.y

Hive-2.1.1

2.x.y

Hive-2.1.0

2.x.y

Hive-2.0.0

2.x.y

Hive-1.2.2

1.x.y、2.x.y

Hive-1.2.1

1.x.y、2.x.y

Hive-1.1.1

1.x.y、2.x.y

Hive-1.0.1

1.x.y、2.x.y

Hive-1.0.0

1.x.y、2.x.y

Hive-0.13.1

0.20.x.y、0.23.x.y、1.x.y、2.x.y

Hive-0.13.0

0.20.x.y、0.23.x.y、1.x.y、2.x.y

Hive-0.12.0

0.20.x.y、0.23.x.y、1.x.y、2.x.y

Hive-0.11.0

0.20.x.y、0.23.x.y、1.x.y、2.x.y

Hive-0.10.0

0.20.x.y、0.23.x.y、1.x.y、2.x.y

4)安裝Hive

1、下載Hive安裝包

[root@node1 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3.7/apache-hive-2.3.7-bin.tar.gz

2、解壓Hive安裝包

[root@node1 ~]# tar xf apache-hive-2.3.7-bin.tar.gz

[root@node1 ~]# mv apache-hive-2.3.7-bin /usr/local/hive

[root@node1 ~]# ls -l /usr/local/hive/

total 56

drwxr-xr-x 3 root root 133 Dec 3 10:56 bin

drwxr-xr-x 2 root root 4096 Dec 3 10:56 binary-package-licenses

drwxr-xr-x 2 root root 4096 Dec 3 10:56 conf

drwxr-xr-x 4 root root 34 Dec 3 10:56 examples

drwxr-xr-x 7 root root 68 Dec 3 10:56 hcatalog

drwxr-xr-x 2 root root 44 Dec 3 10:56 jdbc

drwxr-xr-x 4 root root 12288 Dec 3 10:56 lib

-rw-r--r-- 1 root root 20798 Mar 10 2020 LICENSE

-rw-r--r-- 1 root root 230 Apr 8 2020 NOTICE

-rw-r--r-- 1 root root 361 Apr 8 2020 RELEASE_NOTES.txt

drwxr-xr-x 4 root root 35 Dec 3 10:56 scripts

注解:

bin:包含hive的命令shell腳本

binary-package-licenses:包含了LICENSE說明文件

conf:包含hive配置文件

examples:包含了示例

hcatalog:Metastore操作的元數(shù)據(jù)目錄

jdbc:提供了hive-jdbc-2.3.0-standalone.jar包

scripts:提供了sql腳本

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

[root@node1 ~]# vim /etc/profile

export HIVE_HOME=/usr/local/hive

export PATH=$PATH:$HIVE_HOME/bin

4、執(zhí)行命令source /etc/profile使其生效

[root@node1 ~]# source /etc/profile

5、配置Hive

[root@node1 ~]# cd /usr/local/hive/conf

[root@node1 conf]# cp hive-default.xml.template hive-site.xml

# 新建HDFS目錄

[root@node1 conf]# hadoop fs -mkdir -p /data/hive/warehouse

[root@node1 conf]# hadoop fs -mkdir -p /data/hive/tmp

[root@node1 conf]# hadoop fs -mkdir -p /data/hive/log

[root@node1 conf]# hadoop fs -chmod -R 777 /data/hive/warehouse

[root@node1 conf]# hadoop fs -chmod -R 777 /data/hive/tmp

[root@node1 conf]# hadoop fs -chmod -R 777 /data/hive/log

#?用以下命令檢查目錄是否創(chuàng)建成功

[root@node1 conf]# hadoop fs -ls /user/hive

Found 3 items

drwxrwxrwx - root supergroup 0 2020-12-03 13:36 /data/hive/log

drwxrwxrwx - root supergroup 0 2020-12-03 13:34 /data/hive/tmp

drwxrwxrwx - root supergroup 0 2020-12-03 13:36 /data/hive/warehouse

6、修改hive-site.xml

# 搜索hive.exec.scratchdir,將該name對應(yīng)的value修改為/data/hive/tmp

hive.exec.scratchdir

/data/hive/tmp

# 搜索hive.querylog.location,將該name對應(yīng)的value修改為

/data/hive/log/hadoop

hive.querylog.locationname>

/data/hive/log/hadoopvalue>

Location of Hive run time structured logfiledescription>

property>

# 搜索javax.jdo.option.connectionURL,將該name對應(yīng)的value修改為Mysql的地址

javax.jdo.option.ConnectionURL

jdbc:mysql://172.168.1.14:3306/hive?createDatabaseIfNotExist=true

JDBC connectstring for a JDBC metastore.

To use SSL toencrypt/authenticate the connection, provide

database-specific SSL flag in theconnection URL.

For example,jdbc:postgresql://myhost/db?ssl=true for postgres database.

# 搜索javax.jdo.option.ConnectionDriverName,將該name對應(yīng)的value修改為Mysql驅(qū)動(dòng)類路徑

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

Driverclass name for a JDBC metastore

# 搜索javax.jdo.option.ConnectionUserName,將對應(yīng)的value修改為Mysql數(shù)據(jù)庫登錄名

javax.jdo.option.ConnectionUserName

hive

Username touse against metastore database

# 搜索javax.jdo.option.ConnectionPassword,將對應(yīng)的value修改為Mysql數(shù)據(jù)庫的登錄密碼

javax.jdo.option.ConnectionPassword

123456

password to useagainst metastore database

# 創(chuàng)建tmp目錄

[root@node1 conf]# mkdir ../tmp

# 把${system:java.io.tmpdir}改成/usr/local/hive/tmp

[root@node1 conf]# sed -i 's#${system:java.io.tmpdir}#/usr/local/hive/tmp#g' hive-site.xml

# 把${system:user.name}改成${user.name}

[root@node1 conf]# sed -i 's#${system:user.name}#${user.name}#g' hive-site.xml

7、修改hive-env.sh

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

[root@node1 conf]# vim hive-env.sh

# 加入以下內(nèi)容

HADOOP_HOME=/usr/local/hadoop-2.7.2

export HIVE_CONF_DIR=/usr/local/hive/conf

8、下載Mysql驅(qū)動(dòng)包

[root@node1 conf]# cd ../lib/

[root@node1 lib]# https://cdn.mysql.com/archives/mysql-connector-java-5.1/mysql-connector-java-5.1.46.zip

[root@node1 lib]# unzip mysql-connector-java-5.1.46.zip

[root@node1 lib]# mv mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar .

[root@node1 lib]# rm -rf mysql-connector-java-5.1.46*

9、創(chuàng)建hive數(shù)據(jù)庫及授權(quán)

[root@node1 ~]# mysql -uroot -p

mysql> create database hive;

mysql> grant all on hive_test@'%' identifide by '123456';

mysql> flush privileges;

10、初始化Mysql

[root@node1 lib]# cd ../bin

[root@node1 bin]# ./schematool -initSchema -dbType mysql

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-2.7.2/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLo

ggerBinder.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]

Metastore connection URL:???? jdbc:mysql://172.168.1.14:3306/hive?createDatabaseIfNotExist=true

Metastore Connection Driver :???? com.mysql.jdbc.Driver

Metastore connection User:???? hive

Starting metastore schema initialization to 2.3.0

Initialization script hive-schema-2.3.0.mysql.sql

Initialization script completed

schemaTool completed

# 看到schemaTool completed表示初始化成功。

5)啟動(dòng)Hive

[root@node1 lib]# hive

which: no hbase in (/usr/local/jdk1.8.0_181/bin:/usr/local/jdk1.8.0_181/jre/bin:/data/mysql/bin:/usr/local/jdk1.8.0_181/bin:/usr/local/jdk1.8.0_181/jre/bin:/data/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/usr/local/hadoop-2.7.2/bin:/root/bin:/bin:/usr/local/hadoop-2.7.2/bin:/usr/local/hive/bin)

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-2.7.2/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 jar:file:/usr/local/hive/lib/hive-common-2.3.7.jar!/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 databases;

OK

default

Time taken: 0.068 seconds, Fetched: 1 row(s)

至此,Hive數(shù)據(jù)倉庫搭建完畢。

  • 輸入編號:7714,直達(dá)文章

  • 輸入m|M,直達(dá)目錄列表

總結(jié)

以上是生活随笔為你收集整理的sql安装目录下log文件夹_Linux安装Hive数据仓库工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。