Mac 安装Hadoop教程(HomeBrew安装)

news2024/12/24 4:03:59

1. 引言

本教程旨在介绍在Mac 电脑上安装Hadoop,便于编程开发人员对大数据技术的熟悉和掌握。

2.前提条件

2.1 安装JDK

想要在你的Mac电脑上安装Hadoop,你必须首先安装JDK。具体安装步骤这里就不详细描述了。你可参考Mac 安装JDK8。

2.2 配置ssh环境

在Mac下配置ssh环境,防止后面启动hadoop时出现Connection refused 连接被拒绝的错误。

ssh localhost

执行上面命令后,终端如果出现如下问题:

ssh: connect to host localhost port 22: Connection refused

表示当前用户没权限,更改设置如下:
在这里插入图片描述
再次输入ssh localhost会提示输入密码,这个时候要重新配置一下ssh免密登录。
(1) 进入ssh的目录:

cd ~/.ssh

(2) 将id_rsa.pub中的内容拷贝到 authorized_keys中:

cat id_rsa.pub >> authorized_keys

3.安装与配置Hadoop

3.1 使用brew 安装 Hadoop

brew install hadoop

3.2 查看是否安装成功

hadoop version

如果出现如下信息表示安装Hadoop成功!
在这里插入图片描述

3.3 修改Hadoop 配置文件

3.3.1 进入Hadoop的目录

cd /opt/homebrew/Cellar/hadoop/3.4.0/libexec/etc/hadoop

3.3.2 修改core-site.xml

# 以文件方式打开配置文件
open -e core-site.xml

在core-site.xml文件的标签内添加如下内容:

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:8020</value>
  </property>
 
  <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/opt/homebrew/Cellar/hadoop/tmp</value>
  </property>
</configuration>

创建tmp文件夹,用来指定hadoop运行时产生文件的存放目录

mkdir /opt/homebrew/Cellar/hadoop/tmp

3.3.3 修改hdfs-site.xml

open -e hdfs-site.xml

在hdfs-site.xml文件的标签内添加如下内容:

<configuration>
   <property>
      <name>dfs.replication</name>
      <value>1</value>
    </property>
  
    <property>
       <name>dfs.permissions</name>
       <value>false</value>   
     </property>
   
    <property>
       <name>dfs.namenode.name.dir</name>
        <value>file:/opt/homebrew/Cellar/hadoop/tmp/dfs/name</value>
    </property>

     <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/opt/homebrew/Cellar/hadoop/tmp/dfs/data</value>
     </property>
</configuration>

创建dfs、name、data文件夹(存放数据)

mkdir /opt/homebrew/Cellar/hadoop/tmp/dfs
mkdir /opt/homebrew/Cellar/hadoop/tmp/dfs/name
mkdir /opt/homebrew/Cellar/hadoop/tmp/dfs/data 

关闭防火墙
在这里插入图片描述
在这里插入图片描述

3.3.4 修改mapred-site.xml

open -e mapred-site.xml
<configuration>
   <property>
      <name>mapreduce.framework.name</name>
       <value>yarn</value>
    </property>
  <property>
     <name>mapred.job.tracker</name>
     <value>localhost:9010</value>
  </property>
 
  <property>
     <name>yarn.app.mapreduce.am.env</name>
     <value>HADOOP_MAPRED_HOME=/opt/homebrew/Cellar/hadoop/3.4.0/libexec</value>
  </property>
  <property>
     <name>mapreduce.map.env</name>
     <value>HADOOP_MAPRED_HOME=/opt/homebrew/Cellar/hadoop/3.4.0/libexec</value>
  </property>
  <property>
     <name>mapreduce.reduce.env</name>
     <value>HADOOP_MAPRED_HOME=/opt/homebrew/Cellar/hadoop/3.4.0/libexec</value>
 </property>
</configuration>

3.3.5 修改yarn-site.xml

open -e yarn-site.xml
<configuration>

<!-- Site specific YARN configuration properties -->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>

  <property>
    <name>yarn.resourcemanager.address</name>
    <value>localhost:9000</value>
   </property> 
    
  <property>
    <name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
    <value>100</value>
  </property>
</configuration>

3.4 修改hadoop下/etc/hadoop/hadoop-env.sh 文件

cd /opt/homebrew/Cellar/hadoop/3.4.0/libexec/etc/hadoop
open -e hadoop-env.sh

只需要在该文件第52行后面添加如下配置:

