hadoop配置遇到问题的解决
2014-07-11 16:32
99 查看
1. ssh localhost: 不能登陆:将错误提示中的文件全部删除。原因:登陆过远程主机
2. 问题: 伪分布式datanode启动不了:在datanode的log日志文件出现以下错误提示:
ERROR org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Error getting localhost name. Using 'localhost'...java.net.UnknownHostException: localhost: slave01: Name or service not known
其中 在hdfs-site.xm中的配置是dfs.name.dir是/usr/local/hadoop/hdfs/name. dfs.data.dir是/usr/local/hadoop/hdfs/data
理解知识:
对于第一次使用HDFS,在启动NameNode时,需要先执行-format命令,然后才能正常启动NameNode节点的服务。
在NameNode节点上,有两个最重要的路径,分别被用来存储元数据信息和操作日志,而这两个路径来自于配置文件,它们对应的属性分别是dfs.name.dir和dfs.name.edits.dir,同时,它们默认的路径均是/tmp/hadoop/dfs/name
NameNode的format操作做了什么
执行文件系统格式化时,会在namenode数据文件夹(即配置文件中dfs.name.dir在本地系统的路径)中保存一个current/VERSION文件,记录namespaceID,标识了所格式化的namenode的版本。如果我们频繁的格式化namenode,那么datanode中保存(即配置文件中dfs.data.dir在本地系统的路径)的current/VERSION文件只是你第一次格式化时保存的namenode的ID,因此就会造成datanode与namenode之间的id不一致。导致datanode无法启动。在"Master.Hadoop"上使用普通用户hadoop进行操作。(备注:只需一次,下次启动不再需要格式化,只需
start-all.sh)
解决方法:伪分布式下datanode无法启动问题 修改id http://blog.sina.com.cn/s/blog_76fbd24d01017qmc.html
3.无法解析主机kang-01,无法进行一些hadoop下的操作:在root权限下,vim hosts,增加192.168.1.103(本机地址) kang-01
4. 主要配置文件:hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml slaves masters
5. 通过查看日志文件,来了解问题所在。
Problem 1: 程序 'java' 已包含在下列软件包中:
* default-jre
* gcj-4.6-jre-headless
* gcj-4.7-jre-headless
* openjdk-7-jre-headless
* openjdk-6-jre-headless
请尝试:sudo apt-get install <选定的软件包>
解决方法:(手动设置系统默认JDK)
在终端中依次输入命令:
sudo update-alternatives --install /usr/bin/java java /home/landen/UntarFile/jdk1.7.0_17/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /home/landen/UntarFile/jdk1.7.0_17/bin/javac
300
sudo update-alternatives --config java
接下来输入java -version就可以看到所安装JDK的版本信息了。
Problem 2:程序 'jps' 已包含在下列软件包中:
[/code]
[/code]
5.hadoop伪分布式下Datanode无法启动起来
在hadoop目录下的logs里面查看datanode 的日志文件,错误提示显示hdfs.data.dir的权限应该是rwxr-xr-x,而实际上是rwxrwxr-x
解决办法:先确定hdfs-site.xml里面的配置无误,然后修改hdfs.data.dir的权限
查看目录的相关权限可以采用命令ls -lD,或者直接用ls -la
权限列表
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
修改权限:
修改权限命令
chmod 777 文件名
1.chmod 577 /home/stuser -R
2.umask -p 0200
3.chown XXXX YYYY (XXXX 为用户名 YYYY为文件名)
6.在虚拟机里的eclipse跑hadoop wordcount示例程序出现java heap space的错误
原因:
7.Eclipse并安装Subclipse1.6x插件后,使用svn过程中报如下错误:
原来是缺少一些关联文件,去subclipse的Wiki看了看,说需要安装libsvn-java,在Ubuntu 下安装很简单,命令如下:
安装完后,这文件在/usr/lib//i386-linux-gnu/jni目录下(确认一下),这个目录并不是eclipse的java.library.path路径之一,所以还需要修改eclipse.ini来告诉eclipse去哪找这个libsvn-java相关的文件.
打开eclipse.ini,在最后行加入如下内容(注意换行)
So it appears that folder was not established. Any ideas? Here is the environment:
[/code]
解决办法:Found a solution. Do a
原来 sudo chown -R hadoop:hadoop /usr/local/hadoop 真的很重要,不设置会出现很多莫名的问题
(确保所有的操作都在用户hadoop下完成的)
8.[ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:2.2.0:protoc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecutionException: protoc version is 'libprotoc 2.4.1', expected version is '2.5.0' -> [Help 1]
sudo apt-get remove libprotoc7 (一部分再tab)
再安装相应版本
2. 问题: 伪分布式datanode启动不了:在datanode的log日志文件出现以下错误提示:
ERROR org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Error getting localhost name. Using 'localhost'...java.net.UnknownHostException: localhost: slave01: Name or service not known
其中 在hdfs-site.xm中的配置是dfs.name.dir是/usr/local/hadoop/hdfs/name. dfs.data.dir是/usr/local/hadoop/hdfs/data
理解知识:
对于第一次使用HDFS,在启动NameNode时,需要先执行-format命令,然后才能正常启动NameNode节点的服务。
在NameNode节点上,有两个最重要的路径,分别被用来存储元数据信息和操作日志,而这两个路径来自于配置文件,它们对应的属性分别是dfs.name.dir和dfs.name.edits.dir,同时,它们默认的路径均是/tmp/hadoop/dfs/name
NameNode的format操作做了什么
执行文件系统格式化时,会在namenode数据文件夹(即配置文件中dfs.name.dir在本地系统的路径)中保存一个current/VERSION文件,记录namespaceID,标识了所格式化的namenode的版本。如果我们频繁的格式化namenode,那么datanode中保存(即配置文件中dfs.data.dir在本地系统的路径)的current/VERSION文件只是你第一次格式化时保存的namenode的ID,因此就会造成datanode与namenode之间的id不一致。导致datanode无法启动。在"Master.Hadoop"上使用普通用户hadoop进行操作。(备注:只需一次,下次启动不再需要格式化,只需
start-all.sh)
解决方法:伪分布式下datanode无法启动问题 修改id http://blog.sina.com.cn/s/blog_76fbd24d01017qmc.html
3.无法解析主机kang-01,无法进行一些hadoop下的操作:在root权限下,vim hosts,增加192.168.1.103(本机地址) kang-01
4. 主要配置文件:hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml slaves masters
5. 通过查看日志文件,来了解问题所在。
Problem 1: 程序 'java' 已包含在下列软件包中:
* default-jre
* gcj-4.6-jre-headless
* gcj-4.7-jre-headless
* openjdk-7-jre-headless
* openjdk-6-jre-headless
请尝试:sudo apt-get install <选定的软件包>
解决方法:(手动设置系统默认JDK)
在终端中依次输入命令:
sudo update-alternatives --install /usr/bin/java java /home/landen/UntarFile/jdk1.7.0_17/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /home/landen/UntarFile/jdk1.7.0_17/bin/javac
300
sudo update-alternatives --config java
接下来输入java -version就可以看到所安装JDK的版本信息了。
Problem 2:程序 'jps' 已包含在下列软件包中:
* openjdk-6-jdk * openjdk-7-jdk Try: sudo apt-get install <selected package> It is actually not a Hadoop problem. Hadoop does not use JPS.This problem is caused since you have installed JDK from Oracle (may be). You can fix this problem by usingto standard path directory. Use this command to fix this in a terminalupdate-alternativesprogram to link [code]jps
[/code]
Solution: sudo update-alternatives --install /usr/bin/jps jps /home/landen/UntarFile/jdk1.7.0_17/bin/jps 1 Use the actualwhich is specific to me.jpsprogram path in the appropriate jdk (your version of jdk) instead of [code]jdk1.7
[/code]
5.hadoop伪分布式下Datanode无法启动起来
在hadoop目录下的logs里面查看datanode 的日志文件,错误提示显示hdfs.data.dir的权限应该是rwxr-xr-x,而实际上是rwxrwxr-x
解决办法:先确定hdfs-site.xml里面的配置无误,然后修改hdfs.data.dir的权限
查看目录的相关权限可以采用命令ls -lD,或者直接用ls -la
权限列表
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
修改权限:
修改权限命令
chmod 777 文件名
1.chmod 577 /home/stuser -R
2.umask -p 0200
3.chown XXXX YYYY (XXXX 为用户名 YYYY为文件名)
6.在虚拟机里的eclipse跑hadoop wordcount示例程序出现java heap space的错误
原因:
当rs数据量大(大概800条记录以上)的时候出现javax.servlet.ServletException: Java heap space错误 在JVM中如果98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息。 JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。 例如:java -jar -Xmn16m -Xms64m -Xmx128m MyApp.jar 解决办法: 如果Heap Size设置偏小,除了这些异常信息外,还会发现程序的响应速度变慢了。GC占用了更多的时间,而应用分配到的执行时间较少。 Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。 Heap size的 -Xms -Xmn 设置不要超出物理内存的大小。否则会提示“Error occurred during initialization of VM Could not reserve enough space for object heap”。 这个问题的根源是jvm虚拟机的默认Heap大小是64M,可以通过设置其最大和最小值来实现.设置的方法主要是几个. 1.可以在windows 更改系统环境变量加上JAVA_OPTS=-Xms64m -Xmx512m 2,如果用的tomcat,在windows下,可以在C:\tomcat5.5.9\bin\catalina.bat 中加上: set JAVA_OPTS=-Xms64m -Xmx256m 位置在: rem Guess CATALINA_HOME if not defined 这行的下面加合适. 3.如果是linux系统 Linux 在{tomcat_home}/bin/catalina.sh的前面,加 set JAVA_OPTS='-Xms64 -Xmx512'7.
7.Eclipse并安装Subclipse1.6x插件后,使用svn过程中报如下错误:
Failed to load JavaHL Library. These are the errors that were encountered: no libsvnjavahl-1 in java.library.path no svnjavahl-1 in java.library.path /opt/local/lib/libsvnjavahl-1.0.0.0.dylib: no suitable image found. Did find: /opt/local/lib/libsvnjavahl-1.0.0.0.dylib: mach-o, but wrong architecture
原来是缺少一些关联文件,去subclipse的Wiki看了看,说需要安装libsvn-java,在Ubuntu 下安装很简单,命令如下:
sudo apt-get install libsvn-java
安装完后,这文件在/usr/lib//i386-linux-gnu/jni目录下(确认一下),这个目录并不是eclipse的java.library.path路径之一,所以还需要修改eclipse.ini来告诉eclipse去哪找这个libsvn-java相关的文件.
打开eclipse.ini,在最后行加入如下内容(注意换行)
-Djava.library.path=/usr/lib/jni 但是实际上我发现在eclipse的选项中将SVN改成另外的一个库就可以了。。 8.[code]git clone git://git.apache.org/hadoop-common.gitNow I get a failure on:
mvn install -DskipTests [INFO] Apache Hadoop Main ................................ SUCCESS [6.688s] [INFO] Apache Hadoop Project POM ......................... FAILURE [1.548s] ... [ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (create-testdirs) on project hadoop-project: Error executing ant tasks: /usr/local/hadoop/hadoop-common/hadoop-project/target/antrun/build-main.xml (No such file or directory) -> [Help 1]The reason being I don't have a "target" folder in
.../hadoop-project. My /hadoop-project folder contains only a "src" folder and that's it.
So it appears that folder was not established. Any ideas? Here is the environment:
[/code]
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (create-testdirs) on project hadoop-project: Error executing ant tasks: /home/sreejith/svn/hadoop-trunk/hadoop-project/target/antrun/build-main.xml (No such file or directory) -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (create-testdirs) on project hadoop-project: Error executing ant tasks: /home/sreejith/svn/hadoop-trunk/hadoop-project/target/antrun/build-main.xml (No such file or directory) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(Li
解决办法:Found a solution. Do a
sudo chown -R username parent-directoryif you haven't already. Now try,
mvn install -DskipTests. Everything should go fine and you should get
BUILD SUCCESS.
原来 sudo chown -R hadoop:hadoop /usr/local/hadoop 真的很重要,不设置会出现很多莫名的问题
(确保所有的操作都在用户hadoop下完成的)
8.[ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:2.2.0:protoc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecutionException: protoc version is 'libprotoc 2.4.1', expected version is '2.5.0' -> [Help 1]
sudo apt-get remove libprotoc7 (一部分再tab)
再安装相应版本
相关文章推荐
- 在Linux(CentOS6.2)服务器上配置hadoop时遇到的一些问题以及一些解决办法
- Hadoop3.0Yarn添加网络、磁盘IO等资源资料汇总及实战配置遇到的问题和解决办法
- myeclipse配置hadoop开发环境,及遇到问题解决
- myeclipse配置hadoop开发环境,及遇到问题解决
- 配置Hadoop&Hbase遇到的问题与解决
- hadoop配置遇到问题的解决
- 在xbox配置hadoop伪分布中主要遇到的问题以及解决的办法
- 解决:MacOS下配置Hadoop及Hive单机遇到的问题(们)
- myeclipse配置hadoop开发环境,及遇到问题解决
- myeclipse配置hadoop开发环境,及遇到问题解决
- 解决在Eclipse中配置JBoss、Tomcat等插件时遇到的问题
- 解决在Eclipse中配置JBoss、Tomcat等插件时遇到的问题
- 解决在Eclipse中配置JBoss、Tomcat等插件时遇到的问题 (转)
- vlan用trunk配置遇到了问题,向大虾们求教(已解决)
- 解决在Eclipse中配置JBoss、Tomcat等插件时遇到的问题
- Vmware虚拟机安装solaris10遇到的网络等配置问题及解决方法
- 我学Linux是遇到的ftp配置问题和解决办法
- 解决在Eclipse中配置JBoss、Tomcat等插件时遇到的问题
- 解决在Eclipse中配置JBoss、Tomcat等插件时遇到的问题
- [原创]SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法