天天看點

【Hadoop】Hadoop相關錯誤及解決方案

1:hive運作錯誤 :

HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

不能執行個體化org.apache.hadoop.hive.ql.metadata這個包下的SessionHiveMetaStoreClient(中繼資料存儲)這個類。

可能原因

1 hive版本過高(可能性較小)我用的hive3.0沒有這個問題。

2 沒有初始化中繼資料存儲(可能性較大)執行 schematool -dbType mysql -initSchema指令初始化目前 Hive 版本的 Metastore 架構

2:Hadoop格式化namenode後jps指令無法顯示datanode程序:

打開hdfs-site.xml裡配置的datanode和namenode對應的目錄,分别打開current檔案夾裡的VERSION,可以看到clusterID項正如日志裡記錄的一樣,确實不一緻,修改datanode裡VERSION檔案的clusterID 與namenode裡的一緻,再重新啟動dfs(執行start-dfs.sh)再執行jps指令可以看到datanode已正常啟動。

3:無法通過通路web通路hdfs,http://ip:50070

1:浏覽器緩存問題,清空緩存(可能性極小);

2:未格式換namenode,Hadoop目錄下執行bin/hadoop/namenode -format(一般是在初次安裝配置時,可能性小);

3:namenode初始化預設端口失效,在hdfa配置檔案hdfs-site.xml中添加:

<property>
  <name>dfs.http.address</name>
  <value>0.0.0.0:50070</value>
</property>
           

4:解決hive警告:

Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.、

不建議在沒有伺服器身份驗證的情況下建立SSL連接配接。根據MySQL 5.5.45 +、5.626+和5.7.6+的要求,如果沒有設定顯式選項,預設情況下必須建立SSL連接配接。對于不使用SSL的現有應用程式,ValuyServer證書屬性設定為“false”。您需要通過設定USESL= false來顯式禁用SSL,或者設定USELS=true,并為伺服器證書驗證提供信任存儲。

配置更改hive的 conf目錄下hive-site.xml配置資訊添加useSSL=false如下圖

【Hadoop】Hadoop相關錯誤及解決方案

5HDFS程式設計:No FileSystem for scheme: hdfs錯誤:

在程式中添加配置資訊:

configuration.set("fs.hdfs.impl", "org.apache.hadoop.hdfs.DistributedFileSystem"); 
           

6HDFS程式設計:連接配接逾時:20000 millis timeout while waiting for channel to be ready for connect

原因有很多,在排除了很多情況後發現原來是忘記開放伺服器的9000端口,

在伺服器安全組規則下開放9000端口即可。

繼續閱讀