hadoop日常錯誤解決方法整理
hadoop 日常錯誤整理
====描述
hive 執行show tables;
Exception in thread “main” java.lang.NoSuchMethodError: org.apache.hadoop.conf.Configuration.unset(Ljava/lang/String;)V
解決方法
hive的版本是0.13.0太高,hadoop的版本較低。 hadoop中沒有對應的方法。降低hive的版本到0.11.0
====描述
hive 的sql報錯
Expression not in GROUP BY key
原因
sql語句含有groupby 但是意義不明確,比如沒有聚合函式
解決方法
修改sql
====描述
hive 的sql報錯
Makefile.include.header:97: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again
原因
yum install gcc kernel kernel-devel , 重啟機器
解決方法
====描述
Building the OpenGL support module
原因
解決方法
export MAKE=`/usr/bin/gmake -i`
./VBoxLinuxAdditions.run
====描述
hiveserver 執行的時候報錯
jdbc前端報錯
Query returned non-zero code: 2, cause: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask
hiveserver日誌
org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row
任務的日誌
UDFArgumentException: The UDF implementation class `com.udf.Converter_long2str` is not present in the class path
原因
把udf的jar包放到hive的lib之後, hiveserver 並未載入udf類
解決方法
需要重新啟動hiveserver ,重新載入jar包
====描述
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
OpenJDK 64-Bit Server VM warning: You have loaded library /home/soulmachine/local/opt/hadoop-2.2.0/lib/native/libhadoop.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It`s highly recommended that you fix the library with `execstack -c <libfile>`, or link it with `-z noexecstack`.
14/02/14 13:14:50 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
localhost
原因
dns中找不到機器名
解決方法
配置檔案指定一個 ServerName localhost 即可
====描述
httpd: Could not reliably determine the server`s fully qualified domain name, using 192.168.12.210 for ServerName
原因
dns中找不到機器名
解決方法
配置檔案指定一個 ServerName localhost 即可
====描述
java.io.IOException: File <filename> could only be replicated to 0 nodes, instead of 1
原因
datanode沒有啟動成功
解決方法
重新啟動datanode,或者namenode 重新format。
====描述:
jianghehui@YunWei-Jumper:~/softs$ mysql -h xxxx -P 3306 -uroot -p
jianghehui@YunWei-Jumper:~/softs$ mysql -h
jianghehui@YunWei-Jumper:~/softs$ mysql -V
jianghehui@YunWei-Jumper:~/softs$ mysql
ERROR 2003 (HY000): Can`t connect to MySQL server on `127.0.0.1` (111)
jianghehui@YunWei-Jumper:~/softs$
原因:
編譯的時候,bin指定到絕對路徑了。
解決方法:
使用絕對路徑,或者加到path
====描述:
You don`t have permission to access /index.html on this server
原因:
index.html是用root使用者建的檔案,apache許可權不夠
解決方法:
開啟apache配置檔案httpd.conf,找到這麼一段:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
deny from all
Satisfy all
</Directory>
然後試著把deny from all中的deny改成了allow,儲存後重起了apache,然後再一測試我的網頁就正常了.
====描述:
mysql reset slave 執行還有遺留資訊
原因:
xxx
解決方法:
使用reset slave all
====描述:
No job jar file set. User classes may not be found.See JobConf(Class) or JobConf#setJar(String).
需要將class放到jar包中執行
not a SequenceFile
指定為seqfile,需要建立seqfile
job Submission failed with exception `java.io.IOException(The ownership/permissions on the staging directory /tmp/hadoop-hadoop-user1/mapred/staging/hadoop-user1/.staging is not as expected. It is owned by hadoop-user1 and permissions are rwxrwxrwx. The directory
must be owned by the submitter hadoop-user1 or by hadoop-user1 and permissions must be rwx——)
must be owned by the submitter hadoop-user1 or by hadoop-user1 and permissions must be rwx——)
hadoop fs -chmod -R 700 /tmp/hadoop-hadoop-user1/mapred/staging/hadoop-user1/.staging
Permission denied: user=xxj, access=WRITE, inode=”user”:hadoop:supergroup:rwxr-xr-x
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
writablename cannot load class
自己寫的writable物件不在classpath中
Type mismatch in key from map: expected org.apache.hadoop.io.BytesWritable, recieved org.apache.hadoop.io.LongWritable
key的型別和指定的不匹配
Cleaning up the staging area hdfs://192.168.12.200:9000/tmp/hadoop-root/mapred/staging/jianghehui/.staging/job_201307172232_0004
原因:
hadoop
解決方法:
sql語句執行有問題,比如沒有指定庫名 直接使用表名字
====描述:
PHP startup: Unable to load dynamic library `./php_mysql.dll 找不到指定的模組
undefined function mysql_connect()
原因:
xxx
解決方法:
總結如下:
extension_dir要設定正確。
PHP的安裝目錄新增到%path%中
還有 把所依賴的dll拷貝到%windir%system32
====描述
device “eth0” does not seem to be present, delaying initialization
原因
虛擬機器用模板做linux的時候因為網路卡配置資訊(主要是MAC)也複製過去,但是虛擬伺服器會分配另外的一個mac地址,啟用的時候會出錯
解決方法
1.開啟etc/sysconfig/network-scripts/ ficfg-eth0,確定ONBOOT應該為yes,
2.檢查ficfg-eth0的MAC和ifconfig現實的MAC是否相符,並修改ficfg-eth0的MAC。
3.重啟服務,service NetworkManager restart ,service network restart.
4.然後系統會自動識別到網路卡資訊,就ok了。
====描述
Keepalived 測試不成功,檢視 /var/log/messages
Keepalived_healthcheckers: IPVS: Can`t initialize ipvs: Protocol not available
原因
是否lvs模組載入異常,於是lsmod|grep ip_vs發現果然沒有相應的模組,而正常情況下應該是有的
解決方法
手動載入ip_vs模組
modprobe ip_vs
modprobe ip_vs_wrr
新增進/etc/rc.local開機自動載入
modprobe ip_vs
modprobe ip_vs_wrr
====描述
hive> show tables;
FAILED: Error in metadata: javax.jdo.JDOFatalInternalException: Unexpected exception caught.
NestedThrowables:
java.lang.reflect.InvocationTargetException
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
原因
不知道
解決方法
delete $HADOOP_HOME/build
====描述
WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.
文件格式(如下):
原因
過時的類
解決方法
把所有配置檔案中的EventCounter 替換成org.apache.hadoop.metrics.jvm.EventCounter。包括lib/hive-common-0.10.0.jar!/hive-log4j.properties。
====描述
java.io.IOException: File <filename> could only be replicated to 0 nodes, instead of 1
原因
datanode沒有啟動成功
解決方法
重新啟動datanode,或者namenode 重新format。
====描述
hadoop 啟動的時候 JAVA_HOME is not set and could not be found.
原因
xxx
解決方法
libexec/hadoop-config.sh 或者其他的指令碼里面手動設定JAVA_HOME變數
====描述
hive> show tables;
FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
原因
驅動沒載入成功
資料庫沒有建立,並且url沒有配置createDatabaseIfNotExist=true
解決方法
把mysql或者derby的驅動加到path裡面去
====描述
eclipse cdt 啟動的時候報錯
Failed to load the JNI shared library
原因
jdk的版本是64bit , 而eclipse是32bit。位數不一致。
解決方法
安裝bit一致的jdk和eclipse
====描述
hive 使用mysql後設資料庫的時候 ,show tables 報錯 Index column size too large. The maximum column size is 767 bytes.
原因
xxx
解決方法
將資料庫的字符集改成latin1
====描述
hive 執行查詢的時候,表明明存在,卻報錯Table not found
原因
xxx
解決方法
表名字前面加上庫名
====描述
xxx
原因
xxx
解決方法
xxx
====描述
xxx
原因
xxx
相關文章
- Hadoop常見錯誤及解決方案Hadoop
- PbootCMS 404 錯誤解決方法boot
- vsftpd 錯誤:530 and 500 錯誤解決方法FTP
- 日常python報錯及解決方法記錄Python
- undefined reference to錯誤的解決方法Undefined
- AFNetworkingErrorDomain 錯誤解決方法ErrorAI
- PHP錯誤“Thisfilehasexpired”的解決方法PHP
- dedecms提示500錯誤解決方法
- dbfread報錯ValueError錯誤解決方法Error
- HTTP 錯誤 500.19- Internal Server Error 錯誤解決方法HTTPServerError
- 【Oracle】ORA-00054 錯誤解決方法Oracle
- 錯誤Namenodeisinsafemode的解決方法
- Android錯誤解決方法集錦Android
- ORA-04098錯誤解決方法
- ORA-25154錯誤解決方法
- npm WARN unmet dependency錯誤解決方法NPM
- standby新增檔案錯誤的解決方法
- MYSQL中 TYPE=MyISAM 錯誤的解決方法MySql
- Mac上搭建chromedriver的錯誤解決方法MacChrome
- 寬頻連線錯誤691解決方法
- ORA-14452錯誤及解決方法
- ubuntu網路卡啟動錯誤解決方法Ubuntu
- IMP-00098 錯誤及解決方法
- nginx出現403錯誤的解決方法Nginx
- steam磁碟寫入錯誤怎麼解決 steam磁碟寫入錯誤解決方法大全
- hadoop常見錯誤及處理方法Hadoop
- Ocelot錯誤解決
- ORACLE匯入遇到ORACLE錯誤959解決方法Oracle
- 寬頻連線錯誤解決方法總彙
- PL/SQL:ORA-04063錯誤解決方法SQL
- ORA-01631錯誤解決方法
- Oracle 資料庫連線錯誤解決方法Oracle資料庫
- ORA-00257 錯誤分析及解決方法
- ORA-01950錯誤的解決方法
- Ajax中“Sys未定義”錯誤的解決方法
- hadoop本地庫與系統版本不一致引起的錯誤解決方法Hadoop
- 印表機提示列印錯誤怎麼解決 印表機狀態錯誤的方法
- VIM 常用錯誤解決