切換語言為:簡體

ambari 告警hiveserver2連不上——MySQL連線問題

  • 爱糖宝
  • 2024-09-13
  • 2048
  • 0
  • 0

hiveserver2連不上只是現象,實際上是磁碟空間滿了,hive後設資料庫mysql連不上導致的hiveserver2告警。

背景

新疆叢集執行一個月了,今天收到告警,說hiveserver2連線不上了,領導需要看數,需要緊急處理

問題(告警)

ambari 告警hiveserver2連不上——MySQL連線問題

原因分析

  1. 嘗試重啟Ambari伺服器發現無法重啟: 嘗試重啟Ambari伺服器時發現無法成功重啟,需進一步排查原因。

  2. 排查MySQL資料庫連線問題: 發現無法連線到MySQL後設資料庫。這是由於MySQL伺服器未能正常執行,需檢查MySQL服務狀態。

  3. 磁碟空間不足: 透過進一步檢查,發現磁碟空間已滿。檔案系統顯示MySQL日誌佔用了大量空間。

ambari 告警hiveserver2連不上——MySQL連線問題 發現是mysql日誌造成的。

  1. 快速解決磁碟空間不足問題: 爲了使系統能暫時恢復正常執行,清理部分舊的MySQL日誌檔案以釋放磁碟空間。

  2. 檢查MySQL配置檔案(my.cnf) : 開啟MySQL配置檔案my.cnf,檢視配置設定。注意到當前配置為主從複製方式。

ambari 告警hiveserver2連不上——MySQL連線問題 我這裏配置的是主從。

6.關閉主從複製:發現主從掛了,由於系統恢復緊急需求,決定關閉主從複製以減緩日誌生成速度。

#檢視主從狀態
show master status \G
#關閉主從
stop slave;

  1. 關閉Query日誌: 確認日誌檔案主要由Query日誌生成,決定關閉Query日誌以完全解決問題。

    編輯my.cnf檔案,找到並修改或新增以下配置項:

    [mysqld]
    general_log = 0

  2. 重新啟動MySQL服務: 儲存配置檔案並重新啟動MySQL服務以應用更改。

    sudo service mysql restart

general log

在預設情況下,MVSQL是不會開啟generallog的,這個og裡面會記錄MySQL所有的SQL語句,不管是查詢語句,還是DML語句,還是DDL語句,還是DCL語句,這些語句統統都會被記錄在generallog檔案中。就連我們連線和斷開MySQL資料庫的這些語句。 MVSQL會把它收到的所有SQL語句按照接收的順序依次記錄在generallog中。我們需要注意的是,這裏接受的SQL語句的順序,並不等於SQL語句就是按照這個接受的順序來執行,因為有的時候,一些SQL可能需要等待其他鎖被釋放後纔會被真正的執行,SQL語句的執行順序是和binlog中的順序是相匹配的。 假如我們執行一個 select 查詢語句,在binlog中不會記錄這樣的SQL語句,但是在qeneral log中就會記錄這個 select 查詢語句。General loq預設不開啟的原因有兩個: 日誌將會非常大,對磁碟是一個很大的壓力。因為所有的操作都會被記錄下來。 。對MySQL資料的效能有一定的影響。 所以,我們一般不會開啟這個general1og記錄的功能,只有在排查某些錯誤的時候,纔會臨時開啟一下,等到debua完成之後,再把它關閉。

解決

#檢視general_log日誌資訊
SHOW VARIABLES LIKE 'general_log'; -- 日誌增長過快 可以關閉 

SHOW VARIABLES LIKE 'general_log_file'; -- /data1/mysql/mysql_data/hadoop-001.log

SET GLOBAL general_log = 'OFF';

最後恢復mysql主從ok了

0則評論

您的電子郵件等資訊不會被公開,以下所有項目均必填

OK! You can skip this field.