cd /opt/homebrew/Cellar/hadoop/3.4.0/libexec/etc
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"

3.5 启动Hadoop并验证

cd /opt/homebrew/Cellar/hadoop/3.4.0/libexec/sbin
# 启动hadoop
./start-dfs.sh
# 暂停hadoop
./stop-dfs.sh

4. 浏览器中打开如下链接

http://localhost:8088/cluster

出现如下界面,说明hadoop安装成功!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2103799.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从腰子的营养成分来分析腰子能否“壮阳”,健康地吃腰子。

文章目录 引言I 腰子的营养优点缺点吃腰子无“壮阳”效果II 健康地吃腰子食用前充分清洗浸泡高尿酸及痛风群体慎吃适量吃引言 很多人认为动物内脏有着“以形补形”的好处,如吃动物腰子,能补肾、壮阳,这让很多人对“腰子”非常热爱。 腰子的营养到底如何?经常吃腰子对身体…

优思学院:FMEA与FTA故障树方法对比:工程师必须知道的关键点!

故障树分析&#xff08;Fault Tree Analysis, FTA&#xff09;以某个不希望发生的产品故障事件或严重的系统风险&#xff08;即顶事件&#xff09;为分析对象&#xff0c;通过自上而下的分层次因果逻辑分析&#xff0c;逐步找出导致故障事件的必要且充分的直接原因&#xff0c;…

日程安排组件DHTMLX Scheduler v7.1 - 支持RFC-5545格式

DHTMLX Scheduler是一个类似于Google日历的JavaScript日程安排控件&#xff0c;日历事件通过Ajax动态加载&#xff0c;支持通过拖放功能调整事件日期和时间&#xff0c;事件可以按天、周、月三个种视图显示。 此版本包括几个备受期待的特性&#xff0c;可以帮助用户增强DHTMLX…

基于php+vue+uniapp的医院预约挂号系统小程序

开发语言&#xff1a;PHP框架&#xff1a;phpuniapp数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;PhpStorm 系统展示 后台登录界面 管理员功能界面 用户管理 医生管理 科室分类管理 医生信息管理 预…

30s到0.8s,记录一次接口优化成功案例!

大家好&#xff0c;我是沐子&#xff0c;推荐一个程序员免费学习的编程网站 我爱编程网&#xff08;www.love-coding.com&#xff09; ** 场景** 在高并发的数据处理场景中&#xff0c;接口响应时间的优化显得尤为重要。本文将分享一个真实案例&#xff0c;其中一个数据量达到…

(5) 归并排序

归并排序 归并排序是一种分治策略的排序算法。它是一种比较特殊的排序算法&#xff0c;通过递归地先使每个子序列有序&#xff0c;再将两个有序的序列进行合并成一个有序的序列。 归并排序首先由著名的现代计算机之父 John_von_Neumann 在 1945 年发明&#xff0c;被用在了 E…

【Python】Python 读取Excel、DataFrame对比并选出差异数据,重新写入Excel

背景&#xff1a;我在2个系统下载出了两个Excel&#xff0c;现在通过对下载的2个Excel数据&#xff0c;并选出差异数据 从新写入一个新的Excel中 differences_url rC:\Users\LENOVO\Downloads\differences.xlsx; //要生成的差异Excel的位置及名称 df1_url rC:\Users\LENOVO\Dow…

终于知道如何简化时间序列的特征工程了!

在处理时间序列数据时&#xff0c;时间特征往往是最基础且独特的要素&#xff0c;我们的目标通常是预测某种未来的响应或结果。 不过在很多情况下&#xff0c;除了时间特征之外&#xff0c;我们还能获取到一系列其他相关的特征或变量。 时间序列数据中的特征工程涉及从原始时…

进程、线程、时间片

1、操作系统中的程序&#xff08;如微信&#xff09;在运行时&#xff0c;系统会产生一个或多个进程&#xff0c;往往是一个 2、进程内可以包含多个线程&#xff0c;有一个主线程&#xff0c;主线程结束时&#xff0c;进程结束&#xff0c;进而程序结束 3、线程是cpu调度执行…

sql日期函数

目录 sql日期函数 1.获取日期时间函数 1.1 获取当前日期时间 1.2 获取当前日期 1.3 获取当前时间 2.datetime数据类型格式化 3.字符串数据类型转换成datetime数据类型 4.增加和减少时间间隔 5. 日期相差天数&#xff08;天&#xff09; 6. 相差时间&#xff08;小时&am…

