eclipse 远程链接访问hadoop 集群日志信息没有输出的问题l
Eclipse插件Run on Hadoop没有用到hadoop集群节点的问题
参考来源
http://f.dataguru.cn/thread-250980-1-1.html
http://f.dataguru.cn/thread-249738-1-1.html
(出处: 炼数成金)
三个问题:(第2个问题是我加的)
1.eclipse 控制台没有运行日志输出的问题
2.eclipse 上远程运行hadoop 集群的情况,这过程中一直变成了本地的,搞了2天才搞通,要确保本地与hadoop集群的Master之间ssh无密码登陆,当然首先要配置好/etc/hostname/
还要注意链接代码的写法.如果实际的远程集群运行,控制台就会像我下面的代码一样的(我远程主机的master IP是192.168.2.35,本机是192.168.2.51),代码显示运行在了HDFS 所在master的
35上面,证明成功了,如果想进一步验证,可以暂时关闭远程master的hadoop,即stop-all.sh,会提示厦门的错误
15/06/27 12:27:15 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
15/06/27 12:27:16 INFO Configuration.deprecation: session.id is deprecated. Instead, use dfs.metrics.session-id
15/06/27 12:27:16 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=
Exception in thread "main" java.net.ConnectException: Call From One/192.168.2.51 to Master:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:791)
at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:731)
如果重新启动,删除生成HDFS上面的output 目录,重新运行eclipse ,则有如下结果:说明远程集群确实在执行任务
15/06/27 12:34:17 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
15/06/27 12:34:18 INFO Configuration.deprecation: session.id is deprecated. Instead, use dfs.metrics.session-id
15/06/27 12:34:18 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=
15/06/27 12:34:18 WARN mapreduce.JobSubmitter: No job jar file set. User classes may not be found. See Job or Job#setJar(String).
15/06/27 12:34:19 INFO input.FileInputFormat: Total input paths to process : 2
15/06/27 12:34:19 INFO mapreduce.JobSubmitter: number of splits:15
15/06/27 12:34:19 INFO Configuration.deprecation: mapred.job.tracker is deprecated. Instead, use mapreduce.jobtracker.address
15/06/27 12:34:19 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_local1331725738_0001
15/06/27 12:34:19 INFO mapreduce.Job: The url to track the job: http://localhost:8080/
15/06/27 12:34:19 INFO mapreduce.Job: Running job: job_local1331725738_0001
15/06/27 12:34:19 INFO mapred.LocalJobRunner: OutputCommitter set in config null
15/06/27 12:34:19 INFO mapred.LocalJobRunner: OutputCommitter is org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter
15/06/27 12:34:19 INFO mapred.LocalJobRunner: Waiting for map tasks
15/06/27 12:34:19 INFO mapred.LocalJobRunner: Starting task: attempt_local1331725738_0001_m_000000_0
15/06/27 12:34:19 INFO mapred.Task: Using ResourceCalculatorProcessTree : [ ]
15/06/27 12:34:19 INFO mapred.MapTask: Processing split: hdfs://192.168.2.35:9000/user/hadoop/input/1.txt:0+134217728
15/06/27 12:34:19 INFO mapred.MapTask: (EQUATOR) 0 kvi 26214396(104857584)
15/06/27 12:34:19 INFO mapred.MapTask: mapreduce.task.io.sort.mb: 100
15/06/27 12:34:19 INFO mapred.MapTask: soft limit at 83886080
15/06/27 12:34:19 INFO mapred.MapTask: bufstart = 0; bufvoid = 104857600
15/06/27 12:34:19 INFO mapred.MapTask: kvstart = 26214396; length = 6553600
15/06/27 12:34:19 INFO mapred.MapTask: Map output collector class = org.apache.hadoop.mapred.MapTask$MapOutputBuffer
15/06/27 12:34:20 INFO mapreduce.Job: Job job_local1331725738_0001 running in uber mode : false
15/06/27 12:34:20 INFO mapreduce.Job: map 0% reduce 0%
15/06/27 12:34:21 INFO mapred.MapTask: Spilling map output
15/06/27 12:34:21 INFO mapred.MapTask: bufstart = 0; bufend = 32177692; bufvoid = 104857600
15/06/27 12:34:21 INFO mapred.MapTask: kvstart = 26214396(104857584); kvend = 13287304(53149216); length = 12927093/6553600
15/06/27 12:34:21 INFO mapred.MapTask: (EQUATOR) 42663446 kvi 10665856(42663424)
15/06/27 12:34:25 INFO mapred.LocalJobRunner: map > map
15/06/27 12:34:26 INFO mapred.MapTask: Finished spill 0
15/06/27 12:34:26 INFO mapred.MapTask: (RESET) equator 42663446 kv 10665856(42663424) kvi 8044428(32177712)
15/06/27 12:34:26 INFO mapreduce.Job: map 1% reduce 0%
15/06/27 12:34:27 INFO mapred.MapTask: Spilling map output
15/06/27 12:34:27 INFO mapred.MapTask: bufstart = 42663446; bufend = 74841169; bufvoid = 104857600
15/06/27 12:34:27 INFO mapred.MapTask: kvstart = 10665856(42663424); kvend = 23953172(95812688); length = 12927085/6553600
15/06/27 12:34:27 INFO mapred.MapTask: (EQUATOR) 85326920 kvi 21331724(85326896)
15/06/27 12:34:28 INFO mapred.LocalJobRunner: map > map
15/06/27 12:34:31 INFO mapred.MapTask: Finished spill 1
15/06/27 12:34:31 INFO mapred.MapTask: (RESET) equator 85326920 kv 21331724(85326896) kvi 18710300(74841200)
15/06/27 12:34:31 INFO mapred.LocalJobRunner: map > map
WordCount 源码,注意远程连接代码写法
package test;
import java.io.IOException;
import java.util.StringTokenizer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.util.GenericOptionsParser;
public class WordCount {
public static class TokenizerMapper
extends Mapper<Object, Text, Text, IntWritable>{
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();
public void map(Object key, Text value, Context context
) throws IOException, InterruptedException {
StringTokenizer itr = new StringTokenizer(value.toString());
while (itr.hasMoreTokens()) {
word.set(itr.nextToken());
context.write(word, one); }
}
}
public static class IntSumReducer extends Reducer<Text,IntWritable,Text,IntWritable> {
private IntWritable result = new IntWritable();
public void reduce(Text key, Iterable<IntWritable> values,
Context context
) throws IOException, InterruptedException {
int sum = 0;
for (IntWritable val : values) {
sum += val.get();
}
result.set(sum);
context.write(key, result);
}
}
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
//conf.set("mapred.job.tracker", "192.168.2.35:9001");
//在你的文件地址前自动添加:hdfs://master:9000/
//conf.set("fs.defaultFS", "hdfs://192.168.2.35:9001/");
//conf.set("hadoop.job.user","hadoop");
//指定jobtracker的ip和端口号,master在/etc/hosts中可以配置
//conf.set("mapred.job.tracker","192.168.2.35:9001");
//在你的文件地址前自动添加:hdfs://master:9000/
conf.set("fs.defaultFS", "hdfs://192.168.2.35:9000/");
////conf.set("hadoop.job.user","hadoop");
//// conf.set("Master","1234");
//指定jobtracker的ip和端口号,master在/etc/hosts中可以配置
//////conf.set("mapred.job.tracker","Master:9001");
String[] ars=new String[]{"input","out"};
String[] otherArgs = new GenericOptionsParser(conf, ars).getRemainingArgs();
if (otherArgs.length != 2) {
System.err.println("Usage: wordcount ");
System.exit(2);
}
Job job = new Job(conf, "wordcount");
job.setJarByClass(WordCount.class);
job.setMapperClass(TokenizerMapper.class);
job.setCombinerClass(IntSumReducer.class);
job.setReducerClass(IntSumReducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
FileInputFormat.addInputPath(job, new Path(otherArgs[0]));
FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));
System.exit(job.waitForCompletion(true) ? 0 : 1);
}
}
3.eclipse 上运行hadoop 集群的任务时,通过eclipse(hdfs插件)远程链接到服务器的hadoop中,eclipse 执行程序时,在hadoop的各节点上jps就没有结果
第一个问题的解决方法:eclipse 运行时候:log4j的日志
log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
把 log4.properties 复制到项目中bin目录下即可,注意复制后的权限。
cp /usr/hadoop2.5/etc/hadoop/log4.properties /home/hadoop/workspace/WordCount/bin/
第二个问题:
eclipse 远程链接访问hadoop 集群日志信息没有输出的问题l的更多相关文章
- Eclipse提交任务至Hadoop集群遇到的问题
环境:Windows8.1,Eclipse 用Hadoop自带的wordcount示例 hadoop2.7.0 hadoop-eclipse-plugin-2.7.0.jar //Eclipse的插件 ...
- fluentd结合kibana、elasticsearch实时搜索分析hadoop集群日志<转>
转自 http://blog.csdn.net/jiedushi/article/details/12003171 Fluentd是一个开源收集事件和日志系统,它目前提供150+扩展插件让你存储大数据 ...
- windows环境:idea或者eclipse指定用户名操作hadoop集群
方法 在系统的环境变量或java JVM变量添加HADOOP_USER_NAME(具体值视情况而定). 比如:idea里面可以如下添加HADOOP_USER_NAME=hdfs 原理:直接看源码 /h ...
- windows下eclipse远程连接hadoop集群开发mapreduce
转载请注明出处,谢谢 2017-10-22 17:14:09 之前都是用python开发maprduce程序的,今天试了在windows下通过eclipse java开发,在开发前先搭建开发环境.在 ...
- Hadoop集群 -Eclipse开发环境设置
1.Hadoop开发环境简介 1.1 Hadoop集群简介 Java版本:jdk-6u31-linux-i586.bin Linux系统:CentOS6.0 Hadoop版本:hadoop-1.0.0 ...
- Hadoop4 利用VMware搭建自己的hadoop集群
前言: 前段时间自己学习如何部署伪分布式模式的hadoop环境,之前由于工作比较忙,学习的进度停滞了一段时间,所以今天抽出时间把最近学习的成果和大家分享一下. 本文要介绍的是如 ...
- 【hadoop】——window下elicpse连接hadoop集群基础超详细版
1.Hadoop开发环境简介 1.1 Hadoop集群简介 Java版本:jdk-6u31-linux-i586.bin Linux系统:CentOS6.0 Hadoop版本:hadoop-1.0.0 ...
- Hadoop集群(第7期)_Eclipse开发环境设置
1.Hadoop开发环境简介 1.1 Hadoop集群简介 Java版本:jdk-6u31-linux-i586.bin Linux系统:CentOS6.0 Hadoop版本:hadoop-1.0.0 ...
- 配置两个Hadoop集群Kerberos认证跨域互信
两个Hadoop集群开启Kerberos验证后,集群间不能够相互访问,需要实现Kerberos之间的互信,使用Hadoop集群A的客户端访问Hadoop集群B的服务(实质上是使用Kerberos Re ...
随机推荐
- jvm 性能调优 经验总结---转
最近因项目存在内存泄漏,故进行大规模的JVM性能调优 , 现把经验做一记录. 一.JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老 ...
- C++windows内核编程笔记day13 进程、线程与信号量
Windows进程 进程是一个容器,包括程序运行须要的代码.数据.资源等信息, windows进程的特点: 每一个进程都有自己的ID号 每一个进程都有自己的地址空间.进程之间无法訪问对方的地址空间. ...
- nginx负载均衡的策略
1.轮询(默认) 应用程序轮流来响应请求 2.最少连接(least-conn) 请求被分配到活动连接最少的服务器上 3.ip-hash 通过一个hash函数决定哪个服务器来响应用户的请求( ...
- oracle日期合并 分别用逗号或者分号隔开
逗号隔开',' select LISTAGG(SUBSTR(TO_CHAR(FREESTARTTIME,,) ,)),',')WITHIN GROUP (ORDER BY TPF.FREEID) AS ...
- C++11 容器Array
array是一个固定大小的顺序容器,不能动态改变大小,array内的元素在内存中以严格的线性顺序存储与普通数组声明存储空间大小[]的方式是一样有效的,只是加入了一些成员函数和全局函数[get (arr ...
- Windows下对postgre开启远程连接权限
编辑 删除 前言:Windows下对postgre开启远程连接权限,下面是实际操作过程中的手顺 1.找到postgresql.conf文件,注意安装路径 D:\Program Files (x86)\ ...
- Qt学习之路1---软件下载安装及工程简介
1.下载安装目前最新版的qt,官网链接:https://www.qt.io/qt5-8/: 和qt4不同,qt5在线安装,轻巧快速,而且不用配置一些繁琐的东西,安装之后会出现Qt creator这就是 ...
- docker探索-Win10 Docker 安装使用(一)
本文转自:http://blog.csdn.net/shi1451042748/article/details/52996046 1.前言 Docker最近推出了可以运行在Win10稳定版本,让我们赶 ...
- FireFox火狐不能收藏书签
这个问题遇到过好几次了,最好还是记一下. 方法有以下几种: 禁用拓展:附加组件管理器. http://tieba.baidu.com/p/3034493996 禁用拓展:tab mix plus. h ...
- Server 2008作为打印服务器的四大错误解决方案
http://os.51cto.com/art/201004/197322.htm http://os.51cto.com/art/201004/197322_1.htm http://os.51ct ...