博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows系统使用IntelliJ IDEA 搭建Hadoop的开发调试环境(一)
阅读量:6867 次
发布时间:2019-06-26

本文共 4170 字,大约阅读时间需要 13 分钟。

hot3.png

准备

Hadoop集群

上一篇讲到的Hadoop环境搭建,开启Hadoop几个服务

./sbin/start-dfs.sh 

./sbin/start-yarn.sh 

./sbin/mr-jobhistory-daemon.sh start historyserver

使用jps查看是否执行成功 命令:start-all.sh已经不推荐使用了。

[root@hadoop01 hadoop-2.6.0]# jps1941 JobHistoryServer1665 ResourceManager1355 NameNode1977 Jps1497 SecondaryNameNode

IDEA+MAVEN

安装好IDEA,配置好MAVEN即可

WINDOWS系统账号

(同Linux下的Hadoop运行账号,如root)

如果在Windows中,新建一个账号,用户名为root(必须和Hadoop运行的账号一致,比如叫root、hadoop等等)

新建好之后,注销该账号登录的系统即可,不用在该账号下运行。

搭建

Hadoop

如果在调试HDFS功能,拒绝访问,并且在测试环境下,尝试下述做法

1、  调用hdfs无需使用和运行hadoop用户名一致前提,但是需要到hdfs-site.xml中设置permission=false

 
   
dfs.namenode.secondary.http-address
     
hadoop01:9001
      
  
     
dfs.namenode.name.dir
        
file:/usr/hadoop-2.6.0/dfs/name
         
 
   
dfs.datanode.data.dir
     
file:/usr/hadoop-2.6.0/dfs/data
       
 
   
dfs.replication
     
2
      
 
   
dfs.webhdfs.enabled
     
true
      
    
      
dfs.permissions
      
false
    

IDEA工程

新建一个maven工程:hadoop

1、POM依赖

    
        
org.apache.hadoop
        
hadoop-common
        
2.6.0
    
    
        
org.apache.hadoop
        
hadoop-hdfs
        
2.6.0
    
    
        
org.apache.hadoop
        
hadoop-client
        
2.6.0
    

2、新建一个测试类Test

在hadoop中已经通过执行wordcount导入了input和output的fs文件,这里通过hdfs的api进行调试

import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataOutputStream;import org.apache.hadoop.fs.FileStatus;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IOUtils;import java.io.InputStream;import java.net.URI;/** * Created with j360 -> me.h360.hdfs. * User: min_xu * Date: 2015/4/14 * Time: 9:05 * 说明:测试hdfs的文件的情况 */public class Test {    public static void main(String[] args) throws Exception {        //hdfs的地址        String uri = "hdfs://192.168.145.128:9000/";        Configuration config = new Configuration();        FileSystem fs = FileSystem.get(URI.create(uri), config);        // 列出hdfs上/tmp/input/目录下的所有文件和目录        FileStatus[] statuses = fs.listStatus(new Path("/tmp/input"));        for (FileStatus status : statuses) {            System.out.println(status);        }        // 在hdfs的/tmp/input目录下创建一个文件,并写入一行文本        FSDataOutputStream os = fs.create(new Path("/tmp/input/test.log"));        os.write("Hello World!".getBytes());        os.flush();        os.close();        // 显示在hdfs的/tmp/input下指定文件的内容        InputStream is = fs.open(new Path("/tmp/input/test.log"));        IOUtils.copyBytes(is, System.out, 1024, true);    }}

调试

执行main方法

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.FileStatus{path=hdfs://192.168.145.128:9000/tmp/input/f1; isDirectory=false; length=20; replication=2; blocksize=134217728; modification_time=1428671368587; access_time=1428998938744; owner=root; group=supergroup; permission=rw-r--r--; isSymlink=false}FileStatus{path=hdfs://192.168.145.128:9000/tmp/input/f2; isDirectory=false; length=25; replication=2; blocksize=134217728; modification_time=1428671368663; access_time=1428998938711; owner=root; group=supergroup; permission=rw-r--r--; isSymlink=false}FileStatus{path=hdfs://192.168.145.128:9000/tmp/input/test.log; isDirectory=false; length=12; replication=3; blocksize=134217728; modification_time=1428991073630; access_time=1428998938072; owner=root; group=supergroup; permission=rw-r--r--; isSymlink=false}Hello World!Process finished with exit code 0

已经把前面生成的fs文件打印出来。

转载于:https://my.oschina.net/smartsales/blog/401566

你可能感兴趣的文章
洛谷 P3742 umi的函数【构造】
查看>>
剑指offer-二叉树的镜像
查看>>
二叉树的创建,遍历完整代码
查看>>
java实现二叉树
查看>>
Django分页器应用
查看>>
Linux学习之socket编程(二)
查看>>
算法学习(一)
查看>>
将centos6的php5.3升级为5.6
查看>>
(转)JS 数字格式千分位相互转换
查看>>
进度条
查看>>
5.9 j(java学习笔记)强软弱虚引用及WeakHashMap、IdentityHashMap、EnumMap
查看>>
机器学习杂记
查看>>
移动Web开发经验
查看>>
苹果Itools
查看>>
Windows 2003/2008更改远程桌面端口脚本
查看>>
Mozilla开发新功能提升网络隐私保护
查看>>
运营是一门艺术,互联网营销
查看>>
Visual Studio 2010 SP1将支持HTML5和CSS3
查看>>
[资源记录 ]mobile layer cdn
查看>>
关于scrapy的piplines
查看>>