Windows10配置運行Hive on tez

      網友投稿 939 2022-05-30

      背景

      前面博客已經介紹了如何配置Hadoop和Hive運行環境。即本文開始前,本地已經順利運行Hive,并可以提交hive on mr任務。

      在hive領域中,tez是其中一款比較常用的執行引擎。其支持DAG作業模式,可以將多個有依賴的作業轉換為一個作業從而大幅提升DAG作業的性能。Hive也有一部分優化特性基于tez實現。

      本文介紹如何讓hive啟動執行tez任務。步驟主要的執行環境是Windows PowerShell,但組件對Windows的支持實在不友好,有部分內容不得不使用WSL。WSL下使用Hadoop和Hive方式基本類似,后續有需要再補充。

      版本

      OS:Windows 10 Pro 1903

      Java:1.8.0_261

      Tez:apache-tez-0.9.2-bin.tar.gz

      (可以在 官方主頁 找到下載,也可以在 Apache Backup Site 中下載)

      tomcat:8.5.60,官網下載

      前置依賴

      tez版本選擇

      經過測試,3.1.0支持使用tez-0.9.2

      其他版本需要自行測試,如發現不合適可以稍作調整

      啟動HDFS,以便上傳tez lib

      WSL環境

      支持tez ui運行,支持tar打包命令

      如果沒有WSL環境,則不必執行配置步驟6、7,影響是不能使用tez的日志web頁面,看任務執行細節不太方便

      配置步驟

      目的:配置 tez.lib.uris

      解壓,apache-tez-0.9.2-bin.tar.gz

      目錄結構

      apache-tez-0.9.2-bin |- share |- |- tez.tar.gz |- conf |- |- tez-default-template.xml |- |- tez-runtime-default-template.xml |- lib |- tez-ui-0.9.2.war |- ...

      準備apache-tez-0.9.2-bin/share目錄下的tez.tar.gz

      上傳hdfs

      # PowerShell下執行 hadoop fs -mkdir -p /apps/tez hadoop fs -put tez.tar.gz /apps/tez hadoop fs -ls /apps/tez # WSL模式安裝的Hadoop, 執行命令類似

      新建配置tez-site.xml

      先放在 apache-tez-0.9.2-bin/conf 目錄下

      tez.use.cluster.hadoop-libs false tez.lib.uris hdfs:///apps/tez/tez.tar.gz tez.history.logging.service.class org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService tez.tez-ui.history-url.base http://localhost:9999/

      修改配置yarn-site.xml

      $HADOOP_HOME/etc/hadoop 目錄下

      yarn.timeline-service.enabled true yarn.timeline-service.hostname localhost yarn.timeline-service.http-cross-origin.enabled true yarn.resourcemanager.system-metrics-publisher.enabled true yarn.log-aggregation-enable true yarn.log.server.url http://localhost:19888/jobhistory/logs yarn.nodemanager.vmem-check-enabled false

      可選配置:要求WSL環境支持

      可選,啟動timeline server:http://localhost:8188/

      ./sbin/yarn-daemon.sh start timelineserver

      可選,啟動jobhistory server:http://localhost:19888/

      ./sbin/mr-jobhistory-daemon.sh start historyserver

      可選啟動tez ui:要求WSL環境支持

      準備tez目錄下的tez-ui-0.9.2.war

      解壓apache-tomcat-8.5.60

      配置:conf/server.xml

      添加到webapps

      清空webapps(先備份再清空)

      cp tez-ui-0.9.2.war ROOT.war

      啟動

      ./bin/startup.sh # 啟動第一次,以解壓war ./bin/shutdown.sh # 停止,以便修改配置

      修改配置:webapps/ROOT/config

      默認端口就是rm 8088和timeline 8188

      如實際端口不對,需要自行調整

      配置hive on tez

      復制配置文件到hive conf

      cp apache-tez-0.9.2-bin/conf/tez-site.xml $HIVE_HOME/conf/

      這就不必修改HADOOP_CLASSPATH來添加tez-site.xml文件,因為啟動hive時默認會加載hive conf目錄

      添加配置(tez-site.xml)

      hive.tez.container.size 4

      添加配置(mapred-site.xml)

      mapreduce.job.counters.max 12000

      可用性測試

      Windows10非WSL環境下,無tez ui

      D:\install\apache-tez-0.9.2-bin目錄下

      環境變量

      $env:TEZ_CONF_DIR="D:\install\apache-tez-0.9.2-bin\conf" $env:TEZ_JARS="D:\install\apache-tez-0.9.2-bin" $env:HADOOP_CLASSPATH="$env:TEZ_CONF_DIR;$env:TEZ_JARS\*;$env:TEZ_JARS\lib\*"

      測試數據

      hadoop fs -put LICENSE /tmp

      執行樣例

      hadoop jar tez-examples-0.9.2.jar orderedwordcount /tmp/LICENSE /tmp/result

      通過hdfs查看結果

      hadoop fs -cat /tmp/result/part-v002-o000-r-00000

      可選:已啟動tez ui

      http://localhost:8088/cluster 可以看到運行記錄

      啟動時添加環境變量

      export TEZ_HOME=/mnt/d/install/apache-tez-0.9.2-bin for jar in `ls $TEZ_HOME | grep jar`; do export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$TEZ_HOME/$jar done for jar in `ls $TEZ_HOME/lib`; do export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$TEZ_HOME/lib/$jar done hive

      測試語句

      set hive.execution.engine=tez; -- SQL1 select a.wr_returned_date_sk, a.cnt, b.cnt from (select wr_returned_date_sk, count(1) as cnt from web_returns where wr_returned_date_sk between 2452977 and 2452979 group by wr_returned_date_sk) a join ( select wr_returned_date_sk, count(1) as cnt from web_returns where wr_returned_date_sk between 2452977 and 2452979 group by wr_returned_date_sk ) b on a.wr_returned_date_sk = b.wr_returned_date_sk; -- SQL2 select * from (select wr_returned_date_sk from web_returns where wr_returned_date_sk between 2452977 and 2452979 ) a join ( select wr_returned_date_sk from web_returns where wr_returned_date_sk between 2452977 and 2452979 ) b on a.wr_returned_date_sk = b.wr_returned_date_sk;

      后續啟動或停止

      可選啟動tez ui:要求WSL環境支持

      cd $HADOOP_HOME ./sbin/start-yarn.sh ./sbin/yarn-daemon.sh start timelineserver ./sbin/mr-jobhistory-daemon.sh start historyserver cd /mnt/d/install/apache-tomcat-tez-ui ./bin/startup.sh

      環境變量設置

      export TEZ_HOME=/mnt/d/install/apache-tez-0.9.2-bin for jar in `ls $TEZ_HOME |grep jar`; do export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$TEZ_HOME/$jar done for jar in `ls $TEZ_HOME/lib`; do export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$TEZ_HOME/lib/$jar done

      啟動hive

      hive

      其他問題

      java.lang.IllegalArgumentException: Illegal Capacity: -10444

      https://issues.apache.org/jira/browse/HIVE-19918

      hive.tez.container.size

      參考文檔

      http://tez.apache.org/install.html

      https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-Tez

      http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/TimelineServer.html

      https://issues.apache.org/jira/browse/YARN-9517

      https://issues.apache.org/jira/browse/YARN-4037

      Windows10配置運行Hive on tez

      https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/ClusterSetup.html

      https://stackoverflow.com/questions/43441437/container-is-running-beyond-virtual-memory-limits

      https://tez.apache.org/tez-ui.html

      https://support.datameer.com/hc/en-us/articles/115005289466-How-to-Enable-Tez-History-UI-for-Hadoop-

      https://cwiki.apache.org/confluence/display/Hive/Hive+on+Tez#HiveonTez-InstallationandConfiguration

      https://docs.cloudera.com/HDPDocuments/HDP2/HDP-2.5.3/bk_command-line-installation/content/ref-a80115dc-6300-4372-9c8e-6f7c0f902b92.1.html

      EI企業智能 Hive Windows 智能數據 表格存儲服務 CloudTable

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Linux開發_介紹目錄編程、標準文件編程、Linux系統文件接口編程、GDB調試
      下一篇:淺談Vue基礎入門
      相關文章
      日韩亚洲国产综合久久久| 久久久久亚洲国产| 午夜亚洲WWW湿好爽| 亚洲激情电影在线| 亚洲欧洲一区二区| 亚洲国产精品无码久久久蜜芽| 亚洲日韩中文字幕日韩在线| 亚洲色欲色欲www在线播放| 亚洲中文字幕无码av在线| 亚洲无成人网77777| 亚洲精品熟女国产| 亚洲精品偷拍无码不卡av| 久久av无码专区亚洲av桃花岛| 91大神亚洲影视在线| 亚洲日本在线观看| 久久夜色精品国产噜噜噜亚洲AV| 日韩亚洲一区二区三区| 亚洲av无码乱码国产精品fc2| 亚洲VA成无码人在线观看天堂| 亚洲成色WWW久久网站| 人人狠狠综合久久亚洲88| 日韩亚洲欧洲在线com91tv| 亚洲av日韩av不卡在线观看| 亚洲国产精品国自产电影| 国产亚洲色婷婷久久99精品| 亚洲不卡av不卡一区二区| 久久精品国产亚洲夜色AV网站| 亚洲成色999久久网站| 91亚洲国产成人精品下载| 亚洲福利视频一区二区三区| 亚洲最新中文字幕| 亚洲一级片在线播放| 亚洲色大成网站www| 色欲色欲天天天www亚洲伊| 亚洲精品A在线观看| 亚洲综合AV在线在线播放| 亚洲va中文字幕无码久久不卡| 亚洲综合国产精品| 91亚洲性爱在线视频| 亚洲色丰满少妇高潮18p| 国产精品亚洲天堂|