版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章Hive環(huán)境搭建本章主要介紹Hive運(yùn)行環(huán)境的完整安裝過(guò)程與詳細(xì)配置方法,包括Hive安裝及配置、MySQL安裝及配置、Hive元數(shù)據(jù)配置、HiveJDBC連接及Hive常見屬性配置等內(nèi)容。這些內(nèi)容是Hive正常運(yùn)行的基礎(chǔ)和保證。2.1Hive安裝及配置章內(nèi)分節(jié) 2.1.1Hive的安裝模式2.1.2Hive安裝及配置過(guò)程2.1.3Hive基本操作2.2MySQL安裝及配置2.2.1MySQL安裝包準(zhǔn)備2.2.2MySQL服務(wù)器端安裝
2.2.3MySQL客戶端安裝2.3Hive元數(shù)據(jù)配置2.3.1驅(qū)動(dòng)復(fù)制2.3.2配置元數(shù)據(jù)到MySQL2.3.3多終端啟動(dòng)Hive2.4HiveJDBC連接2.4.1HiveServer2配置
2.4.2HiveServer2啟動(dòng)2.4.3Beeline啟動(dòng)2.4.4HiveServer2連接2.5Hive常見屬性配置2.5.1Hive位置配置2.5.2信息顯示配置2.5.3運(yùn)行日志信息配置
2.5.4Hive參數(shù)配置方式2.1Hive安裝及配置Hive是依賴于Hadoop集群的,因此在安裝Hive之前,需要保證已經(jīng)搭建好Hadoop集群環(huán)境。在這里假設(shè)Hadoop集群環(huán)境已經(jīng)安裝成功。2.1.1Hive的安裝模式Hive有3種安裝模式,分別對(duì)應(yīng)不同的應(yīng)用場(chǎng)景。元數(shù)據(jù)保存在內(nèi)嵌的Derby數(shù)據(jù)庫(kù)中,只允許一個(gè)會(huì)話連接。Hive嵌入模式有很大的局限性,只創(chuàng)建一個(gè)連接意味著同一時(shí)間只能有一個(gè)用戶操作Hive數(shù)據(jù)倉(cāng)庫(kù),所以嵌入模式用于演示。當(dāng)嘗試多個(gè)會(huì)話連接時(shí)會(huì)報(bào)錯(cuò)。嵌入模式使用關(guān)系型數(shù)據(jù)庫(kù)(如MySQL)來(lái)存儲(chǔ)元數(shù)據(jù),是一種多用戶的模式,支持多個(gè)用戶的客戶端連接同一個(gè)數(shù)據(jù)庫(kù)。這里有一個(gè)前提條件,每個(gè)用戶必須要有對(duì)MySQL數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)利,即每個(gè)客戶端使用者需要具有登錄MySQL數(shù)據(jù)庫(kù)的用戶名和密碼。MySQL數(shù)據(jù)庫(kù)與Hive運(yùn)行在同一臺(tái)物理機(jī)器上。一般本地模式用于開發(fā)和測(cè)試。本地模式與本地模式一樣,遠(yuǎn)程模式也會(huì)將元數(shù)據(jù)存儲(chǔ)在MySQL數(shù)據(jù)庫(kù)中,區(qū)別是遠(yuǎn)程模式可以將元數(shù)據(jù)存儲(chǔ)在另一臺(tái)物理機(jī)器上,也可以將元數(shù)據(jù)存儲(chǔ)在另一種操作系統(tǒng)上。這種模式需要Hive安裝目錄下提供的Beeline和HiveServer2配合使用,將元數(shù)據(jù)作為一個(gè)單獨(dú)的服務(wù)進(jìn)行啟動(dòng)。各個(gè)用戶的客戶端通過(guò)Beeline來(lái)連接,連接之前無(wú)須知道數(shù)據(jù)庫(kù)的登錄密碼。遠(yuǎn)程模式一般用于生產(chǎn)環(huán)境中,允許多個(gè)連接是經(jīng)常使用的模式。遠(yuǎn)程模式2.1.2Hive安裝及配置過(guò)程本書Hive版本使用apache-hive-2.1.0-bin.tar.gz安裝包,該安裝包可以直接從Hive官網(wǎng)下載。下面來(lái)介紹Hive本地模式的安裝及屬性配置方法。(1)目錄創(chuàng)建在/opt目錄下創(chuàng)建datas、software目錄,用于存放數(shù)據(jù)文件和安裝軟件:hadoop@SYNU:/opt$sudomkdirdatashadoop@SYNU:/opt$sudomkdirsoftware(2)目錄權(quán)限修改修改datas、software目錄的所有者為用戶hadoop:hadoop@SYNU:/opt$sudochownhadoop:hadoopdatas/software/Hive安裝準(zhǔn)備Hive安裝及配置(1)安裝包導(dǎo)入把a(bǔ)pache-hive-2.1.0-bin.tar.gz安裝包導(dǎo)入Linux系統(tǒng)本地的/opt/software目錄下。(2)解壓將安裝包apache-hive-2.1.0-bin.tar.gz解壓到/usr/local/目錄下:hadoop@SYNU:/opt/software$tar-zxvfapache-hive-2.1.0-bin.tar.gz-C/usr/local/(3)修改名稱把a(bǔ)pache-hive-2.1.0-bin的名稱更改為hive:hadoop@SYNU:/usr/local/apache-hive-2.1.0-bin$mvapache-hive-2.1.0-bin/hiveHive安裝及配置(4)查看Hive目錄結(jié)構(gòu)hadoop@SYNU:/usr/local/hive$ll總用量140drwxr-xr-x9hadoophadoop40961月1915:38./drwxr-xr-x20rootroot409611月52020../drwxr-xr-x3hadoophadoop409611月52020bin/drwxr-xr-x2hadoophadoop40961月2313:49conf/-rw-rw-r--1hadoophadoop01月1915:38derby.logdrwxr-xr-x4hadoophadoop409611月52020examples/drwxr-xr-x7hadoophadoop409611月52020hcatalog/drwxr-xr-x2hadoophadoop409611月52020jdbc/drwxr-xr-x4hadoophadoop122881月2016:04lib/-rw-r--r--1hadoophadoop290036月32020LICENSE-rw-r--r--1hadoophadoop5136月32020NOTICE-rw-r--r--1hadoophadoop41226月32020README.txt-rw-r--r--1hadoophadoop502946月172020RELEASE_NOTES.txtdrwxr-xr-x4hadoophadoop409611月52020scripts/Hive安裝及配置(5)重要目錄①bin目錄:存放Hive相關(guān)服務(wù)執(zhí)行操作的腳本。②conf目錄:Hive的配置文件目錄,存放Hive的配置文件。③lib目錄:存放Hive的各種依賴JAR包。④example目錄:存放Hive的文檔和官方案例。(6)配置環(huán)境變量sudovi/etc/profileexportHIVE_HOME=/usr/local/hiveexportPATH=$PATH:$HIVE_HOME/binsource/etc/profileHive安裝及配置(7)修改配置文件名稱把/usr/local/hive/conf目錄下的hive-env.sh.template名稱更改為hive-env.sh:hadoop@SYNU:/usr/local/hive/conf$mvhive-env.sh.templatehive-env.sh(8)配置hive-env.sh文件①配置HADOOP_HOME路徑:exportHADOOP_HOME=/usr/local/hadoop②配置HIVE_CONF_DIR路徑:exportHIVE_CONF_DIR=/usr/local/hive/conf
Hadoop集群目錄創(chuàng)建(1)啟動(dòng)HDFS和YARNhadoop@SYNU:/usr/local/hadoop$sbin/start-dfs.shhadoop@SYNU:/usr/local/hadoop$sbin/start-yarn.sh(2)創(chuàng)建目錄在HDFS上創(chuàng)建/tmp和/user/hive/warehouse兩個(gè)目錄:hadoop@SYNU:/usr/local/hadoop$bin/hadoopfs-mkdir/tmphadoop@SYNU:/usr/local/hadoop$bin/hadoopfs-mkdir-p/user/hive/warehouse(3)修改同組權(quán)限為可執(zhí)行權(quán)限hadoop@SYNU:/usr/local/hadoop$bin/hadoopfs-chmodg+w/tmphadoop@SYNU:/usr/local/hadoop$bin/hadoopfs-chmodg+w/user/hive/warehouse2.1.3Hive基本操作(1)啟動(dòng)Hivehadoop@SYNU:/usr/local/hive$bin/hive(2)查看數(shù)據(jù)倉(cāng)庫(kù)hive>showdatabases;(3)切換到默認(rèn)(default)數(shù)據(jù)倉(cāng)庫(kù)hive>usedefault;(4)顯示default數(shù)據(jù)倉(cāng)庫(kù)中的表hive>showtables;(5)在default數(shù)據(jù)倉(cāng)庫(kù)中創(chuàng)建一個(gè)表hive>createtabletest(idint,namestring);Hive基本操作(6)顯示數(shù)據(jù)倉(cāng)庫(kù)中的表hive>showtables;(7)查看表的結(jié)構(gòu)hive>desctest;(8)向表中插入數(shù)據(jù)hive>insertintotestvalues(100,"Doug");(9)查詢表中的數(shù)據(jù)hive>select*fromtest;(10)退出Hivehive>quit;2.2MySQL安裝及配置Hive元數(shù)據(jù)默認(rèn)存儲(chǔ)在自帶的Derby數(shù)據(jù)庫(kù)中。Derby數(shù)據(jù)庫(kù)只支持單用戶模式,不能并發(fā)調(diào)用Hive。而MySQL數(shù)據(jù)庫(kù)存儲(chǔ)元數(shù)據(jù)支持多用戶模式,可以并發(fā)調(diào)用Hive,因此還需要安裝MySQL。2.2.1MySQL安裝包準(zhǔn)備MySQL安裝包為mysql-libs.zip壓縮文件。(1)查看MySQL是否安裝,如果安裝了,則卸載MySQL root@SYNU桌面#rpm-qa|grep–imysqlmysql-libs-5.1.73-7.el6.x86_64 (2)解壓安裝包文件到software目錄下root@SYNU:/opt/software#unzipmysql-libs.ziproot@SYNU:/opt/software#lsmysql-libs.zipmysql-libsMySQL安裝包準(zhǔn)備(3)進(jìn)入mysql-libs目錄查看目錄結(jié)構(gòu)root@SYNU:/opt/software/mysql-libs#ll總用量76048-rw-r--r--.1rootroot185099603月262015MySQL-client-5.6.24-1.el6.x86_64.rpm-rw-r--r--.1rootroot357513512月12013mysql-connector-java-5.1.27.tar.gz-rw-r--r--.1rootroot557821963月262015MySQL-server-5.6.24-1.el6.x86_64.rpm2.2.2MySQL服務(wù)器端安裝(1)安裝MySQL服務(wù)器端root@SYNU:/opt/software/mysql-libs#rpm–ivhMySQL-server-5.6.24-1.el6.x86_64.rpm(2)查看產(chǎn)生的隨機(jī)密碼root@SYNU:/opt/software/mysql-libs#cat/root/.mysql_secretOEXaQuS8IWkG19Xs(3)查看MySQL狀態(tài)root@SYNU:/opt/software/mysql-libs#servicemysqlstatus(4)啟動(dòng)MySQLroot@SYNU:/opt/software/mysql-libs#servicemysqlstart2.2.3MySQL客戶端安裝(1)安裝MySQL客戶端root@SYNU:/opt/software/mysql-libs#rpm-ivhMySQL-client-5.6.24-1.el6.x86_64.rpm(2)連接登錄MySQLroot@SYNU:/opt/software/mysql-libs#mysql-uroot-pOEXaQuS8IWkG19Xs(3)修改密碼mysql>SETPASSWORD=PASSWORD('000000');(4)退出MySQLmysql>exit;2.3.1驅(qū)動(dòng)復(fù)制(1)解壓mysql-connector-java-5.1.27.tar.gz驅(qū)動(dòng)包root@SYNU:/opt/software/mysql-libs#tar-zxvfmysql-connector-java-5.1.27.tar.gz(2)將解壓的JAR包復(fù)制到/usr/local/hive/lib/目錄下root@SYNUmysql-connector-java-5.1.27#cpmysql-connector-java-5.1.27-bin.jar/usr/local/hive/lib/2.3.2配置元數(shù)據(jù)到MySQL(1)在/usr/local/hive/conf目錄下創(chuàng)建一個(gè)hive-site.xml文件hadoop@SYNU:/usr/local/hive/conf$touchhive-site.xmlhadoop@SYNU:/usr/local/hive/conf$vihive-site.xml(2)將官方文檔配置參數(shù)復(fù)制到hive-site.xml文件中<?xmlversion="1.0"?><?xml-stylesheettype="text/xsl"href="configuration.xsl"?><configuration> <property> <name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true</value> <description>JDBCconnectstringforaJDBCmetastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value>2.3.2配置元數(shù)據(jù)到MySQL
<description>DriverclassnameforaJDBCmetastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> <description>usernametouseagainstmetastoredatabase</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hive</value> <description>passwordtouseagainstmetastoredatabase</description> </property></configuration>在該配置文件中,創(chuàng)建了名字為metastore的數(shù)據(jù)庫(kù)用于存儲(chǔ)元數(shù)據(jù)信息,并設(shè)置了登錄MySQL數(shù)據(jù)庫(kù)的用戶名和密碼,分別都是hive。配置完畢后,Hive就可以正常啟動(dòng)。如果啟動(dòng)Hive異常,可以重新啟動(dòng)虛擬機(jī),并啟動(dòng)Hadoop集群。2.3.3多終端啟動(dòng)Hive(1)啟動(dòng)MySQLhadoop@SYNU:/opt/software/mysql-libs$mysql-uhive-phive查看有幾個(gè)數(shù)據(jù)庫(kù):mysql>showdatabases;+--------------------+|Database|+--------------------+|information_schema||mysql||performance_schema||test|+--------------------+(2)打開多個(gè)終端,分別啟動(dòng)Hivehadoop@SYNU:/usr/local/hive$bin/hive多終端啟動(dòng)Hive(3)啟動(dòng)Hive后,回到MySQL窗口查看數(shù)據(jù)庫(kù),顯示增加了metastore數(shù)據(jù)庫(kù)mysql>showdatabases;+--------------------+|Database|+--------------------+|information_schema||metastore||mysql||performance_schema||test|+--------------------+2.4HiveJDBC連接Hive是大數(shù)據(jù)技術(shù)中數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用的基礎(chǔ)組件,是其他類似數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用的對(duì)比基準(zhǔn)?;A(chǔ)的數(shù)據(jù)操作可以通過(guò)腳本方式由Hive客戶端進(jìn)行處理。若要開發(fā)應(yīng)用程序,則需要使用Hive的JDBC驅(qū)動(dòng)進(jìn)行連接。Hive內(nèi)置了HiveServer和HiveServer2服務(wù)器,兩者都允許客戶端使用多種編程語(yǔ)言進(jìn)行連接,但是HiveServer不能處理多個(gè)客戶端的并發(fā)請(qǐng)求,所以產(chǎn)生了HiveServer2。HiveServer2允許遠(yuǎn)程客戶端使用各種編程語(yǔ)言向Hive提交請(qǐng)求并檢索結(jié)果,支持多客戶端并發(fā)訪問(wèn)和身份驗(yàn)證。HiveServer2擁有自己的CLI(Beeline)。Beeline是一個(gè)基于SQLLine的JDBC客戶端。由于HiveServer2是Hive開發(fā)維護(hù)的重點(diǎn),所以推薦使用Beeline。2.4.1HiveServer2配置切換到/usr/local/hive/conf目錄下,修改hive-site.xml文件,寫入以下配置信息:hadoop@SYNU:/usr/local/hive/conf$vimhive-site.xml <property> <name>hive.server2.thrift.port</name> <value>10000</value> </property> <property> <name>hive.server2.thrift.bind.host</name> <value>localhost</value> </property>該配置信息配置了HiveServer2的端口號(hào)和主機(jī)名。2.4.2HiveServer2啟動(dòng)經(jīng)過(guò)以上配置后,就可以在Beeline中連接Hive了。進(jìn)入Hive的安裝目錄啟動(dòng)HiveServer2,執(zhí)行以下兩個(gè)命令都可以啟動(dòng)HiveServer2服務(wù):hadoop@SYNU:/usr/local/hive$bin/hive--servicehiveserver2hadoop@SYNU:/usr/local/hive$bin/hiveserver22.4.3Beeline啟動(dòng)hadoop@SYNU:/usr/local/hive$bin/beelineBeelineversion2.1.0byApacheHivebeeline>2.4.4HiveServer2連接在Beeline中連接HiveServer2,輸入如下命令:beeline>!connectjdbc:hive2://localhost:10000Connectingtojdbc:hive2://localhost:10000Enterusernameforjdbc:hive2://localhost:10000:hiveEnterpasswordforjdbc:hive2://localhost:10000:****Connectedto:ApacheHive(version2.1.0)Driver:HiveJDBC(version2.1.0)Transactionisolation:TRANSACTION_REPEATABLE_READ0:jdbc:hive2://localhost:10000>showdatabases;+----------------+--+|database_name|+----------------+--+|default|+----------------+--+此處輸入的用戶名及密碼是在配置文件hive-site.xml中設(shè)置的用戶名和密碼。2.5.1Hive位置配置①Hive數(shù)據(jù)倉(cāng)庫(kù)的默認(rèn)存儲(chǔ)位置是在HDFS的/user/hive/warehouse目錄下。②在HDFS的/user/hive/warehouse目錄下,沒有為默認(rèn)(default)數(shù)據(jù)倉(cāng)庫(kù)創(chuàng)建目錄。如果某個(gè)表屬于default數(shù)據(jù)倉(cāng)庫(kù),直接在該目錄下新創(chuàng)建一個(gè)目錄。③修改default數(shù)據(jù)倉(cāng)庫(kù)存儲(chǔ)位置,將hive-default.xml.template中如下配置信息復(fù)制到hive-site.xml文件中:<property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value><description>locationofdefaultdatabaseforthewarehouse</description></property>2.5.2信息顯示配置①在hive-site.xml文件中添加如下配置信息,可以顯示查詢表的頭部信息及當(dāng)前數(shù)據(jù)倉(cāng)庫(kù):<property> <name>hive.cli.print.header</name> <value>true</value></property><property> <name>hive.cli.print.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度消防檢測(cè)服務(wù)外包合同勞動(dòng)廳制定2篇
- 2025年度石材行業(yè)市場(chǎng)調(diào)查與分析合同3篇
- 二零二五年度外墻巖棉板保溫材料采購(gòu)、施工及質(zhì)量監(jiān)管合同2篇
- 二零二五年度旅游行業(yè)SaaS解決方案銷售及服務(wù)協(xié)議3篇
- 二零二五年度波形護(hù)欄安裝及售后保養(yǎng)服務(wù)合同3篇
- 二零二五年度廣告發(fā)布合同:某品牌在央視春晚廣告投放3篇
- 編織紅繩課程設(shè)計(jì)
- 二零二五年度建筑膩?zhàn)赢a(chǎn)品進(jìn)出口代理合同3篇
- 二零二五年度彩鋼房租賃與投資合作協(xié)議3篇
- 課程設(shè)計(jì)怎么形容成語(yǔ)
- 福建省能化集團(tuán)筆試題目
- 手糊補(bǔ)強(qiáng)工A卷考試 (1)附有答案
- (完整版)常用樂(lè)高零件清單匯總
- 消防四個(gè)能力
- 機(jī)動(dòng)車環(huán)檢標(biāo)準(zhǔn)方法驗(yàn)證模板
- AQL標(biāo)準(zhǔn)抽樣檢驗(yàn)表
- 美國(guó)Control4智能家居設(shè)計(jì)方案解說(shuō)資料
- DES算法Matlab代碼
- 交通事故快速處理單(正反打印)
- 電纜熱穩(wěn)定校驗(yàn)計(jì)算書
- 2020國(guó)際大專辯論賽順境或逆境更有利于人的成長(zhǎng)
評(píng)論
0/150
提交評(píng)論