1. 程式人生 > >Hadoop格式化HDFS報錯java.net.UnknownHostException

Hadoop格式化HDFS報錯java.net.UnknownHostException

異常描述

在對HDFS格式化,執行hadoop namenode -format命令時,出現未知的主機名的問題,異常資訊如下所示:

Java程式碼  收藏程式碼
  1.  [shirdrn@localhost bin]$ hadoop namenode -format  
  2. 11/06/22 07:33:31 INFO namenode.NameNode: STARTUP_MSG:   
  3. /************************************************************ 
  4. STARTUP_MSG: Starting NameNode 
  5. STARTUP_MSG:   <span style="color: #ff0000;">host = java.net.UnknownHostException: centos64:centos64
     
  6. </span>STARTUP_MSG:   args = [-format] 
  7. STARTUP_MSG:   version = 0.20.0 
  8. STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/core/branches/branch-0.20 -r 763504; compiled by 'ndaley' on Thu Apr  9 05:18:40 UTC 2009 
  9. ************************************************************/  
  10. Re-format filesystem in /tmp/hadoop/hadoop-shirdrn/dfs/name ? (Y or N) Y  
  11. 11/06/22 07:33:36 INFO namenode.FSNamesystem: fsOwner=shirdrn,shirdrn  
  12. 11/06/22 07:33:36 INFO namenode.FSNamesystem: supergroup=supergroup  
  13. 11/06/22 07:33:36 INFO namenode.FSNamesystem: isPermissionEnabled=true  
  14. 11/06/22 07:33:36 INFO metrics.MetricsUtil: Unable to obtain hostName  
  15. java.net.UnknownHostException: <span style="color: #ff0000;"
    >localhost.localdomain: localhost.localdomain  
  16. </span>        at java.net.InetAddress.getLocalHost(InetAddress.java:1353)  
  17.         at org.apache.hadoop.metrics.MetricsUtil.getHostName(MetricsUtil.java:91)  
  18.         at org.apache.hadoop.metrics.MetricsUtil.createRecord(MetricsUtil.java:80)  
  19.         at org.apache.hadoop.hdfs.server.namenode.FSDirectory.initialize(FSDirectory.java:73)  
  20.         at org.apache.hadoop.hdfs.server.namenode.FSDirectory.<init>(FSDirectory.java:68)  
  21.         at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:370)  
  22.         at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:853)  
  23.         at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:947)  
  24.         at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:964)  
  25. 11/06/22 07:33:36 INFO common.Storage: Image file of size 97 saved in 0 seconds.  
  26. 11/06/22 07:33:36 INFO common.Storage: Storage directory /tmp/hadoop/hadoop-shirdrn/dfs/name has been successfully formatted.  
  27. 11/06/22 07:33:36 INFO namenode.NameNode: SHUTDOWN_MSG:   
  28. /************************************************************ 
  29. SHUTDOWN_MSG: Shutting down NameNode at java.net.UnknownHostException: localhost.localdomain: localhost.localdomain 
  30. ************************************************************/  

 再執行 /bin/start-all.sh 就不成功。

通過執行hostname命令可以看到:

Java程式碼  收藏程式碼
  1. [shirdrn@localhost bin]# hostname  
  2. centos64   

也就是說,Hadoop在格式化HDFS的時候,通過hostname命令獲取到的主機名是centos64,然後在/etc/hosts檔案中進行對映的時候,沒有找到,看下我的/etc/hosts內容:

Java程式碼  收藏程式碼
  1. [root@localhost bin]# cat /etc/hosts  
  2. # Do not remove the following line, or various programs  
  3. # that require network functionality will fail.  
  4. 127.0.0.1                   localhost       localhost  
  5. 192.168.18.130           localhost       localhost  

 在:檢視一下/etc/sysconfig/network檔案: 儲存的是hostname 也就是主機名 。

在 /etc/hosts 中修改

127.0.0.1                   localhost       centos64

192.168.18.130           localhost      centos64

讓主機名centos64 在 hosts中能有一個IP與之相對映對應 。

2. 或修改 /etc/sysconfig/network 中的 hostname 為 localhost

再:[[email protected] bin]# /etc/rc.d/init.d/network restart  

以上修改完後,再執行格式化HDFS命令,以及啟動HDFS叢集就正常了。

再啟用 bin/start-all.sh

再用  jps .

以上是單機版的 hadoop1.2安裝,如果是在叢集中安裝,

1.把在master中的 /etc/hosts 中把所有slave的 IP 加進來,

如 

192.168.18.130          h0

192.168.18.131         h1

192.168.18.132         h2

2. 建立好SSH,實現無密碼登陸 ,見另一個blog

3. 修改 vi   /home/hadoop1.2/conf/master

h0 

vi   /home/hadoop1.2/conf/slave

h1

h2

相關推薦

Hadoop格式化HDFSjava.net.UnknownHostException: centos64

