当前位置: 首页 > news >正文

MacOS本地安装Hadoop3

金翅大鹏盖世英,展翅金鹏盖世雄。

穿云燕子锡今鸽,踏雪无痕花云平。

---------------- 本文密钥:338 -----------------

本文描述了在macbook pro的macos上安装hadoop3的过程,也可以作为在任何类linux平台上安装hadoop3借鉴。

1、准备工作

确保已安装jdk,本地已安装jdk1.8.0_221。

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

下载Hadoop-3.0.0:

https://archive.apache.org/dist/hadoop/common/hadoop-3.0.0/hadoop-3.0.0.tar.gz

放到安装目录,我使用的是:/user/local/

解压:tar zxf hadoop-3.0.0.tar.gz

方便后续维护,建立符号链接:ln -s hadoop-3.0.0 hadoop

2、在~/.bashrc文件中配置HADOOP_HOME

export HADOOP_HOME=/user/local/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_COMMON_HOME=$HADOOP_HOME

3、配置本地ssh免密登录

ssh localhost    # 若成功,则已配置,跳过cd ~/.ssh
# 生成秘钥文件
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa# 将公钥文件加入授权文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys#测试一下
ssh localhost

4、修改core-site.xml

<confiquration><property><name>hadoop.tmp.dir</name><value>/user/local/hadoop/tmp</value><description>A base for other temporary directories<description></property><property><name>fs.default.name</name><value>hdfs://localhost:9000</value></property>
</configuration>

5、修改mapred-site.xml

<configuration><property><name>mapredjob.tracker</name><value>localhost:9010</value></property><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>

6、修改hdfs-site.xml

<configuration><!--伪分布式配置--><property><name>dfs.replication</name><value>1</value></property>
</configuration>

7、修改yarn-site.xml

<configuration><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!--集群配置--><!--<property><name>yarn.resourcemanager.hostname</name><value>master</value></property>-->
</configuration>

8、修改hadoop-env.sh

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/
export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="
export HADOOP_OS_TYPE=${HADOOP_OS_TYPE:-$(uname -s)}
# Under certain conditions, Java on OS X will throw SCDynamicStore errors
# in the system logs.
# See HADOOP-8719 for moreinformation. If one needs Kerberos
# support on 0S Xone will want to change/remove this extra bit
case ${HADOOP_OS_TYPE} inDarwin*)export HADOOP_OPTS="${HADOOP_OPTS} -Djava.security.krb5.realm= "export HADOOP_OPTS="${HADOOP_OPTS} -Djava.security.krb5.kdc= "export HADOOP_OPTS="${HADOOP_OPTS} -Djava.security.krb5.conf= ";;
esac

9、启动

cd $HADOOP_HOME
# 格式化namenode
./bin/hdfs namenode -format./sbin/start-all.sh

成功:

图片

检查jps:

图片

检查管理页面:

Hadoop管理页面:http://localhost:8088/cluster

NameNode:http://localhost:9870/

DataNode:http://localhost:9864/

HDFS目录:http://localhost:9870/explorer.html#/

相关问题

问题1:启动时start-all.sh出现错误

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

解决方法:

需要下载hadoop源码包:hadoop-3.0.0-src.tar.gz,重新编译后,将安全库拷贝到hadoop目录中:

tar zxf hadoop-3.0.0-src.tar.gz
cd hadoop-3.0.0-src
mvn package -Pdist,native -DskipTests -Dtar -Dmaven.javadoc.skip=true# 成功后
cp ./hadoop-common-project/hadoop-common/target/native/target/usr/local/lib/libhadoop.* ../hadoop-3.0.0/lib/native/
cd ../hadoop-3.0.0

问题2:启动时namenode错误

WARN org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Encountered exception loading fsimage

org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /user/local/hadoop/tmp/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible

解决方法:

执行一下格式化namenode命令:

./bin/hdfs namenode -format

其他错误如目录权限等问题,具体情况具体分析。

相关文章:

MacOS本地安装Hadoop3

金翅大鹏盖世英&#xff0c;展翅金鹏盖世雄。 穿云燕子锡今鸽&#xff0c;踏雪无痕花云平。 ---------------- 本文密钥&#xff1a;338 ----------------- 本文描述了在macbook pro的macos上安装hadoop3的过程&#xff0c;也可以作为在任何类linux平台上安装hadoop3借鉴。 …...

十五章:使用类别峰值响应的弱监督实例分割

0.摘要 目前&#xff0c;使用图像级别标签而不是昂贵的像素级掩码进行弱监督实例分割的研究还未得到充分探索。本文通过利用类别峰值响应来实现一个分类网络&#xff0c;用于提取实例掩码&#xff0c;来解决这个具有挑战性的问题。只通过图像标签的监督下&#xff0c;完全卷积的…...

