操作过程中主要出现以下几个错误: Unsupported major.minor version 51.0 处理办法: eclipse下的项目的jdk环境和liux下的jdk环境不一致,将windows下的eclipse中的jdk环境与linux的环境更改一致 切换linux的jdk版本为1.7: 上传jdk7压缩包并解压 配置jdk变量 vi /etc/profile 在终端里面输入: alternatives --install /usr/bin/java java /usr/local/jvm/jdk1.7.0_79/bin/java 300 alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_101/bin/java 300 jdk1.8.0_101为之前安装的jdk 如想切换至1.8 还需更改环境变量/etc/profile 红色部分自行修改目录(安装JDK的目录) 接着执行alternatives --config java 输入想要切换的jdk序号 Java -version 在myeclipse里添加1.7的jdk,创建java项目时选择jdk版本为1.7 重启hadoop集群报错: java.net.BindException: Port in use: 0.0.0.0:50070 Caused by: java.net.BindException: Address already in use 处理办法: 1)sudo lsof -i:端口 -P 2)sudo kill -9 PID 以50070端口为例: sudo lsof -i:50070 -P 控制台输出内容: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 6501 root 189u IPv4 0x782e003217773193 0t0 TCP *:50070 (LISTEN) 然后kill掉: sudo kill -9 6501 hadoop主节点缺少NameNode log信息: java.io.FileNotFoundException:/home/hadoop/app/dfs/name/in_use.lock (Permission denied) 处理办法: 有两种场景出现 1):在原来正常的时候,有一次突然使用了原来不同的用户启动了一次hadoop。这种场景会产生一个in_use.lock 文件夹在你设置的目录中,这时候可以删除这个文件夹直接,然后重新启动 2):在格式化hadoop的时候和当期启动的用户不是同一个,也会导致该问题。这个时候可以使用格式化hadoop的那个用户重新启动hadoop。也可以解决此错误。 hadoop主节点缺少SecondaryNameNode log信息: Cannot lock storage /home/hadoop/app/tmp/dfs/namesecondary. The directory is already locked 处理办法:删除该目录 java项目运行不报错 处理办法: 新建一个文件,命名为“log4j.properties”,放到src目录下。向里填入一下信息: log4j.rootLogger=INFO, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n log4j.appender.logfile=org.apache.log4j.FileAppender log4j.appender.logfile.File=target/spring.log log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n 保存后重新运行 通过java接口向hbase插入一张表时报错: [org.apache.hadoop.util.NativeCodeLoader] - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 2017-03-15 14:09:11,318 ERROR [org.apache.hadoop.util.Shell] - Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable nullbinwinutils.exe in the Hadoop binaries. 处理办法: 到github下载https://github.com/srccodes/hadoop-common-2.2.0-bin,同样也可以适用于hadoop2.6.X 配置windows系统环境变量HADOOP_HOME和PATH,其中HADOOP_HOME的变量值为hadoop-common-2.2.0-bin-master的存放目录 重启eclipse 启动zookeeper时报错: Unexpected exception, exiting abnormally java.net.BindException: Address already in use 处理办法: 用 sudo lsof -i:2181,发现了2181端口被占用了,kill掉进程 (之前用root用户启动过zookeeper,端口被占用) .8.向account表中插入数据时报错: No server address listed in hbase:meta for region account,,1489571988348.199cbfbbfa0c172de72760708c5ed5aa. containing row fy1 scan ‘account’表,同样报相同的错误: 处理办法: 查看16010界面,发现account表 在java代码里将表名更改为online regions的表 并更改其列族名
hadoop报错解决方案---安装系列三
2023-06-29 11:21:41
浏览数 (2)