首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Mac hadoop + hive整合s3-伪分布式环境

Mac hadoop + hive整合s3-伪分布式环境

原创
作者头像
框框不是欢欢
修改于 2022-04-26 08:59:01
修改于 2022-04-26 08:59:01
1.5K10
代码可运行
举报
文章被收录于专栏:大数据探索大数据探索
运行总次数:0
代码可运行

hadoop环境

环境信息

搭建方式:伪分布式环境

JDK: java1.8 路径为:/Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home

hadoop版本:hadoop-3.2.3

配置免密登录

1、提供远程登录权限

2、创建ssh密钥

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

3、将密钥放入授权目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

4、使用ssh localhost验证,能够正常登录即可

下载hadoop

1、下载地址:https://dlcdn.apache.org/hadoop/common/hadoop-3.2.3/hadoop-3.2.3.tar.gz

2、解压hadoop-3.2.3.tar.gz,我在本地的存放地址为~/Documents/java/hadoop-3.2.3

伪分布式搭建

本文采用s3作为文件系统存储,hdfs存储的方式不做赘述

1、修改hadoop-env.sh,添加下面java_home配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home

2、修改core-site.xml,添加下面内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<configuration>
   <property>
    <name>fs.defaultFS</name>
    <value>s3a://mybucket</value>
  </property>
  <property>
    <name>fs.s3a.access.key</name>
    <value>*******</value>
  </property>
  <property>
    <name>fs.s3a.secret.key</name>
    <value>*******</value>
  </property>
  <property>
    <name>fs.s3a.connection.ssl.enabled</name>
    <value>false</value>
  </property>
  <property>
    <name>fs.s3a.path.style.access</name>
    <value>true</value>
  </property>
   <property>
    <name>fs.s3a.endpoint</name>
    <value>http://s3.ap-northeast-1.amazonaws.com</value>
  </property> 
  <property>
    <name>fs.s3a.impl</name>
    <value>org.apache.hadoop.fs.s3a.S3AFileSystem</value>
  </property>
  <property>
      <name>hadoop.tmp.dir</name>
      <value>/hadoop/tmp</value>
    <description>A base for other temporary directories.</description>
  </property>
</configuration>

3、修改hdfs-site.xml,添加以下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
        <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
        <value>false</value>
    </property><property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-bind-host</name>
        <value>0.0.0.0</value>
    </property>
    <property>
        <name>dfs.namenode.servicerpc-bind-host</name>
        <value>0.0.0.0</value>
    </property>
    <property>
        <name>dfs.namenode.http-bind-host</name>
        <value>0.0.0.0</value>
    </property>
    <property>
        <name>dfs.namenode.https-bind-host</name>
        <value>0.0.0.0</value>
    </property>
    <property>
        <name>dfs.client.use.datanode.hostname</name>
        <value>false</value>
    </property>
    <property>
        <name>dfs.datanode.use.datanode.hostname</name>
        <value>false</value>
    </property>
</configuration>

4、修改mapred-site.xml,添加以下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<configuration>
    <property>
         <name>mapreduce.framework.name</name>
         <value>yarn</value>
     </property>
</configuration>

5、修改yarn-site.xml,添加以下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<configuration>
 