自然语言处理从入门到应用——LangChain:模型(Models)-[聊天模型(Chat Models):基础知识]

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 聊天模型是语言模型的一种变体。虽然聊天模型在内部使用语言模型&#xff0c;但它们公开的接口略有不同。它们不是提供一个“输入文本&#xff0c;输出文本”的API&#xff0c;而是提供一个以“聊天消息”作为输入和输…...

Asp.Net 使用Log4Net (SQL Server)

Asp.Net 使用Log4Net (SQL Server) 1. 创建数据库表 首先&#xff0c;在你的SQL Server数据库中创建一个用于存储日志的表。以下是一个简单的表结构示例&#xff1a; CREATE TABLE [dbo].[Logs]([Id] [INT] IDENTITY(1,1) PRIMARY KEY,[Date] [DATETIME] NOT NULL,[Thread] …...

Vue2基础五、工程化开发

零、文章目录 Vue2基础五、工程化开发 1、工程化开发和脚手架 &#xff08;1&#xff09;开发 Vue 的两种方式 核心包传统开发模式&#xff1a;基于 html / css / js 文件&#xff0c;直接引入核心包&#xff0c;开发 Vue。工程化开发模式&#xff1a;基于构建工具&#xf…...

发现 ModStartCMS:构建梦想网站的全新选择

亲爱的网站开发者和内容创作者们&#xff0c; 在当今数字化的时代&#xff0c;网站已经成为展示品牌、传递信息和吸引目标受众的关键渠道。为了帮助您更高效地打造梦想中的网站&#xff0c;我们荣幸地向您介绍 ModStartCMS&#xff0c;这是一款基于 Laravel 的全新模块化内容管…...

大数据Flink(五十二):Flink中的批和流以及性能比较

文章目录 Flink中的批和流以及性能比较 ​​​​​​​​​​​​​​一、Flink中的批和流...

【MySQL】MySQL索引、事务、用户管理

20岁的男生穷困潦倒&#xff0c;20岁的女生风华正茂&#xff0c;没有人会一直风华正茂&#xff0c;也没有人会一直穷困潦倒… 文章目录 一、MySQL索引特性&#xff08;重点&#xff09;1.磁盘、OS、MySQL&#xff0c;在进行数据IO时三者的关系2.索引的理解3.聚簇索引&#xff0…...

函数重载与引用

文章目录 一、函数重载1. 重载规则2.重载列子3.函数名修饰规则 二、引用1.本质2.特性1. 引用必须在定义时初始化2 . 一个变量可以有多个引用3 . 引用一旦引用一个实体&#xff0c;就不能引用其他实体 3.引用例子4.引用的权限5.效率比较6.指针跟引用的区别 一、函数重载 函数重…...

如何快速模拟一个后端 API

第一步&#xff1a;创建一个文件夹&#xff0c;用来存储你的数据 数据&#xff1a; {"todos": [{ "id": 1, "text": "学习html44", "done": false },{ "id": 2, "text": "学习css", "…...

DLA :pytorch添加算子

pytorch的C extension写法 这部分主要介绍如何在pytorch中添加自定义的算子&#xff0c;需要以下cuda基础。就总体的逻辑来说正向传播需要输入数据&#xff0c;反向传播需要输入数据和上一层的梯度&#xff0c;然后分别实现这两个kernel,将这两个kernerl绑定到pytorch即可。 a…...

Java特殊时间格式转化

平常开发过程当中&#xff0c;我们可能会见到有的日期格式是这样的。 1、2022-12-21T12:20:1608:00 2、2022-12-21T12:20:16.0000800 3、2022-12-21T12:20:16.00008:00下面来说一下这种时间格式怎么转换 第一种&#xff1a;2022-12-21T12:20:1608:00 代码如下&#xff1a; p…...

在CSDN学Golang云原生(Kubernetes声明式资源管理Kustomize)

一&#xff0c;生成资源 在 Kubernetes 中&#xff0c;我们可以通过 YAML 或 JSON 文件来定义和创建各种资源对象&#xff0c;例如 Pod、Service、Deployment 等。下面是一个简单的 YAML 文件示例&#xff0c;用于创建一个 Nginx Pod&#xff1a; apiVersion: v1 kind: Pod m…...

后台管理系统中常见的三栏布局总结:使用element ui构建

vue2 使用 el-menu构建的列表布局&#xff1a; 列表可以折叠展开 <template><div class"home"><header><el-button type"primary" click"handleClick">切换</el-button></header><div class"conte…...

SpringCloud学习路线(10)——分布式搜索ElasticSeach基础