GitHub Star 数量前 11 的开源内部工具

欢迎回到我们的 GitHub Star 系列文章&#xff01; 在之前的文章中&#xff0c;我们深入探讨了 GitHub 上最受欢迎的开源低代码项目《GitHub Star 数量前 15 的开源低代码项目》和开源无代码工具《GitHub Star 数量前 12 的开源无代码工具》&#xff0c;获得了热烈的反馈。本周…

【嵌入式学习笔记】---- OLED屏幕工作原理

1 驱动芯片SSD1603简介 1.1 SSD1603芯片图 SSD1603是一款点阵显示屏控制器&#xff0c;可嵌入在屏幕中&#xff0c;用于执行接收数据、显示存储、扫描刷新等任务驱动接口&#xff1a;128个SEG引脚和64个COM引脚&#xff0c;对应 128 64 128\times 64 12864像素点阵显示屏内置…

增强RAG:选择最佳的嵌入和重排模型

对于如何选择最佳的嵌入模型和重排模型&#xff0c;给出了详细的步骤和代码。 在构建检索增强生成&#xff08;RAG&#xff09;管道时&#xff0c;关键组件之一是检索器。我们有多种嵌入模型可供选择&#xff0c;包括 OpenAI、CohereAI 和开源的sentence transformers。此外&a…

排序(插入,希尔,选择,堆,冒泡,快速,归并,计数)

本文中的Swap()函数都是下面这段代码 // 交换 void Swap(int* p1, int* p2) {int tmp *p1;*p1 *p2;*p2 tmp; }文章目录 常见排序&#xff1a;一.插入排序1.直接插入排序&#xff1a;2.希尔排序&#xff1a; 二.选择排序1.选择排序&#xff1a;2.堆排序&#xff1a; 三.交换排…

C语言编译的过程

文章目录 1. 预处理&#xff08;Preprocessing&#xff09;2. 编译&#xff08;Compilation&#xff09;3. 汇编&#xff08;Assembly&#xff09;4. 链接&#xff08;Linking&#xff09;总结 c语言通过编译器直接编译成机器语言程序。 C语言程序的编译过程通常分为四个主要步…

STM32G474之TIM1输出PWM信号支持互补输出,死区时间和刹车

STM32G474之TIM1输出PWM信号&#xff0c;互补输出&#xff0c;支持死区时间和刹车。PWM第1通道输出引脚配置&#xff1a;TIM1_CH1映射到PA8,TIM1_CH1N映射到PA7&#xff0c;TIM1_BKIN映射到PA6&#xff0c;用作刹车输入信号。当刹车时&#xff0c;停止PWM波形输出。在使用“比较…

海上8km远距离无线通信模组,无人船MESH组网,飞睿WiFi助力海洋船只通信无障碍

在蔚蓝无垠的海洋世界里&#xff0c;每一次科技的进步都如同海上的灯塔&#xff0c;为我们照亮了前行的道路。今天&#xff0c;我要为大家介绍的&#xff0c;就是一款能够打破传统通信界限的模块——飞睿智能8km远距离无线通信模组。它不仅在陆地通信中展现出强大的实力&#x…

4. 第一个3D案例—创建3D场景

入门Three.js的第一步&#xff0c;就是认识场景Scene、相机Camera、渲染器Renderer三个基本概念&#xff0c;接下来&#xff0c;咱们通过三小节课&#xff0c;大家演示“第一个3D案例”完成实现过程。 学习建议&#xff1a;只要你能把第一个3D案例搞明白&#xff0c;后面学习就…

幼儿园数字化探索:从入园适应到全面启智

金秋九月&#xff0c;全国各地幼儿园迎来开学季。幼儿园门口&#xff0c;一幅幅温情与成长的画面交织在一起。针对小班幼儿普遍存在的分离焦虑问题&#xff0c;幼儿园教师团队展现出了高度的专业性和人文关怀。据上海市普陀区汇丽幼儿园叶老师介绍&#xff0c;为有效缓解这一挑…

【技术分享】顶尖 GIS 技术

谈到 GIS&#xff0c;就不能不提到现代地理智能。是指基于 GIS、遥感和卫星定位技术的地理空间可视化、分析、决策、设计和控制的技术总称。地理智能是 GIS 区别于其他信息技术最重要的价值之一。它由地理可视化、地理决策、地理设计、地理控制四个层次组成。它们形成了一个地理…