save rect sys ges bsp mission compile 以及 msg 異常描述 在對HDFS格式化,執行hadoop namenode -format命令時,出現未知的主機名的問題,異常信息如下所示: Java代碼 [shirdrn@loc

Hadoop格式化HDFSjava.net.UnknownHostException: localhost.localdomain: localhost.localdomain

n-n article working boa att eth0 mini board title 異常描述 在對HDFS格式化,執行hadoop namenode -format命令時,出現未知的主機名的問題,異常信息如下所示: [plain] view pl

Hadoop格式化HDFSjava.net.UnknownHostException

異常描述 在對HDFS格式化,執行hadoop namenode -format命令時,出現未知的主機名的問題,異常資訊如下所示: Java程式碼    [shirdrn@localhost bin]$ hadoop namenode -format   11/

java SDK QQ聯合登入時,java.net.UnknownHostException: (主機名): unknown error

    最近在做wap專案,qq在h5頁面的聯合登入時,遇到了兩個問題: 1、使用官方提供的JS SDK,在使用PC瀏覽器模擬手機瀏覽器除錯模式,能調起QQ並獲取返回資料等,一切沒有問題,但是在手機端瀏覽器使用時,問題出現了,大多數手機瀏覽器在調起qq登入頁後不能返回並且獲取不

dubbo啟動 java.net.UnknownHostException: bogon: bogon: Name or service not known

客戶端啟動報UnknownHostException異常: Caused by: java.lang.RuntimeException: get localhost fail at com.alibaba.rocketmq.common.MixAll.lo

Android HTTP 請求超過超時時間未返回 java.net.UnknownHostException: Unable to resolve host

現象:手機連線WIFI,但未連線外網。設定urlCon.setConnectTimeout(5000);  urlCon.setReadTimeout(8000);  在Android傳送Http請求時,時間超過設定的超時時間仍未返回。HTTP框架使用的是開源的Androi

zuuljava.net.UnknownHostException: 4d59d509898a: Name or service not known

是這樣的,eureka、zuul和普通的微服務在本地是OK的,部署到docker後,通過zuul訪問某個微服務就報錯了。用的是serviceId的方式,在eureka介面也能看到各個微服務都是線上的,沒有問題,但就是通過zuul的路由訪問時會報錯。com.netflix.zu

weblogic 啟動java.net.UnknownHostException

[[email protected] base_domain]# ./startWebLogic.sh  . . JAVA Memory arguments: -Xms6g -Xmx6g . WLS Start Mode=Production . CLASSPAT

eclipse裏啟動rabbitmq java.net.SocketException: Connection reset

soc IT 啟動 fcm csdn 測試 eml 下拉 == RabbitMQ學習之Java客戶端連接測試(二) https://blog.csdn.net/roc1029/article/details/51249412 使用guest用戶遠程連接RabbitMQ用戶名

Android使用Okhttp3java.net.UnknownServiceException

今天使用OkHttp庫開發安卓網路程式設計這一塊。 然後,先嚐試一個簡單的獲取伺服器XML資料,然後進行解析,程式碼如下: private void requestXml(){ new Thread(new Runnable() { @Override

jmeter壓力測試:java.net.BindException: Address already in use: connect

jmeter壓力測試報錯:java.net.BindException: Address already in use: connect 最近在實現介面壓力測試的時候遇到這樣的一個問題 當執行緒數持續上升到一個點的時候,執行指令碼的時候有很多報錯,如圖: java.net.BindExc

Linux下關閉tomcatjava.net.ConnectException: Connection refused

Linux下關閉tomcat報錯,具體如下: Using CATALINA_BASE: /home/alpha/apache-tomcat-7.0.62 Using CATALINA_HOME: /home/alpha/apache-tomcat-7.0.62 Using CATALIN

阿里雲Cont_OS_7連線Reids:java.net.SocketTimeoutException: connect timed out

解決方案1: 將redis.conf中的bind127.0.0.1 用"#"註釋掉; 解決方案2: 關閉防火牆; 關閉命令: systemctl stop firewalld.service 啟動命令: systemctl start firewalld.ser

執行hivejava.net.URISyntaxException

報錯資訊 Exception in thread "main" java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:

tomcat啟動 java net BindException Permission denied null

                     1,啟動報錯顯示[org.springframework.web.servlet.DispatcherServlet]FrameworkServlet 'springMvc': initialization completed in 382 msJun 01, 201

Tomcat java.net.connectexception:拒絕連線 解決辦法

tomcat java.net.ConnectException: Connection refused 1,描述在一次配置新工程專案,修改Tomcat server.xml後,執行shutdow.sh指令碼關閉伺服器,提示出現如下錯誤:tomcat java.net.Co

啟動springboot時,控制檯java.net.BindException: Address already in use: bind,但仍然能顯示想要的結果

java.net.BindException: Address already in use: bind這個是埠被佔用(例如8080埠被其他程序佔用),所以需要關掉佔用我們埠的那個程序,使用cmd 輸入命令列--netstat -ano就會得到佔用我們埠的程序的pid 然後輸

hive啟動 java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7B

啟動hive報錯: [[email protected] conf]# hive Logging initialized using configuration in file:/usr/local/hive/conf/hive-log4j.properties

glide載入不出大圖並 java.net.SocketTimeoutException

      在使用Glide載入圖片時出現載入不出來的的問題,通過使用以下方法可以打印出錯誤資訊: Glide.with(context).load(url).diskCacheStrategy(Di

Java--java.net.NoRouteToHostException: No route to host (Host unreachable) 解決

昨天在寫程式碼的時候偶然報了這個錯誤。百度了一下,並沒有適合我的答案(大部分都在說防火牆的問題,大家也可以先檢查一下防火牆是否關閉)。 後來我在仔細檢查程式碼中發現。 原來是我的程式碼中有一個bug。就是我會先檢查所有報錯節點的網路是否暢通,再檢查報錯節點的磁碟空間是不是