点击Datanodes出现上面的界面表示配置好了Hadoop集群。

2.安装好了IDEA开发工具

实现:

在window上配置好Hadoop

1.下载hadoop-2.7.7.tar.gz文件到window。各版本Hadoop,我选择的是2.7.7

Hadoop是跨平台的,不用担心Linux与windows不兼容,但是需要注意的是在hadoop-2.7.7/etc/hadoop/hadoop-env.sh中JAVA_HOME需要修改为window下jdk的路径。

  1. 选择一个空目录将hadoop-2.7.7.tar.gz解压

  1. 将hadoop-2.7.7添加到环境变量中

变量名:HADOOP_HOME

变量值:E:\xx\xx\xx\hadoop-2.7.7 (先看下面的图再复制)

%JAVA_HOME%\bin

%JAVA_HOME%\jre\bin(先看下面的图再复制)

4.使用命令行查看环境变量是否配置成功

hadoop version

5.安装jdk(JDK 8 所有版本

解压到目录中,添加环境变量(和Hadoop配置相似,可以上去再看一下)

变量名:JAVA_HOME

变量值:E:\ProgramSoftware\java\JAVAHOME\jdk1.8.0_162

变量值:%JAVA_HOME%\bin

变量值:%JAVA_HOME%\jre\bin

使用java -version、javac验证(注意上面bin以及\jre\bin都要配置,不然会出现hadoop找不到JAVA_HOME的问题)

  1. 将winutil.exe放置到hadoop-2.7.7\bin\目录下面。(wintil.ext下载,GitHub中选一个比自己hadoop版本相同或者说高一点的版本)

  2. 将winutil.exe以及hadoop-2.7.7\bin\hadoop.dll放置到C:\Windows\System32中

  3. 使用idea打开一个空的目录

  1. 添加maven,点击Add Framwork Support

添加maven

添加成功后会出现main与test

10.配置maven,将Linux虚拟机中hadoop-2.7.7\etc\core-site.xml与hadoop-2.7.7\etc\hdfs-site.xml复制到resource下(可以通过log4j.properties配置控制台日志的输出等级,可以自己上网查询其他的输出等级策略)

log4j.rootLogger=debug,stdout,R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=mapreduce_test.log
log4j.appender.R.MaxFileSize=1MB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
log4j.logger.com.codefutures=DEBUG

  1. 配置pom.xml

初始状态

添加下方的内容到pom.xml中,添加后idea会开始猛烈地加载需要的资源文件,下载完成后原先的红色pom.xml会变成蓝色(注意:hadoop的版本要和自己的版本一样)

测试

通过上面的操作,idea连接Hadoop集群基本实现了,现在测试

  1. 在java中创建一个java文件

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.log4j.BasicConfigurator;

import java.io.IOException;

public class HdfsTest {

public static void main(String[] args) {
        //自动快速地使用缺省Log4j环境。
        BasicConfigurator.configure();
        try {

// 改成你自己的ip以及对应的文件所在的路径
            String filename = “hdfs://192.168.47.131:9000/words.txt”;
            Configuration conf = new Configuration();
            FileSystem fs = null;
            fs = FileSystem.get(conf);
            if (fs.exists(new Path(filename))){

// 在控制台搜索the file is exist 或者not exist 根据你的情况,该文件如果存在就会打

// the file is exist 不存在就会打印 the file is not exist 
                System.out.println(“the file is exist”);
            }else{
                System.out.println(“the file is not exist”);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

此时大概率是没有配置jdk的,按照下图进行配置

  1. 配置成功我们运行程序,在控制台中查看是否存在该word.txt,我的该目录下存在所有打印了the file is exist

  1. 实现一个词频统计程序

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
img

39458819)]
[外链图片转存中…(img-rMY7tJuu-1712539458819)]
[外链图片转存中…(img-oZIY0nf2-1712539458820)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
[外链图片转存中…(img-obok5x2P-1712539458820)]

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