<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
  
     
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>localhost</value>
    </property>
    <property>
        <name>yarn.resourcemanager.store.class</name>
        <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.FileSystemRMStateStore</value>
    </property>
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property> 
    <property>
        <name>mapred.map.output.compress.codec</name>
        <value>org.apache.hadoop.io.compress.SnappyCodec</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.class</name>
        <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
    </property>
    <property>
        <name>mapreduce.map.output.compress</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.resourcemanager.recovery.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
    <property>
        <name>yarn.resourcemanager.bind-host</name>
        <value>0.0.0.0</value>
    </property>
    <property>
        <name>yarn.nodemanager.bind-host</name>
        <value>0.0.0.0</value>
    </property>
    <property>
        <name>yarn.nodemanager.bind-host</name>
        <value>0.0.0.0</value>
    </property>
    <property>
        <name>yarn.timeline-service.bind-host</name>
        <value>0.0.0.0</value>
    </property>
    <property>
        <name>yarn.application.classpath</name>
        <value>
            /Users/sheen/Documents/java/hadoop-3.2.3/etc/hadoop,
            /Users/sheen/Documents/java/hadoop-3.2.3/share/hadoop/common/*,
            /Users/sheen/Documents/java/hadoop-3.2.3/share/hadoop/common/lib/*,
            /Users/sheen/Documents/java/hadoop-3.2.3/share/hadoop/hdfs/*,
            /Users/sheen/Documents/java/hadoop-3.2.3/share/hadoop/hdfs/lib/*,
            /Users/sheen/Documents/java/hadoop-3.2.3/share/hadoop/mapreduce/*,
            /Users/sheen/Documents/java/hadoop-3.2.3/share/hadoop/mapreduce/lib/*,
            /Users/sheen/Documents/java/hadoop-3.2.3/share/hadoop/yarn/*,
            /Users/sheen/Documents/java/hadoop-3.2.3/share/hadoop/yarn/lib/*
        </value>
    </property>
</configuration>

填坑操作

1、hadoop yarn使用s3作为文件系统,当提交hive任务执行时,会出现下面问题

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
java.io.IOException: Resource s3a://yarn/user/root/DistributedShell/application_1641533299713_0002/ExecScript.sh changed on src filesystem (expected 1641534006000, was 1641534011000
    at org.apache.hadoop.yarn.util.FSDownload.verifyAndCopy(FSDownload.java:273)
    at org.apache.hadoop.yarn.util.FSDownload.access$000(FSDownload.java:67)
    at org.apache.hadoop.yarn.util.FSDownload$2.run(FSDownload.java:414)
    at org.apache.hadoop.yarn.util.FSDownload$2.run(FSDownload.java:411)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:422)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1729)
    at org.apache.hadoop.yarn.util.FSDownload.call(FSDownload.java:411)
    at org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ContainerLocalizer$FSDownloadWrapper.doDownloadCall(ContainerLocalizer.java:242)
    at org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ContainerLocalizer$FSDownloadWrapper.call(ContainerLocalizer.java:235)
    at org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ContainerLocalizer$FSDownloadWrapper.call(ContainerLocalizer.java:223)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

问题原因:这个错误出现在hadoop-yarn-common包下的org.apache.hadoop.yarn.util.FSDownload类中,在s3在复制文件的过程中会改变文件的时间戳(hdfs不会)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private void verifyAndCopy(Path destination)
    throws IOException, YarnException {
  final Path sCopy;
  try {
    sCopy = resource.getResource().toPath();
  } catch (URISyntaxException e) {
    throw new IOException("Invalid resource", e);
  }
  FileSystem sourceFs = sCopy.getFileSystem(conf);
  FileStatus sStat = sourceFs.getFileStatus(sCopy);
  if (sStat.getModificationTime() != resource.getTimestamp()) {
    throw new IOException("Resource " + sCopy + " changed on src filesystem" +
        " - expected: " +
        "\"" + Times.formatISO8601(resource.getTimestamp()) + "\"" +
        ", was: " +
        "\"" + Times.formatISO8601(sStat.getModificationTime()) + "\"" +
        ", current time: " + "\"" + Times.formatISO8601(Time.now()) + "\"");
  }
  if (resource.getVisibility() == LocalResourceVisibility.PUBLIC) {
    if (!isPublic(sourceFs, sCopy, sStat, statCache)) {
      throw new IOException("Resource " + sCopy +
          " is not publicly accessible and as such cannot be part of the" +
          " public cache.");
    }
  }
 
  downloadAndUnpack(sCopy, destination);
}

解决方案:

1、github下载hadoop代码,地址:https://github.com/apache/hadoop

2、切换到branch-3.2.3分支,修改hadoop/hadoop-yarn/hadoop-yarn-common的org.apache.hadoop.yarn.util.FSDownload类代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private void verifyAndCopy(Path destination)
    throws IOException, YarnException {
  final Path sCopy;
  try {
    sCopy = resource.getResource().toPath();
  } catch (URISyntaxException e) {
    throw new IOException("Invalid resource", e);
  }
  FileSystem sourceFs = sCopy.getFileSystem(conf);
  FileStatus sStat = sourceFs.getFileStatus(sCopy);
  if (sStat.getModificationTime() != resource.getTimestamp()) {
    /*
    throw new IOException("Resource " + sCopy + " changed on src filesystem" +
        " - expected: " +
        "\"" + Times.formatISO8601(resource.getTimestamp()) + "\"" +
        ", was: " +
        "\"" + Times.formatISO8601(sStat.getModificationTime()) + "\"" +
        ", current time: " + "\"" + Times.formatISO8601(Time.now()) + "\"");
    */
    LOG.warn("Resource " + sCopy + " changed on src filesystem" +
            " - expected: " +
            "\"" + Times.formatISO8601(resource.getTimestamp()) + "\"" +
            ", was: " +
            "\"" + Times.formatISO8601(sStat.getModificationTime()) + "\"" +
            ", current time: " + "\"" + Times.formatISO8601(Time.now()) + "\"" +
            ". Stop showing exception here, use a warning instead.");
  }
  if (resource.getVisibility() == LocalResourceVisibility.PUBLIC) {
    if (!isPublic(sourceFs, sCopy, sStat, statCache)) {
      throw new IOException("Resource " + sCopy +
          " is not publicly accessible and as such cannot be part of the" +
          " public cache.");
    }
  }
 
  downloadAndUnpack(sCopy, destination);
}

