【Hadoop】Hadoop概念与实践

这篇具有很好参考价值的文章主要介绍了【Hadoop】Hadoop概念与实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前置工作

安装 HomeBrew

参考官方文档进行安装

配置本机 ssh 免密登录

hadoop 运行过程中需要 ssh localhost,需要做一些配置保证可以执行成功

允许远程登录
偏好设置 -> 共享 -> 勾选「远程登录」

配置 SSH

  1. 通过 ssh-keygen 生成 ssh key
  2. ssh-copy-id -i [key 文件] localhost 配置免密登录
  3. ssh localhost 也只能正配置是否成功

安装 Hadoop

brew install hadoop

hadoop 安装成功

配置

配置环境变量

  1. brew info hadoop 查看 hadoop 安装目录

  2. 定义 HADOOP_HOME 变量并添加到 PATH 中

    # Hadoop
    export HADOOP_HOME=/usr/local/Cellar/hadoop/3.3.4/libexec
    export PATH=$PATH:HADOOP_HOME
    
  3. source ~/.zshrc 使变量生效

配置 core-site
$HADOOOP_HOME/etc/hadoop/core-site.xml文件中配置临时文件目录及 hdfs 文件访问地址

<configuration>
  <property>
      <name>hadoop.tmp.dir</name>
      <value>/usr/local/Cellar/hadoop/hdfs/tmp</value>
  </property>
  <property>
      <name>fs.default.name</name>
      <value>hdfs://localhost:9000</value>
  </property>
</configuration>

配置 mapped-site
$HADOOOP_HOME/etc/hadoop/mapped-site.xml 中配置

<configuration>
     <property>
         <name>mapred.job.tracker</name>
         <value>localhost:9010</value>
     </property>
</configuration>

配置 hdfs-site
$HADOOOP_HOME/etc/hadoop/hdfs-site.xml 中配置副本数

<configuration>
     <property>
         <name>dfs.replication</name>
         <value>1</value>
     </property>
</configuration>

配置 hadoop-env
$HADOOOP_HOME/etc/hadoop/hadoop-env.sh 中配置 JAVA_HOME

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_331.jdk/Contents/Home

初始化 HDFS NameNode

hdfs namenode -format

namenode 初始化

测试与验证

启动 hdfs

cd $HADOOP_HOME
../sbin/start-dfs.sh 

浏览器输入 http://localhost:9870,出现下面界面则代表启动成功

hdfs 管理界面

查看 hdfs report

hdfs dfsadmin -report

hdfs 报告

启动 yarn

cd $HADOOP_HOME
../sbin/start-yarn.sh 

浏览器输入 http://localhost:8088,出现下面界面则代表启动成功

yarn 管理界面

遇到问题及解决

  • 初始化 namenode 时提示 ERROR: JAVA_HOME @@HOMEBREW_JAVA@@ does not exist.
    $HADOOOP_HOME/etc/hadoop/hadoop-env.sh 中配置 JAVA_HOME,和系统保持一致即可

  • 提示 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

    1. 从 GitHub 下载相应的 native 库
    2. 将 lib/native 复制到 $HADOOP_HOME 目录内
    3. ~/.zshrc 添加下面配置并使用 source 令其生效
    export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib/native"
    

参考资料

mac 安装 Hadoop - 简书

【hadoop】在Mac m1下搭建安装hadoop环境(亲测有效版)_mac部署hadoop_小松不菜的博客-CSDN博客

Hadoop – Apache Hadoop 3.3.5

https://monday.blog.csdn.net/article/details/88189753

hadoop3.2.3 编译 native库(超详细,亲测成功)_hadoop native_兔帮大人的博客-CSDN博客

Index of /apache/hadoop/common/stable

Mac M1芯片本地安装 hadoop 集群填坑之路_喵王叭的博客-CSDN博客

mac安装Hadoop3.2.1教程(超详细)_http://localhost:9870/dfshealth.html_liemozhu的博客-CSDN博客

GitHub - healchow/hadoop-native-macos: The Hadoop native libraries for macOS

Mac下SSH免密登录localhost,error:Permission denied (publickey,password,keyboard-interactive). - 爱码网文章来源地址https://www.toymoban.com/news/detail-456479.html

