1.Retrying connect to server: localhost/127.0.0.1:9000.
Call to localhost/127.0.0.1:9000 failed on connection exception: java.net.ConnectException: Connection refused
原因:hadoop未啟動或core-site.xml中配置錯誤
解決方案:啟動hadoop或修改配置。
2.Exception in thread "main" java.io.IOException: Call to localhost/127.0.0.1:9000 failed on local exception: java.io.EOFException
報此錯說明客戶端hadoop版本和服務端hadoop版本不一致。修改客戶端引用hadoop的版本。
3. Cannot delete /home/hadoop/part. Name node is in safe mode.
說明Hadoop的NameNode處在安全模式下。
那什么是Hadoop的安全模式呢?
在分布式文件系統啟動的時候,開始的時候會有安全模式,當分布式文件系統處於安全模式的情況下,文件系統中的內容不允許修改也不允許刪除,直到安全模式結 束。安全模式主要是為了系統啟動的時候檢查各個DataNode上數據塊的有效性,同時根據策略必要的復制或者刪除部分數據塊。運行期通過命令也可以進入 安全模式。在實踐過程中,系統啟動的時候去修改和刪除文件也會有安全模式不允許修改的出錯提示,只需要等待一會兒即可(18s)。
NameNode在啟動的時候首先進入安全模式,如果datanode丟失的block達到一定的比例(1-dfs.safemode.threshold.pct),則系統會一直處於安全模式狀態即只讀狀態。
dfs.safemode.threshold.pct(缺省值0.999f)表示HDFS啟動的時候,如果DataNode上報的block個數達到了 元數據記錄的block個數的0.999倍才可以離開安全模式,否則一直是這種只讀模式。如果設為1則HDFS永遠是處於SafeMode。
下面這行摘錄自NameNode啟動時的日志(block上報比例1達到了閥值0.9990)
The ratio of reported blocks 1.0000 has reached the threshold 0.9990. Safe mode will be turned off automatically in 18 seconds.
hadoop dfsadmin -safemode leave
有兩個方法離開這種安全模式
1. 修改dfs.safemode.threshold.pct為一個比較小的值,缺省是0.999。
2. hadoop dfsadmin -safemode leave命令強制離開
http://bbs.hadoopor.com/viewthread.php?tid=61&extra=page=1
用戶可以通過dfsadmin -safemode value 來操作安全模式,參數value的說明如下:
enter - 進入安全模式
leave - 強制NameNode離開安全模式
get - 返回安全模式是否開啟的信息
wait - 等待,一直到安全模式結束。
4. mismatched input 'from' expecting CharSetLiteral in character string literal:columnName包含特殊字符,加上``就可以了
hive> select id,\`_bucketname\` from default__table02_table02_index__; FAILED: Parse Error: line 1:26 cannot recognize input 'from' in select expression hive> select id,`_bucketname` from default__table02_table02_index__;