3、重新编译打包hadoop-yarn-common

4、将打好hadoop-yarn-common-3.2.3.jar复制到hadoop-3.2.3/share/hadoop/yarn目录下,替换掉原先的的包

hive环境

下载hive

1、下载hive,地址:https://downloads.apache.org/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz

2、解压apache-hive-3.1.2-bin.tar.gz,本地存放目录为:~/Documents/java/apache-hive-3.1.2-bin

hive配置

1、下载mysql连接,并存放在hive的lib目录下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/Document/apache-hive-3.1.2-bin/lib
wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.16/mysql-connector-java-8.0.16-sources.jar

2、从hadoop添加支持s3的jar包,这里使用软连接

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir ~/Documents/java/apache-hive-3.1.2-bin/auxlib
ln -s ~/Documents/java/hadoop-3.2.3/share/hadoop/tools/lib/*aws* ~/Documents/java/apache-hive-3.1.2-bin/auxlib/

3、修改hive_env.sh,添加以下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home
export HADOOP_HOME=/Users/sheen/Documents/java/hadoop-3.2.3
export HIVE_HOME=/Users/sheen/Documents/java/apache-hive-3.1.2-bin
export HIVE_AUX_JARS_PATH=$HIVE_HOME/auxlib

4、新增hive-site.xml文件,并配置以下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://127.0.0.1:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.cj.jdbc.Driver</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>root</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>123456</value>
</property>
<property>
  <name>hive.querylog.location</name>
  <value>/hive/tmp</value>
</property>
<property>
  <name>hive.exec.local.scratchdir</name>
  <value>/hive/tmp</value>
</property>
<property>
  <name>hive.downloaded.resources.dir</name>
  <value>/hive/tmp</value>
</property>
</configuration>

5、初始化hive元数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./bin/schematool -initSchema -dbType mysql -userName root -passWord root

6、在hive/conf下新建core-site.xml文件,添加以下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>s3a://mybucket</value>
  </property>
  <property>
    <name>fs.s3a.aws.credentials.provider</name>
    <description>The credential provider type.</description>
    <value>org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider</value>
  </property>
  <property>
    <name>fs.s3a.bucket.mybucket.access.key</name>
    <value>*****</value>
  </property>
  <property>
    <name>fs.s3a.bucket.mybucket.secret.key</name>
    <value>******</value>
  </property>
  <property>
    <name>fs.s3a.connection.ssl.enabled</name>
    <value>false</value>
  </property>
  <property>
    <name>fs.s3a.path.style.access</name>
    <value>true</value>
  </property>
   <property>
    <name>fs.s3a.endpoint</name>
    <value>http://s3.ap-northeast-1.amazonaws.com</value>
  </property>  
  <property>
    <name>fs.s3a.impl</name>
    <value>org.apache.hadoop.fs.s3a.S3AFileSystem</value>
  </property>
</configuration>

小细节:

hadoop和hive的fs.defaultFS最好配一样,且如果fs.defaultFS配的时候有带桶,比如s3a://mybucket,带了mybucket这个桶,那么fs.s3a.secret.key必须配成fs.s3a.bucket.mybucket.secret.key。不然找不到secretKey,accessKey也是如此。

启动hadoop + hive

1、启动hadoop,出现error是hdfs的报错,无影响,无视就行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
~/Documents/java/hadoop-3.2.3/sbin/start-all.sh

访问localhost:8088

2、启动hive

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
~/Documents/java/apache-hive-3.1.2-bin/bin/hive

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
1 条评论
热度
最新
不知道为啥,配置一模一样,hive select全部没问题,insert就出现问题。 java.io.IOException: java.net.ConnectException: Your endpoint configuration is wrong; For more details see: http://wiki.apache.org/hadoop/UnsetHostnameOrPort
不知道为啥,配置一模一样,hive select全部没问题,insert就出现问题。 java.io.IOException: java.net.ConnectException: Your endpoint configuration is wrong; For more details see: http://wiki.apache.org/hadoop/UnsetHostnameOrPort
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
记hadoop伪分布式安装
最近在系统性学习大数据相关知识,看了一些教学视频,因为教学视频录的比较早了,中间也踩了一些坑,这里记录一下hadoop3.3.0的整个安装过程。
zhangheng
2020/12/01
5700
Hadoop2.5.0伪分布式环境搭建
本章主要介绍下在Linux系统下的Hadoop2.5.0伪分布式环境搭建步骤。首先要搭建Hadoop伪分布式环境,需要完成一些前置依赖工作,包括创建用户、安装JDK、关闭防火墙等。
星哥玩云
2022/07/26
6840
Mac部署hadoop3(伪分布式)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
程序员欣宸
2019/10/22
1.3K0
Mac部署hadoop3(伪分布式)
在 ARM 环境下搭建原生 Hadoop 集群
众所周知,当前 CPU 的主流系统架构分为 X86 架构和 ARM 架构。其中 X86 架构的所有权归属于 Intel 公司,而 ARM 架构则是开源的。
政采云前端团队
2023/09/01
2.9K1
在 ARM 环境下搭建原生 Hadoop 集群
Mac做java开发(四):​hadoop分布式环境搭建
大数据时代,分布式技术至关重要,因此,这篇文章介绍hadoop分布式环境搭建,作为个人学习大数据技术的实验环境。
用户5473628
2019/08/08
6340
Windows10系统下Hadoop和Hive开发环境搭建填坑指南
笔者目前需要搭建数据平台,发现了Windows系统下,Hadoop和Hive等组件的安装和运行存在大量的坑,而本着有坑必填的目标,笔者还是花了几个晚上的下班时候在多个互联网参考资料的帮助下完成了Windows10系统下Hadoop和Hive开发环境的搭建。这篇文章记录了整个搭建过程中的具体步骤、遇到的问题和对应的解决方案。
Throwable
2020/11/05
1.8K0
Windows10系统下Hadoop和Hive开发环境搭建填坑指南
Hadoop伪分布式配置
http://localhost:50070/dfshealth.html#tab-overview
羊羽shine
2019/08/24
8000
搭建Hive3.x并整合MySQL8.x存储元数据
首先需要准备好Java运行环境和Hadoop环境,Hadoop搭建可以参考如下文章:
端碗吹水
2020/10/27
1.7K0
【一】、搭建Hadoop环境----本地、伪分布式
    1.搭建Hadoop环境需要Java的开发环境,所以需要先在LInux上安装java
梅花
2020/09/28
7000
【一】、搭建Hadoop环境----本地、伪分布式
Hadoop单机伪分布式部署
Hadoop 在单节点上以伪分布式模式运行,其中每个 Hadoop 守护进程在单独的 Java 进程中运行。
云原生
2022/09/01
3960
Hadoop单机伪分布式部署
如何搭建Hadoop伪分布式集群?
本文介绍了如何搭建Hadoop伪分布式集群。首先,下载并解压Hadoop压缩包;然后,配置Hadoop并启动HDFS和YARN服务;最后,使用jps命令查看进程是否存在,并访问HDFS和YARN的管理界面。
挖掘大数据
2017/12/20
1.1K0
一文读懂Hadoop、HBase、Hive、Spark分布式系统架构
机器学习、数据挖掘等各种大数据处理都离不开各种开源分布式系统,hadoop用户分布式存储和map-reduce计算,spark用于分布式机器学习,hive是分布式数据库,hbase是分布式kv系统,看似互不相关的他们却都是基于相同的hdfs存储和yarn资源管理,本文通过全套部署方法来让大家深入系统内部以充分理解分布式系统架构和他们之间的关系 本文结构 首先,我们来分别部署一套hadoop、hbase、hive、spark,在讲解部署方法过程中会特殊说明一些重要配置,以及一些架构图以帮我们理解,目的是为后
用户1257215
2018/01/30
3.4K0
Hadoop(五)C#操作Hive
Hive将HiveQL(类sql语言)转为MapReduce,完成数据的查询与分析,减少了编写MapReduce的复杂度。它有以下优点:
Chester Chen
2022/08/18
8350
Hadoop(五)C#操作Hive
Hadoop(一)Hadoop核心架构与安装
大白话,Hadoop是个存储数据,计算数据的分布式框架。核心组件是HDFS、MapReduce、Yarn。
Chester Chen
2022/08/18
7300
Hadoop(一)Hadoop核心架构与安装
2.1 Hadoop伪分布式安装部署
版权声明:本文为王小雷原创文章,未经博主允许不得转载 https://blog.csdn.net/dream_an/article/details/80700530
王小雷
2019/05/29
6090
hive-3.1.2安装以及使用tez作为执行引擎指南
3 复制hive-default.xml.template,得到一份hive-site.xml
从大数据到人工智能
2022/01/19
2K0
hive-3.1.2安装以及使用tez作为执行引擎指南
Hadoop伪分布式集群搭建
---- 软件准备 一台Linux虚拟机 我用的CentOS-6.6的一个虚拟机,主机名为repo 参考在Windows中安装一台Linux虚拟机 该虚拟机中安装了JDK 参考在Linux中安装JDK 该虚拟机可以免秘钥登录自身 参考配置各台虚拟机之间免秘钥登录 hadoop安装包 下载地址:https://mirrors.aliyun.com/apache/hadoop/common/ 我用的hadoop2.6.5 ---- 1. 把hadoop安装包上传到服务器并解压 [root@r
CoderJed
2018/09/13
1.1K0
Hadoop伪分布式集群搭建
【Hadoop 分布式部署 三:基于Hadoop 2.x 伪分布式部署进行修改配置文件】
首先在 hadoop-senior 的这台主机上 进行 解压 hadoop2.5 按照伪分布式的配置文件来进行配置
梅花
2020/09/30
5550
Hadoop安装教程_单机及伪分布式
配置新的hadoop用户 查看是否配置成功 为hadoop用户增加管理员权限 退出重新登陆
用户1147754
2019/05/27
5200
Hadoop3.x伪分布式及Hbase搭建与单词统计项目构建
本节从0开始一步步搭建伪分布式及Hbase等。同时学习使用Intellij Maven构建Map-Reduce项目进行单词统计。
公众号guangcity
2019/09/20
1.2K0
Hadoop3.x伪分布式及Hbase搭建与单词统计项目构建
相关推荐
记hadoop伪分布式安装
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档