到了这里,关于【Hadoop】Hadoop概念与实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 安全测试前置实践2-安全渗透测试

    作者:京东物流 陈维 本文我们将以围绕系统安全质量提升为目标,讲述在 功能安全测试安全渗透测试 上实践过程。 希望通过此篇文章,帮助大家更深入、透彻地了解安全测试。 安全前置扫描主要是识别白盒漏洞、黑盒漏洞问题,针对JSRC类问题,需要通过渗透测试进行漏洞

    2023年04月13日
    浏览(42)
  • 安全测试前置实践1-白盒&黑盒扫描

    作者:京东物流 陈维 G.J.Myers在《软件测试的艺术》中提出:从心理学角度来说,测试是一个为了寻找错误而运行程序的过程。 那么安全测试则是一个寻找系统潜在安全问题的过程,通过测试手段发现系统中可能存在的安全问题和风险,分析并进行优化,保障系统的安全质量

    2023年04月11日
    浏览(82)
  • GC的前置工作,聊聊GC是如何快速枚举根节点的

    本文已收录至GitHub,推荐阅读 👉 Java随想录 微信公众号:Java随想录 原创不易,注重版权。转载请注明原作者和原文链接 目录 什么是根节点枚举 根节点枚举存在的问题 如何解决根节点枚举的问题 安全点 安全区域 上篇文章中我们留下了个坑:「 根节点枚举 」,这篇文章就

    2024年02月12日
    浏览(72)
  • Hadoop(05) HBase2.5.5安装和编程实践指南

    HBase是一个基于Apache Hadoop的 分布式、可扩展、面向列的NoSQL数据库系统 。它被设计用于处理大规模数据集,并提供快速的读写访问性能。 以下是HBase的一些关键特点和概念: 列存储结构:HBase使用列存储结构,意味着数据被组织成行和列的形式。每个表可以有灵活的列族定义

    2024年02月03日
    浏览(48)
  • 软件工程:左移策略,决策和工作要前置,是提效的关键

    hi,我是熵减,见字如面。 在软件开发的中,你是否也遇到过类似的场景: 团队的目标是在1个月内,开发出一款新的社交媒体应用程序。由于时间比较紧,任务重,所以在开发的初期,方案设计、质量保障和安全性等上面,都是未能充分的考虑,以此来节省开发成本,并保

    2023年04月25日
    浏览(51)
  • 【spring源码系列-04】注解方式启动spring时refresh的前置工作

    Spring源码系列整体栏目 内容 链接地址 【一】spring源码整体概述 https://blog.csdn.net/zhenghuishengq/article/details/130940885 【二】通过refresh方法剖析IOC的整体流程 https://blog.csdn.net/zhenghuishengq/article/details/131003428 【三】xml配置文件启动spring时refresh的前置工作 https://blog.csdn.net/zhenghuishen

    2024年02月08日
    浏览(39)
  • 程序实现--对外接口可不仅仅是“给大佬递餐”,前置工作还是要做滴

    先看下面代码中的两个方法。 execute → doPaymentAuthResultQuery ,一个方法接收到参数后,直接将参数原样传递给另一个方法。 View Code 然后,我们把这段代码稍作改动,主要是变更了第二个被调方法 doPaymentAuthResultQuery 的参数。大家来比较一下,改动前后,哪个更优一些。 View

    2024年02月08日
    浏览(38)
  • 程序实现--对外接口可不仅仅是“给大佬递餐”,前置工作还是要做滴~

    先看下面代码中的两个方法。 execute → doPaymentAuthResultQuery ,一个方法接收到参数后,直接将参数原样传递给另一个方法。 View Code 然后,我们把这段代码稍作改动,主要是变更了第二个被调方法 doPaymentAuthResultQuery 的参数。大家来比较一下,改动前后,哪个更优一些。 View

    2024年02月08日
    浏览(46)
  • 【spring源码系列-03】xml配置文件启动spring时refresh的前置工作

    Spring源码系列整体栏目 内容 链接地址 【一】spring源码整体概述 https://blog.csdn.net/zhenghuishengq/article/details/130940885 【二】通过refresh方法剖析IOC的整体流程 https://blog.csdn.net/zhenghuishengq/article/details/131003428 【三】xml配置文件启动spring时refresh的前置工作 https://blog.csdn.net/zhenghuishen

    2024年02月08日
    浏览(54)
  • 程序设计---对外接口可不仅仅是“给大佬递餐”,前置工作还是要做滴~

    先看下面代码中的两个方法。 execute → doPaymentAuthResultQuery ,一个方法接收到参数后,直接将参数原样传递给另一个方法。 View Code 然后,我们把这段代码稍作改动,主要是变更了第二个被调方法 doPaymentAuthResultQuery 的参数。大家来比较一下,改动前后,哪个更优一些。 View

    2024年02月05日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包