Linux找不到主机名解决办法

时间:2021-07-24 03:48:30

Linux找不到主机名解决办法

[root@mas eclipse-plugin]# ant -Declipse.home=/path/to/eclipse -Dversion=1.2.1 -Dcommons-cli.version=1.2
Buildfile: /root/bin/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml

check-contrib:

init:
     [echo] contrib: eclipse-plugin

init-contrib:

ivy-download:
      [get] To: /root/bin/hadoop-1.2.1/ivy/ivy-2.1.0.jar
      [get] Error getting http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.1.0/ivy-2.1.0.jar to /root/bin/hadoop-1.2.1/ivy/ivy-2.1.0.jar

BUILD FAILED
/root/bin/hadoop-1.2.1/src/contrib/build-contrib.xml:466: java.net.UnknownHostException: repo2.maven.org
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.<;init>(HttpClient.java:211)
at org.apache.tools.ant.taskdefs.Get$GetThread.openConnection(Get.java:712)
at org.apache.tools.ant.taskdefs.Get$GetThread.get(Get.java:626)
at org.apache.tools.ant.taskdefs.Get$GetThread.run(Get.java:616)

Total time: 42 seconds



1

报错:java.net.UnknownHostException: 主机名: 主机名

修改/etc/hosts文件

127.0.0.1 主机名 localhost.localdomain localhost

或是再添加一条 

127.0.0.1 主机名 

主机名是新加的,原来没有,保存,问题解决。

==========================================

/etc/sysconfig/network   
/etc/hosts       hostname命令读这个配置文件


在ubuntu上进行hadoop相关的开发,需要在eclipse上安装hadoop开发插件。最新释放出的hadoop包含源码的包,以hadoop-1.1.1为例,包含相关的eclipse插件的源码,因此可以针对自己的eclipse版本来编译一个hadoop的eclipse插件,我的eclipse的版本代号为indigo,以此为例,下面详细介绍插件的编译安装过程。

一. 下载hadoop-1.2.1

    我的下载地址为:(http://www.fayea.com/apache-mirror/hadoop/common/stable/hadoop-1.2.1.tar.gz )下载完成后解压到文件目录下

二. 安装ant

    # sudo apt-get install ant。

三. 修改编译配置文件

    在hadoop解压目录下,找到src\contrib\eclipse-plugin\build.xml,修改以下几行:

Linux找不到主机名解决办法

<path id="hadoop-core-jar">    <fileset dir="${hadoop.root}/">        
<include name="hadoop*.jar"/>    
</fileset>  
</path>  
<!-- Override classpath to include Eclipse SDK jars -->  
<path id="classpath">    
<pathelement location="${build.classes}"/>    
<pathelement location="${hadoop.root}/build/classes"/>    
<path refid="eclipse-sdk-jars"/>   
<path refid="hadoop-core-jar"/>  
</path>
......  
<target name="jar" depends="compile" unless="skip.contrib">    
<mkdir dir="${build.dir}/lib"/>   
<copy file="${hadoop.root}/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/>     
<copy file="${hadoop.root}/lib/commons-cli-1.2.jar"  todir="${build.dir}/lib" verbose="true"/>     
<copy file="${hadoop.root}/lib/commons-lang-2.4.jar"  todir="${build.dir}/lib" verbose="true"/>     
<copy file="${hadoop.root}/lib/commons-configuration-1.6.jar"  todir="${build.dir}/lib" verbose="true"/>     
<copy file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar"  todir="${build.dir}/lib" verbose="true"/>      
<copy file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar"  todir="${build.dir}/lib" verbose="true"/>      
<copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar"  todir="${build.dir}/lib" verbose="true"/>     
<jar      jarfile="${build.dir}/hadoop-${name}-${version}.jar"      manifest="${root}/META-INF/MANIFEST.MF">      
<fileset dir="${build.dir}" includes="classes/ lib/"/>      <fileset dir="${root}" includes="resources/ plugin.xml"/>    
</jar>  
</target>

Linux找不到主机名解决办法

    找到src\contrib\build-contrib.xml,添加以下几行:

  <property name="version" value="1.2.1"/>  
<property name="ivy.version" value="2.1.0"/> 
<property name="eclipse.home" location="..."/>

    eclipse的路径请换成你主机上的eclipse存放路径。


    然后,打开命令行,进入目录\src\contrib\eclipse-plugin,输入ant编译,如果一切正常就编译通过了。

    最后可以在{hadoophome}\build\contrib\eclipse-plugin路径下找到编译好的插件。

四. 几个注意点

    1. 一定要在网络环境下进行,如果需要设置上网代理,可以在src\contrib\build-contrib.xml中添加如下几行:

Linux找不到主机名解决办法

<target name="proxy" >      
<property name="proxy.host" value=""/>   
<property name="proxy.port" value="80"/>    
<property name="proxy.user" value=""/>    
<property name="proxy.pass" value=""/>    
<setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"      proxyuser="${proxy.user}" proxypassword="${proxy.pass}"/>  
</target>

Linux找不到主机名解决办法

    在xml文件中的ivy相关文件的下载任务中,添加以上代理任务的依赖,配置为:

<target name="ivy-download" depends="proxy" description="To download ivy " unless="offline">    
<get src="${ivy_repo_url}" dest="${ivy.jar}" usetimestamp="true"/>  
</target>

    2. 如果出现编译提示类的版本不匹配的问题,请确认你的java版本大于1.6。


打包后的插件下载地址:

http://files.cnblogs.com/alex-blog/hadoop-eclipse-plugin-1.2.1.zip