虛擬機器執行Hadoop | 各種問題解決的心路歷程

喝著農藥吐泡泡o發表於2023-12-07

ps:完成大資料技術實驗報告的過程,出項各種稀奇古怪的問題。(知道這叫什麼嗎?經濟基礎決定上層建築,我當時配置可能留下了一堆隱患,總之如果有同樣的問題,希望可以幫到你)

一、虛擬機器網路連線不通的各種情況

我這裡遇到的是,三臺虛擬機器,兩臺piing百度不同

原因:改了下記憶體,重啟就又未知的網路名稱

 解決辦法一

vim /etc/sysconfig/network-scripts/ifcfg-ens33

解決辦法二

 route -n

發現沒有配閘道器地址

 

 

解決方法三✅

檢視是否啟用vmnet8

 

解決辦法四✅

重啟

 

二、HBase網頁無法開啟

解決方法一、於是,我手動更改了記憶體(2gb-4gb)✅

 

執行完之後電腦記得重啟一下

再接著開啟hbase網頁就可以正常顯示了,所以就是記憶體的原因

 

三、HMaster自動關閉

原因:啟動hmaster後,jps中有hmaster程式,但不一會就自動關閉了

可能的原因:

解決辦法一 是否同步虛擬機器的時間

無問題

解決辦法二 是否關閉所有防火牆

關閉了,但無法解決問題

解決辦法三 hbase中的hbase-site.xml檔案中的屬性值(hbase.rootdir)主機埠是否一致

一致,無問題。

解決辦法四 檢視是否缺少配置✅ | 學會看日誌!!!

 當我啟動所有jps後,出現如下,發現缺少hmaster

 HMaster: HBase的主節點,負責管理RegionServers和處理客戶端請求。

因而,我認為應該是沒有hmaster的原因

啟動後,發現異常

 這可能是由於HMaster啟動失敗或者無法成功地被識別。

一種可能的原因是啟動HBase Master的許可權問題,它可能在啟動時無法正常執行或者無法被JVM正確地識別。

使用日誌進行檢視

cat /opt/module/hbase/logs/hbase-hadoop-master-hadoop100.out

 

看起來是SLF4J發現了多個繫結(multiple bindings)的情況

在我的輸出中發現了三個可能的繫結:

  1. 位於 /opt/module/hbase/lib/phoenix-client-hbase-2.1-5.1.2.jar 的 Phoenix 的 SLF4J 繫結。
  2. 位於 /opt/module/hbase/lib/phoenix-client-hbase-2.3-5.1.3.jar 的 Phoenix 的 SLF4J 繫結。
  3. 位於 /opt/module/hbase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.30.jar 的 SLF4J 繫結。

在這種情況下,應將不需要的 SLF4J 實現從類路徑中刪除,或者透過適當的配置來確保只有一個實現被使用。

 刪除後,shell可以正常執行了

 四、無法連線到 RegionServer

我真的要瘋了,,,,這破玩意多走一步都得讓人扶。。。。(當然也怪自己,呵呵呵)

 經驗告訴我,我們需要看日誌

報錯

2023-12-07 21:02:25,268 INFO [master/hadoop100:16000] zookeeper.ZooKeeper: Sess ion: 0x100000135c60001 closed
2023-12-07 21:02:25,268 INFO [main-EventThread] zookeeper.ClientCnxn: EventThre ad shut down for session: 0x100000135c60001
2023-12-07 21:02:25,268 INFO [master/hadoop100:16000] regionserver.HRegionServe r: Exiting; stopping=hadoop100,16000,1701953393292; zookeeper connection closed.
2023-12-07 21:02:25,268 ERROR [main] master.HMasterCommandLine: Master exiting
java.lang.RuntimeException: HMaster Aborted
at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMaster CommandLine.java:244)
at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandL ine.java:140)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLi ne.java:149)
at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:3071)

 

相關文章