1. 程式人生 > >Hadoop運維問題

Hadoop運維問題

  1. ① 問題描述:HBase只能啟動HRegionServer,HMaster啟動後瞬間又停止

    ② 日誌

    java.net.UnknownHostException: Invalid host name: local host is: (unknown); destination host is: "namenode":9000; java.net.UnknownHostException;
    

    ③ 解決:

    修改Hbase-site.xml檔案,將Rootdir地址改為IP形式。
    
  2. ① 問題描述:Hiveserver2無法啟動元資料服務

    ② 日誌:

    Exception in thread "main" org.apache.thrift.transport.TTransportException: Kerberos principal should have 3 parts: hadoop
    

    ③ 解決
    所有節點(包括thrift節點)在core-site.xml中加入:

    <property>
       <name>hadoop.security.authorization</name>
       <value>true</value>
    </property>
    
    <property>
       <name>hadoop.security.authentication</name>
       <value>kerberos</value>
    </property>
    
  3. ① 問題描述: hive整合kerberos後通過
    ./hive –service metastore & 啟動元資料服務
    ./schematool -initSchema -dbType mysql 啟動元資料庫
    此時報錯:
    Error: Duplicate key name ‘PCS_STATS_IDX’ (state=42000,code=1061)
    ②解決
    在hive主機拷貝檔案到thrift:

    scp /home/hadoop/hive/scripts/metastore/upgrade/mysql /hive-schema-1.2.0.mysql.sql [email protected]
    :/usr/local/mysql

    進入mysql:

    mysql -u hive -p hive
    > use metastore;
    > source /usr/local/mysql/hive-schema-1.2.0.mysql.sql;
    

    啟動hive服務:

    ./hive
    
  4. ① 問題描述:無法進入hive命令列
    ② 日誌

    java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient MetaException(message:Could not connect to meta store using any of the URIs provided. Most recent failure:org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused
    

    ③ 解決

     造成此問題的原因在於設定了元資料來自:thrift://etl:9083該配置用於spark sql與hive的整合,一旦配置了這個屬性,hive將不能進入命令列。
    
  5. ① 描述:Hbase產生大量錯誤日誌
    ② 日誌

    java.io.IOException: error or interrupt while splitting logs in [hdfs://inc-dp-hbase-01.hst.bjc.kfc.alidc.NET:9000/hbase/.logs/inc-dp-hbase-02,60020,1335429401869-splitting
    

    ③ 解決

    解讀:hmaster一直在做log的分散式spit,但是都無法成功:
    修改Hbase-site.xml

    <property>
    <name>hbase.master.distributed.log.splitting</name>
    <value>false</value>
    </property>
    
  6. ① 描述:spark-shell,spark-sql均無法啟動,不斷重試。
    ② 日誌:

    ERROR netty.NettyTransport: failed to bind to /192.168.6.187:0, shutting down Netty transport
    

    ③ 解決

    檢視HRegionServer是否宕機
    
  7. ①日誌:

    java.lang.IllegalArgumentException: KeyValue size too large
    

    ② 解決:

    conf.set("hbase.client.keyvalue.maxsize","524288000");
    
  8. ① 描述:Hbase shell中list無效:
    ② 日誌:

    ServerNotRunningYetException: Server is not running yet
    

    ③ 解決:

     檢視HDFS是否處於安全模式。關閉安全模式之後重啟zookeeper,再重啟hbase
    
  9. ① 描述:hive進行select(*)時,出現以下異常:

    Shuffle Error: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out Answer
    

    ② 解決:

    增大系統檔案描述符數量,修改2個檔案: 
    vi /etc/security/limits.conf 加上: 
        * soft nofile 102400 
        * hard nofile 409600  
    
    vi /etc/pam.d/login 加上:     
        session    required     /lib/security/pam_limits.so 
    
  10. ① 描述:spark啟動出錯

       NoClassDefFoundError: org/apache/hadoop/conf/Configuration
    

    ② 解決:

    在spark-env.sh中加入:
    export SPARK_DIST_CLASSPATH=$(/home/hadoop/bin/hadoop classpath)
    
  11. ① 描述:hive JDBC無法連線,報錯如下:

       Hive JDBC : Could not open client transport with JDBC Uri
    

    ② 解決:

    is your hive Server is running in HTTP mode? When HiveServer2 Is Running in HTTP Mode:Default port for HTTP transport mode is 10001.
    
  12. ①描述:hbase shell下通過list查看錶資訊,speech_hbase不存在。scan “speech_hbase”報錯如下:

    ERROR: Unknown table speech_hbase
    

    ② 解決:
    修復.META.表:

    hbase hbck -fixMeta
    

    如果依然失敗:

    hbase hbck -fixAssignments(重新分割槽)
    
  13. ① 描述:hive啟動時,報錯如下:

    "com.mysql.jdbc.Driver") was not found in the CLASSPATH.
    

    ② 解決:
    在hive/lib/目錄下匯入jar包:mysql-connector-java-5.1.34.jar
    若jar包版本不符,將在刪除表時報以下錯誤:
    For direct MetaStore DB connections, we don’t support retries at the
    client level

  14. 埠被佔用

    Java.net.BindException:Address already in use
    ①通過netstat -apn | grep port檢視該埠號是否被佔用,對用無用程序,可將其kill後重新執行命令
    ②修改配置檔案,修改繫結埠

  15. 磁碟沒有剩餘空間

    java.io.IOException:No space left on device
    清理磁碟,清理無用日誌

  16. Datanode節點無法啟動,且無datanode.log輸出
    jsvc日誌:

    Cannot start secure datanode with unprivileged RPC ports
    Cannot start secure datanode with unprivileged HTTP ports
    分析:
    JSVC是一組讓java在UNIX上更容易執行的庫和應用程式,JSVC允許應用程式(如Tomcat)以root許可權執行一些特權操作(如繫結到一個埠<1024),然後切換到一個非特權使用者的身份。
    整合kerberos後的HDFS需要以root身份啟動datanode程序,由此需要用到jsvc。
    日誌提示無法使用一個非特權RPC和HTTP埠啟動datanode,特權埠為1024以下的埠,因此編輯hdfs-site.xml手動設定埠號:


    dfs.datanode.address
    192.168.6.229:900


    dfs.datanode.http.address
    192.168.6.229:901

    應注意:900、901埠未被佔用

  17. 啟動datanode時,其中一個節點未啟動,通過daemon.sh單獨啟動時也無法啟動,檢視datanode.log無記錄。檢視jsvc.err發現如下資訊:

    Still running according to PID file /home/hadoop/pids/hadoop_secure_dn.pid, PID is 1829
    Service exit with a return value of 122
    

    分析:
    由於之前掉電停機,導致datanode下線前未登出hadoop_secure_dn.pid,重啟datanode時datanode將檢查該檔案,如果沒有值則註冊新的id。解決辦法:將該檔案中的id值清空,重啟該datanode。

  18. HA,啟動後只有一個namenode,即兩個namenode間的協調出現問題。日誌顯示:

     journalnode storage directory ...... is not formatted
    

    解決方案:

    sbin/start-dfs.sh
    

    啟動叢集(暫時只有一個namenode啟動)

    hdfs namenode -initializeSharedEdits
    

    從已啟動的namenode同步初始edits檔案到備用主節點

    sbin/hadoop-daemon.sh start namenode  (在備用主節點執行)
    

相關推薦

Hadoop記錄系列(二十二)

比較 p s lB 什麽 bar 而不是 細心 故障 duplex 今天抽空解決了一個Hadoop集群的一個非常有意思的故障,之所有有意思,是這個故障既可以稱之為故障,又不算是故障,說不算問題吧,作業跑的特慢,說算問題吧,作業不但都能跑出來,還沒有任何報錯,所以還比較難查。

Hadoop記錄系列(二十三)

class .com 數據報 write map 運行 應用 inf 計算 最近做集群機房遷移,在舊機房和新機房之間接了根專線,做集群不停機搬遷,也就是跨機房,同時要新加百多臺服務器,遇到幾個問題,記錄一下。舊集群的機器是centos 6, 新機房加的機器是centos 7

hadoop必備命令

1、列出所有Hadoop Shell支援的命令 $ bin/hadoop fs -help 2、顯示關於某個命令的詳細資訊 $ bin/hadoop fs -help command-name 3、使用者可使用以下命令在指定路徑下檢視歷史日誌彙總 $ bin/hadoop job -history o

Hadoop筆記

架構 Hadoop叢集的啟動 zookeeper: /home/pubsrv/zookeeper-3.4.3-cdh4.0.0/bin/zkServer.sh start //1,2,3,4,5 jobhistoryserver:(自帶的一個歷史伺服器,可以通過歷史伺

Hadoop那些事

在實際的生產環境運維一個Hadoop叢集有一些必須要關注的事情。 1、Namenode的高可靠性 2、節點配置與管理 3、Mapreduce的記憶體配置 4、啟用trash 首要的是保證資料安全可靠,其次再去考慮儲存效率、計算效率、運維效率的優化與提高,當你覺得Hadoo

hadoop工程師必備命令

Hadoop 大資料平臺運維工程師須掌握的基本命令 1、列出所有Hadoop Shell支援的命令 $ bin/hadoop fs -help 2、顯示關於某個命令的詳細資訊 $ bin/hadoop fs -help command-name 3、使用者可使用

(hadoop 三) hadoop叢集負載均衡

當hadoop叢集中增加節點、刪除節點或者某個節點磁碟佔用率比較高的情況下,節點之間的儲存就會不均衡,此時就需要對叢集進行重新的負載均衡,在做負載均衡之前,首先要調整dfs.balance.bandwidthPerSec引數,該引數表示叢集負載均衡的頻寬,我的CDH叢集中預

Hadoop問題記錄

昨天同事遇到一個hadoop故障,找了半天沒看出問題,問到我這裡,花了一會解決了一下,估計這是我給暴風的叢集解決的最後的故障了,以後就不定給誰解決問題去了。 只截下來了Namenode的報錯Log,Datanode的刷屏刷過去了,不過都差不多。 1 2 3

[Hadoop] hadoop篇(一)

首先建議datanode和tasktracker分開寫獨立的exclude檔案,因為一個節點即可以同時是datanode和tasktracker,也可以單獨是datanode或tasktracker。 1、刪除datanode 修改namenode上的hdfs-site.xml <prope

Hadoop問題

① 問題描述:HBase只能啟動HRegionServer,HMaster啟動後瞬間又停止 ② 日誌 java.net.UnknownHostException: Invalid host nam

Hadoop配置

hdfs-default.xml hadoop.hdfs.configuration.version=1 // 配置檔案的版本 dfs.datanode.address=0.0.0.0:50010 // DN服務地址和埠,用於資料傳輸。0表示任意空閒埠。 dfs.datanode.http.addr

Cloudera Hadoop管理與效能調優

效能調優之於Hadoop來說無異於打通任督二脈,對於Hadoop的計算能力會有質的的提升,而運維之於Hadoop來說,就好像金鐘罩、鐵布衫一般,有了穩定的運維,Hadoop才能在海量資料之中大展拳腳,兩者相輔相成,缺一不可。 總體來說,Hadoop運維維度取決於Had

hadoop+kerberos常用命令

root hdfs util start pro local creat .sh password kerberos相關: kadmin.local  //以超管身份進入kadmin kadmin    //進入kadmin模式,需輸入密碼 kdb5_util cre

hadoop-3.0.0-beta1手冊(002):安裝Guest操作系統

虛擬機安裝linux hadoop虛擬機 虛擬機guest操作系統 hadoop-3.0.0-beta1 hdfs3. 2.1 什麽是Guest操作系統Guest指虛擬機,安裝Guest操作系統,就是在我們剛才定制的虛擬機nn1上安裝操作系統。我們要安裝的操作系統是Linux,它有很多發行

hadoop-3.0.0-beta1手冊(001):定制虛擬機

hadoop3.0 hdfs3.0 虛擬機安裝操作系統 centos 1.1 什麽是虛擬機虛擬機是一個軟件,運行在我們的計算機上,通過它可以模擬一臺計算機。虛擬機和真實的物理機器一樣,也有CPU、硬盤、網卡、內存這些硬件,在虛擬機上同樣可以安裝操作系統,操作系統安裝好後,使用起來和真實的機器基

hadoop-3.0.0-beta1手冊(003):安裝全分布式HDFS3.0.0-準備軟件

hadoop3.0.0 hdfs3.0.0 centos7 hadoop的jdk hadoop軟件上傳 3.1 準備軟件HDFS是Hadoop的一個組件,它並沒有單獨發布,因此,我們需要下載Hadoop的安裝包。1. 下載Hadoop3.0.0-beta1,保存到d:\hdfs3\soft

hadoop-3.0.0-beta1手冊(004):安裝分布式hdfs3.0.0-配置JDK

hadoop3.0.0 hdfs3.0.0 hadoop構建 hdfs構建 3.4 配置JDK1. 解壓註意:我們所指的路徑是/home/user解壓的命令是:tar xf jdk-8u152-linux-x64.tar.gz解壓後,ls,可以看到藍色的目錄:jdk1.8.0_152 3-33

Hadoop日常問題匯總

width http class clas pac 指定 manage 配額管理 das 一:namenode出現missing blocks 日常巡檢CDH集群和HDP集群發現有些namenode下有很多missing blocks ,hadoop數據存儲單位為塊。一塊

Hadoop集群日常

一個點 ast log options 大數據 cif highlight pre fig 一、備份namenode的元數據 namenode中的元數據非常重要,如丟失或者損壞,則整個系統無法使用。因此應該經常對元數據進行備份,最好是異地備份。 1、將元數據復制到遠程站點

Hadoop----叢集(持續更新...)

前言 本篇介紹Hadoop的一些常用知識。要說和網上其他manual的區別,那就是這是筆者寫的一套成體系的文件,不是隨心所欲而作。 常用HDFS命令 hadoop fs -ls URI hadoop fs -du -h URI hadoo