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)的情況
在我的輸出中發現了三個可能的繫結:
- 位於
/opt/module/hbase/lib/phoenix-client-hbase-2.1-5.1.2.jar
的 Phoenix 的 SLF4J 繫結。 - 位於
/opt/module/hbase/lib/phoenix-client-hbase-2.3-5.1.3.jar
的 Phoenix 的 SLF4J 繫結。 - 位於
/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)