windows10下使用idea远程调试hadoop集群
2017-09-29 09:40
429 查看
在windows10环境下,使用idea搭建maven项目链接Linux上的hadoop集群。
注意事项:
保证hadoop集群的用户与Windows的用户一致,不然后报错,错误信息我忘了,反正很麻烦
1. 下载hadoop-2.6.0.tar.gz,解压到本地文件夹:D:\configureSoftWare\hadoop-2.6.0
2. 配置hadoop环境变量: %HADOOP_HOME% = D:\configureSoftWare\hadoop-2.6.0
3. 将winutils.exe文件拷贝到%HADOOP_HOME%/bin 目录下
4. hadoop.dll文件拷贝到C:\Windows\System32目录下
winutils.lb和hadoop.dll的下载地址:http://pan.baidu.com/s/1hrNXq3y
5. 新建一个maven项目,这个比较简单,网上很多创建maven工程的文章,创建好以后项目结构如下:
6. 如图,将hadoop-2.6.0/etc/hadoop文件夹下的core-site.xml和log4j.properties文件拷贝到resources文件夹下
在core-site.xml中添加配置:
fs.defaultFS处换为hadoop集群的namenode的IP地址。
7. 要想使用hadoop,害得添加依赖包。修改pom.xml文件
8. 到此为止,所有环境已搭建好,我们来试一试,使用最经典的Wordcount测试一下
10 . 运行程序:
在HDFS上查看结果:
11 . 大功告成!!
注意事项:
保证hadoop集群的用户与Windows的用户一致,不然后报错,错误信息我忘了,反正很麻烦
1. 下载hadoop-2.6.0.tar.gz,解压到本地文件夹:D:\configureSoftWare\hadoop-2.6.0
2. 配置hadoop环境变量: %HADOOP_HOME% = D:\configureSoftWare\hadoop-2.6.0
3. 将winutils.exe文件拷贝到%HADOOP_HOME%/bin 目录下
4. hadoop.dll文件拷贝到C:\Windows\System32目录下
winutils.lb和hadoop.dll的下载地址:http://pan.baidu.com/s/1hrNXq3y
5. 新建一个maven项目,这个比较简单,网上很多创建maven工程的文章,创建好以后项目结构如下:
6. 如图,将hadoop-2.6.0/etc/hadoop文件夹下的core-site.xml和log4j.properties文件拷贝到resources文件夹下
在core-site.xml中添加配置:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://192.168.0.26:9000</value> </property> <property> <name>hadoop.proxyuser.hadoop.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hadoop.groups</name> <value>*</value> </property> </configuration>
fs.defaultFS处换为hadoop集群的namenode的IP地址。
7. 要想使用hadoop,害得添加依赖包。修改pom.xml文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.fun</groupId> <artifactId>hadoop</artifactId> <version>1.0-SNAPSHOT</version> <repositories> <repository> <id>apache</id> <url>http://maven.apache.org</url> </repository> </repositories> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs-client</artifactId> <version>2.8.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-jobclient</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.10</artifactId> <version>1.6.0</version> </dependency> <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.33</version> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-dependency-plugin</artifactId> <configuration> <excludeTransitive>false</excludeTransitive> <stripVersion>true</stripVersion> <outputDirectory>./lib</outputDirectory> </configuration> </plugin> </plugins> </build> </project>
8. 到此为止,所有环境已搭建好,我们来试一试,使用最经典的Wordcount测试一下
package MR; /** * Created by hadoop on 2017/5/25. */ /** * Created by jinshilin on 16/12/7. */ import java.io.IOException; import java.net.URI; 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; 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 StringTokeni a051 zer(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(); // Path input = new Path("hdfs://192.168.0.26:9000/people"); Path input = new Path(URI.create("hdfs://192.168.0.26:9000/people")); Path output = new Path(URI.create("hdfs://192.168.0.26:9000/output")); Job job = Job.getInstance(conf, "word count"); 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, input); FileOutputFormat.setOutputPath(job, output); System.exit(job.waitForCompletion(true) ? 0 : 1); } }
10 . 运行程序:
在HDFS上查看结果:
11 . 大功告成!!
相关文章推荐
- 建立可使用与远程调试的伪分布式Hadoop集群
- windows下在eclipse上远程连接hadoop集群调试mapreduce错误记录
- windows下idea中搭建hadoop开发环境,向远程hadoop集群提交mapreduce任务
- 使用Windows上Eclipse远程调试Linux上的Hadoop
- Spark - 使用IDEA远程调试位于Yarn-Client模式下的Spark集群相关配置
- 在 Windows 上使用 Idea 本地调试 Hadoop 程序
- Windows上使用Eclipse远程连接Hadoop进行程序开发
- 【hadoop】Hadoop学习笔记(九):如何在windows上使用eclipse远程连接hadoop进行程序开发
- 如何在windows上使用eclipse远程连接hadoop进行程序开发
- Windows 下使用Eclipse CDT 远程调试 Linux C/C++ 程序
- windows下eclipse远程连接linux上的hadoop集群
- windows远程调试hadoop权限问题
- windows下eclipse远程连接linux上的hadoop集群
- Eclipse远程调试Hadoop集群
- hadoop学习笔记2.windows上远程调试MapReduce
- redHat linux下安装hadoop 0.20.2, 并在windows下远程连接此hadoop,开发调试
- Hadoop学习笔记(九):如何在windows上使用eclipse远程连接hadoop进行程序开发
- windows环境下使用MyEclipse调用hadoop集群
- 使用IDEA进行远程调试
- 在windows下使用eclipes连接linux下的Hadoop集群