一、初识ES &#xff08;一&#xff09;概念&#xff1a; ES是一款开源搜索引擎&#xff0c;结合数据可视化【Kibana】、数据抓取【Logstash、Beats】共同集成为ELK&#xff08;Elastic Stack&#xff09;&#xff0c;ELK被广泛应用于日志数据分析和实时监控等领域&#xff0…...

CSS翻转DIV展示顺序

项目国际化开发中&#xff0c;阿拉伯语是从右往左读的&#xff0c;在做样式兼容时&#xff0c;一些表单代码块也需要 label在右&#xff0c;表单在左。如果整个项目改div的话代价太大了&#xff0c;所以需要做样式翻转。 html <div class"container"><div …...

python 源码中 PyId_stdout 如何定义的

python 源代码中遇到一个变量名 PyId_stdout&#xff0c;搜不到在哪里定义的&#xff0c;如下只能搜到引用的位置&#xff08;python3.8.10&#xff09;&#xff1a; 找了半天发现是用宏来构造的声明语句&#xff1a; // filepath: Include/cpython/object.h typedef struct …...

Mybatis映射关系mybatis核心配置文件

目录 1.Mybatis映射关系 1.1一对一映射之resultType 1.2resultMap处理映射关系 2.mybatis核心配置文件 1. properties&#xff08;属性&#xff09; 2. settings&#xff08;设置&#xff09; 3.typeAliases&#xff08;类型别名&#xff09; 4.environments&#xff0…...

Mybatis中limit用法与分页查询

错误示范 错误示范一&#xff1a; <select id"fileInspectionList" resultType"map">SELECT <include refid"aip_n_static_cols"/>FROM sys_inspection_form WHERE<if test" type admin.toString() ">dept_id …...

libcomposite: Unknown symbol config_group_init (err 0)

加载libcomposite.ko 失败 问题描述 如图&#xff0c;在做USB OTG 设备模式的时候需要用到libcomposite.ko驱动&#xff0c;加载失败了。 原因&解决方法 有一个依赖叫configfs.ko的驱动没有安装。可以从内核代码的fs/configfs/configfs.ko中找到这个驱动。先加载confi…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

手机平板能效生态设计指令EU 2023/1670标准解读

手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读&#xff0c;综合法规核心要求、最新修正及企业合规要点&#xff1a; 一、法规背景与目标 生效与强制时间 发布于2023年8月31日&#xff08;OJ公报&…...

抽象类和接口(全)

一、抽象类 1.概念&#xff1a;如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象&#xff0c;这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法&#xff0c;包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中&#xff0c;⼀个类如果被 abs…...

Ubuntu系统复制(U盘-电脑硬盘)

所需环境 电脑自带硬盘&#xff1a;1块 (1T) U盘1&#xff1a;Ubuntu系统引导盘&#xff08;用于“U盘2”复制到“电脑自带硬盘”&#xff09; U盘2&#xff1a;Ubuntu系统盘&#xff08;1T&#xff0c;用于被复制&#xff09; &#xff01;&#xff01;&#xff01;建议“电脑…...

前端调试HTTP状态码

1xx&#xff08;信息类状态码&#xff09; 这类状态码表示临时响应&#xff0c;需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分&#xff0c;客户端应继续发送剩余部分。 2xx&#xff08;成功类状态码&#xff09; 表示请求已成功被服务器接收、理解并处…...

SQLSERVER-DB操作记录

在SQL Server中&#xff0c;将查询结果放入一张新表可以通过几种方法实现。 方法1&#xff1a;使用SELECT INTO语句 SELECT INTO 语句可以直接将查询结果作为一个新表创建出来。这个新表的结构&#xff08;包括列名和数据类型&#xff09;将与查询结果匹配。 SELECT * INTO 新…...

解密鸿蒙系统的隐私护城河:从权限动态管控到生物数据加密的全链路防护

摘要 本文以健康管理应用为例&#xff0c;展示鸿蒙系统如何通过细粒度权限控制、动态权限授予、数据隔离和加密存储四大核心机制&#xff0c;实现复杂场景下的用户隐私保护。我们将通过完整的权限请求流程和敏感数据处理代码&#xff0c;演示鸿蒙系统如何平衡功能需求与隐私安…...

开源项目实战学习之YOLO11:12.6 ultralytics-models-tiny_encoder.py

👉 欢迎关注,了解更多精彩内容 👉 欢迎关注,了解更多精彩内容 👉 欢迎关注,了解更多精彩内容 ultralytics-models-sam 1.sam-modules-tiny_encoder.py2.数据处理流程3.代码架构图(类层次与依赖)blocks.py: 定义模型中的各种模块结构 ,如卷积块、残差块等基础构建…...