Hive源碼學習【1】——Windows WSL Hive3.x安裝與調試(1)

      網友投稿 1025 2025-04-04

      準備

      Hive-3.1.2安裝包和源碼包下載

      Hadoop-3.2.1安裝包下載

      Java1.8安裝包下載與環境配置

      Maven安裝包下載

      Windows WSL通過Microsoft Store安裝(本文安裝Ubuntu 18.04 LTS)

      MySQL(使用derby可忽略)

      IDEA

      Hadoop安裝與配置

      Hadoop環境變量配置

      export?HADOOP_HOME=/path/to/hadoop-3.2.1????#?hadoop解壓包的路徑????????????????????????????????????????????????????????????? export?PATH=$HADOOP_HOME/bin:$PATH

      命令行輸入hadoop?version查看環境是否配置成功

      Hadoop配置文件

      進入hadoop下的etc/hadoop目錄分別編輯配置文件。

      core-site.xml

      ?? ????fs.defaultFS ????hdfs://localhost:9000 ?? ?? ????hadoop.tmp.dir ????/tmp/hadoop/tmp ??

      hdfs-site.xml

      ?? ????dfs.replication ????1 ?? ?? ????dfs.permissions ????false ?? ?? ????dfs.namenode.name.dir ????/tmp/hadoop/namenode ?? ?? ????dfs.datanode.data.dir ????/tmp/hadoop/datanode ?? ?? ????dfs.http.address ????localhost:50070 ??

      yarn-site.xml

      ?? ????yarn.nodemanager.aux-services ????mapreduce_shuffle ??

      mapred-site.xml

      ?? ????mapreduce.framework.name ????yarn ??

      hadoop-env.sh

      #?直接找到export?JAVA_HOME條目,取消注釋,或者直接新增行 export?JAVA_HOME=/path/to/java

      workers文件保持默認的localhost無需改變,即在本地啟動一個datanode

      執行namenode初始化

      hadoop?namenode?-format

      啟動hadoop相關組件

      ./sbin/start-all.sh

      可能報錯localhost: ssh: connect to host localhost port 22: Connection refused。原因是sshd沒有啟動,啟動sshd

      sudo?service?ssh?start

      ssh啟動過程中可能還會有報錯Could not load host key xxx,原因是WSL比較特殊,需要手動生成對應的主機秘鑰文件(一般情況openssh安裝會自動生成)

      Could?not?load?host?key:?/etc/ssh/ssh_host_rsa_key?????????????????????????????????????????????????????????????????????? Could?not?load?host?key:?/etc/ssh/ssh_host_ecdsa_key???????????????????????????????????????????????????????????????????? Could?not?load?host?key:?/etc/ssh/ssh_host_ed25519_key

      現在分別生成對應key文件(也可以重裝openssh)

      ssh-keygen?-t?rsa?-f?/etc/ssh/ssh_host_rsa_key ssh-keygen?-t?ecdsa?-f?/etc/ssh/ssh_host_ecdsa_key ssh-keygen?-t?ed25519?-f?/etc/ssh/ssh_host_ed25519_key

      重啟ssh

      sudo?service?ssh?restart

      之后生成用戶秘鑰文件

      ssh-keygen?-t?rsa

      再將公鑰添加到authorized_keys文件(用于實現免密登錄localhost)

      cat?id_rsa.pub?>?authorized_keys

      測試ssh配置是否成功

      ssh?localhost

      至此,再次啟動hadoop組件即可。

      MySQL安裝與配置

      MySQL用于作為Hive的metastore數據存儲,也可使用默認的derby,則跳過此步驟。

      Hive源碼學習【1】——Windows WSL Hive3.x安裝與調試(1)

      #?安裝mysql sudo?apt?install?mysql-server sudo?apt?install?mysql-client #?啟動mysql sudo?service?mysql?start #?測試登錄,mysql5.7默認root用戶初始密碼為空 mysql?-u?root

      新裝MySQL登錄root會存在權限問題,解決方法如此博客

      Hive安裝與配置

      Hive環境變量配置

      export?HIVE_HOME=/path/to/hive????????????????????????????????????????????????????????????????????? export?PATH=$HIVE_HOME/bin:$PATH

      Hive配置文件配置

      進入hive的conf目錄,復制生成hive-site.xml文件

      cp?hive-default.xml.template?hive-site.xml

      編輯hive-site.xml文件

      #?此項務必配置,否則之后進入hive命令行會報錯 ??system:java.io.tmpdir ??/tmp/hive/java ??system:user.name ??${user.name} #?MySQL相關配置 ??hive.metastore.db.type ??MYSQL ??javax.jdo.option.ConnectionUserName ??root ??javax.jdo.option.ConnectionPassword ??123456 ??javax.jdo.option.ConnectionDriverName ??com.mysql.jdbc.Driver ??javax.jdo.option.ConnectionURL ??jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false

      MySQL connector

      在Maven倉庫下載速度較快,這里使用mysql-connector-java-5.1.38.jar,下載并移至hive的lib目錄下

      初始化Schema

      schematool?-dbType?mysql?-initSchema #?報錯1:java.lang.NoSuchMethodError:?com.google.common.base.Preconditions.checkArgument #?原因:hadoop路徑下的guava包與hive的lib下的guava包版本沖突 #?解決辦法:刪除hive的lib下的低版本的guava包 #?報錯2:Illegal?character?entity:?expansion?character?(code?0x8?at?[row,col,system-id]:?[3215,96,"file:/……/hive-site.xml"] #?原因:hive-site.xml一些字符不符合xml文檔格式規范(一般在description字段) #?解決辦法:根據指示刪除相應字符即可

      測試Hive(先啟動hadoop)

      #?進入hive命令行 hive #?創建表 create?table?test(id?int); #?退出hive命令行,查看hadoop是否創建相應目錄,如果存在/user/hive/warehouse/test說明創建成功 hdfs?dfs?-ls?/user/hive/warehouse

      Hive源碼編譯

      maven環境變量配置

      export?M2_HOME=/path/to/maven? export?PATH=$M2_HOME/bin:$PATH

      編譯Hive項目

      #?進入hive源碼目錄,執行編譯 mvn?compile?-DskipTests

      IDEA遠程調試配置

      IDEA打開Hive項目,Run -> Edit Configurations -> 點擊左上角+號,選擇Remote ->配置Remote Debug

      進入hive debug模式

      hive?--debug

      IDEA啟動Remote Debug

      Run -> Debug 'Remote-HIVE'

      至此,在IDEA設置斷點,在hive命令行輸入測試命令即可進行源碼調試

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

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

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

      上一篇:wps表格中如何添加兩個縱坐標
      下一篇:Excel2003怎么取消只讀模式
      相關文章
      亚洲欧美国产精品专区久久| 综合亚洲伊人午夜网 | 亚洲成人福利在线观看| 久久亚洲国产精品一区二区| 丁香五月亚洲综合深深爱| 亚洲精品99久久久久中文字幕| 五月婷婷亚洲综合| 一本久久综合亚洲鲁鲁五月天| 老司机亚洲精品影院在线观看| 亚洲av无码av在线播放| 午夜亚洲国产理论片二级港台二级| 亚洲精品美女久久7777777| 亚洲欧好州第一的日产suv| 亚洲乱码av中文一区二区| 亚洲欧洲精品成人久久曰| 亚洲精品一卡2卡3卡四卡乱码| 亚洲精品日韩一区二区小说| 亚洲成a人无码亚洲成av无码| 亚洲av永久无码一区二区三区| 精品亚洲国产成人av| 另类小说亚洲色图| 亚洲一区二区视频在线观看| 亚洲综合av永久无码精品一区二区| 亚洲精品成人片在线观看精品字幕| 亚洲国产精品福利片在线观看| 亚洲91av视频| 亚洲欧洲精品久久| 美女视频黄免费亚洲| 婷婷亚洲综合五月天小说在线| 亚洲精品成a人在线观看| 国外亚洲成AV人片在线观看| 亚洲精品无码永久中文字幕| 久热综合在线亚洲精品| 亚洲美女aⅴ久久久91| 亚洲综合色7777情网站777| 亚洲日本VA午夜在线影院| 婷婷亚洲天堂影院| 亚洲啪啪综合AV一区| 亚洲天堂视频在线观看| 亚洲中文久久精品无码1| 亚洲熟妇无码av另类vr影视|