Hadoop運維問題
① 問題描述: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形式。
① 問題描述: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>
① 問題描述: 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]
進入mysql:
mysql -u hive -p hive > use metastore; > source /usr/local/mysql/hive-schema-1.2.0.mysql.sql;
啟動hive服務:
./hive
① 問題描述:無法進入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將不能進入命令列。
① 描述: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>
① 描述:spark-shell,spark-sql均無法啟動,不斷重試。
② 日誌:ERROR netty.NettyTransport: failed to bind to /192.168.6.187:0, shutting down Netty transport
③ 解決
檢視HRegionServer是否宕機
①日誌:
java.lang.IllegalArgumentException: KeyValue size too large
② 解決:
conf.set("hbase.client.keyvalue.maxsize","524288000");
① 描述:Hbase shell中list無效:
② 日誌:ServerNotRunningYetException: Server is not running yet
③ 解決:
檢視HDFS是否處於安全模式。關閉安全模式之後重啟zookeeper,再重啟hbase
① 描述: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
① 描述:spark啟動出錯
NoClassDefFoundError: org/apache/hadoop/conf/Configuration
② 解決:
在spark-env.sh中加入: export SPARK_DIST_CLASSPATH=$(/home/hadoop/bin/hadoop classpath)
① 描述: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.
①描述:hbase shell下通過list查看錶資訊,speech_hbase不存在。scan “speech_hbase”報錯如下:
ERROR: Unknown table speech_hbase
② 解決:
修復.META.表:hbase hbck -fixMeta
如果依然失敗:
hbase hbck -fixAssignments(重新分割槽)
① 描述: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埠被佔用
Java.net.BindException:Address already in use
①通過netstat -apn | grep port檢視該埠號是否被佔用,對用無用程序,可將其kill後重新執行命令
②修改配置檔案,修改繫結埠磁碟沒有剩餘空間
java.io.IOException:No space left on device
清理磁碟,清理無用日誌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埠未被佔用啟動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。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