mac上搭建 hadoop 伪集群

这篇具有很好参考价值的文章主要介绍了mac上搭建 hadoop 伪集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. hadoop介绍

Hadoop是Apache基金会开发的一个开源的分布式计算平台,主要用于处理和分析大数据。Hadoop的核心设计理念是将计算任务分布到多个节点上,以实现高度可扩展性和容错性。它主要由以下几个部分组成:

HDFS (Hadoop Distributed File System):HDFS是Hadoop的分布式文件系统,具有较高的读写速度,很好的容错性和可伸缩性,为海量的数据提供了分布式存储。其冗余数据存储的方式很好地保证了数据的安全性。

MapReduce:MapReduce是一种用于并行处理大数据集的软件框架(编程模型)。用户可在无需了解底层细节的情况下,编写MapReduce程序进行分析和处理分布式文件系统上的数据,MapReduce保证了分析和处理数据的高效性。

YARN (Yet Another Resource Negotiator):YARN是Hadoop2.0以后引入的另一个核心技术,它是一个任务调度和集群资源管理系统。

2. 部署

2.1 下载

官方下载日志如下
https://dlcdn.apache.org/hadoop/common/

mac上搭建 hadoop 伪集群,大数据,macos,hadoop,大数据

这里选择 最新的3.3.6

2.2 解压

检查版本

bin/hadoop version

mac上搭建 hadoop 伪集群,大数据,macos,hadoop,大数据

2.3 配置
  • 配置 java home etc/hadoop/hadoop-env.sh
    #注意修改为自己的
    export JAVA_HOME=/usr/local/develop/java/zulu-jdk17.0.7
  • 修改 etc/hadoop/core-site.xml:
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>
  • 修改 etc/hadoop/hdfs-site.xml:
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
</configuration>
  • 检查ssh
    Setup passphraseless ssh
    Now check that you can ssh to the localhost without a passphrase:
    ssh localhost
    
    If you cannot ssh to localhost without a passphrase, execute the following commands:
    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 0600 ~/.ssh/authorized_keys
    
    注意已经存在ssh key的话 就不要重写了 不然会影响到 你之前配置的ssh key
    mac上系统配置了 也不行的话 参考 https://blog.csdn.net/a15835774652/article/details/135572420

2.4 开始启动

  • 首先启动 hdfs 首次需要format文件系统 Format the filesystem:
bin/hdfs namenode -format
  • Start NameNode daemon and DataNode daemon:
sbin/start-dfs.sh
  • Browse the web interface for the NameNode; by default it is available at:
    默认的地址
    NameNode - http://localhost:9870/ http://localhost:9868/
    DataNode: localhost:9864/datanode.html

示例图
mac上搭建 hadoop 伪集群,大数据,macos,hadoop,大数据

  • 开启YARN
    You can run a MapReduce job on YARN in a pseudo-distributed mode by setting a few parameters and running ResourceManager daemon and NodeManager daemon in addition.

    The following instructions assume that 1. ~ 4. steps of the above instructions are already executed.

  • Configure parameters as follows:
    etc/hadoop/mapred-site.xml:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.application.classpath</name>
        <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
    </property>
    <!-- 设置历史任务的主机和端口 -->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>localhost:10020</value>
    </property>
    <!-- 设置网页端的历史任务的主机和端口 -->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>localhost:19888</value>
    </property>
</configuration>

etc/hadoop/yarn-env.sh (注意这个jdk8之后 必须要加 不然yarn启动会报错)

export JAVA_HOME=/usr/local/develop/java/zulu-jdk17.0.7
export YARN_RESOURCEMANAGER_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED"
export YARN_NODEMANAGER_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED"

etc/hadoop/yarn-site.xml:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ,HADOOP_MAPRED_HOME</value>
    </property>
    <!-- 开启日志聚集功能 --> 
    <property>
		<name>yarn.log-aggregation-enable</name>
	   	<value>true</value>
    </property>
    <!-- 设置日志聚集服务器地址 --> 
    <property>
		<name>yarn.log.server.url</name>
      	<value>localhost:19888/jobhistory/logs</value>
    </property>
    <!-- 设置日志保留时间为 7 天 --> 
    <property>
		<name>yarn.log-aggregation.retain-seconds</name>
	   	<value>604800</value>
    </property>
</configuration>
  • Start ResourceManager daemon and NodeManager daemon:
sbin/start-yarn.sh
  • Browse the web interface for the ResourceManager 浏览器查看
    ResourceManager - http://localhost:8088/
    mac上搭建 hadoop 伪集群,大数据,macos,hadoop,大数据

  • 启动/关闭 历史服务器
    jdk8以上环境需要修改 etc/hadoop/mapred-env.sh

    export JAVA_HOME=/usr/local/develop/java/zulu-jdk17.0.7
    export MAPRED_HISTORYSERVER_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED"
    
    # 启动
    mapred --daemon start historyserver
    # 关闭
    mapred --daemon stop historyserver  
    
  • 使用jps查看启动的应用
    mac上搭建 hadoop 伪集群,大数据,macos,hadoop,大数据
    查看HistoryServer控制台 : http://localhost:19888
    mac上搭建 hadoop 伪集群,大数据,macos,hadoop,大数据

  • 另外 在初始化之后 也可以直接启动 sbin/start-all.sh 这个命令会启动 hdfs 和 yarn (生产环境慎用)

  • 关闭 同理 sbin/stop-dfs.sh 停止 hdfs sbin/./stop-yarn.sh 停止yarn 也可以直接 sbin/stop-all.sh 来关闭hdfs和yarn (生产环境慎用)

以上就完成了 hadoop的伪集群搭建

下一步 我们来操作一把 hdfs 和 mapreduce

#调用hdfs 创建目录
./bin/hdfs dfs -mkdir -p /user/leon
# 向这个目录下写入一个测试文件
.bin/hdfs dfs -put ./etc/hadoop/hadoop-env.sh /user/leon

#测试下 任务调度
./bin/hdfs dfs -mkdir input
./bin/hdfs dfs -put etc/hadoop/*.xml input
#执行测试的调度任务
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep input output 'dfs[a-z.]+'
# 获取执行的结果
./bin/hdfs dfs -get output output
cat output/*

可能会遇到的问题

  • 启动yarn后 在jps中无法看到 resourcemanager

    在日志文件中 发现 yarn 启动失败了 Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not “opens java.lang” to unnamed module @4d7c417d

    在yarn-env.sh 添加配置即可

    export JAVA_HOME=/usr/local/develop/java/zulu-jdk17.0.7
    export YARN_RESOURCEMANAGER_OPTS=“–add-opens java.base/java.lang=ALL-UNNAMED”
    export YARN_NODEMANAGER_OPTS=“–add-opens java.base/java.lang=ALL-UNNAMED”

  • 烦人的警告信息

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

hadoop的bin都是在特定的机器上进行编译的,不一定能支持所有的机器,

解决办法:
首先在 hadoop-env,sh 文件添加参数

export HADOOP_HOME=/usr/local/develop/hadoop-3.3.6
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib/native"

然后可以关闭或者启动集群 进行测试下 如果告警日志没有 那就说明 hadoop的native包适用你的机器,如果还是提示 那就要编译源码了 但是网络上有 已经编译好的,如果有自己对应的版本的话 可以直接使用 GitHub 地址 https://github.com/silent-night-no-trace/mac-native-hadoop-library

good day !!!文章来源地址https://www.toymoban.com/news/detail-795669.html

到了这里,关于mac上搭建 hadoop 伪集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 大数据导论实验一:搭建Hadoop集群

    一、实验要求 (10%) 搭建Hadoop集群,要求至少是3个节点的真分布式集群系统,包含1个NameNode,两个DataNode。 集群的安装配置大致为如下流程: 1)准备3台客户机(关闭防火墙、静态IP、主机名称) 2)安装JDK 3)配置环境变量 4)安装Hadoop 5)配置环境变量 6)配置集群 7)单点

    2024年02月02日
    浏览(48)
  • 大数据平台搭建——hadoop集群(基于CentOS-7)的搭建

    目录 总序 一、下载相关软件的压缩包 二、配置虚拟机上主节点相关设置 1、修改主机用户名 2、进行ip地址映射 3、配置虚拟机网络设置   三、解压并配置java、hadoop环境 1、解压jdk、hadoop压缩文件  2、配置jdk、hadoop环境 3、修改hadoop中的相关配置文件信息(最重要) 四、克隆

    2024年02月06日
    浏览(47)
  • 2-1.Hadoop大数据集群搭建之---本地模式

    Hadoop运行模式主要包括三种:本地模式、伪分布式模式以及完全分布式模式。 1. 本地模式(Local/Standalone Mode) :在这种模式下,Hadoop作为一个独立的系统运行,不依赖于外部资源或网络连接。它可以在单个服务器上运行,数据通常存储在本地的HDFS(Hadoop Distributed FileSystem)

    2024年02月19日
    浏览(39)
  • 大数据Hadoop集群之超级详细的HBase搭建

    Hbase是基于Hadoop集群之上来搭建的 Hadoop有一些局限性: 做一些批量的数据处理,吞吐量比较高,但是它对随机查询、实时操作性能是不行的 HBase是NoSQL数据库的一种,它跟传统的RDBMS有很大的差别 不支持JOIN的,摒弃了关系型模型,而且在HBase中只有一种数据类型:byte[] HBase可

    2023年04月13日
    浏览(86)
  • 【大数据入门核心技术-Hadoop】(六)Hadoop3.2.1高可用集群搭建

    目录 一、Hadoop部署的三种方式 1、Standalone mode(独立模式) 2、Pseudo-Distributed mode(伪分布式模式) 3、Cluster mode(集群模式) 二、准备工作 1、先完成zk高可用搭建 2、/etc/hosts增加内容 3、各台服务器分别创建目录 4、关闭防火墙和禁用swap交换分区 5、三台机器间免密 6、安装

    2023年04月20日
    浏览(88)
  • 「大数据集群的搭建和使用」背景知识:大数据Hadoop生态圈介绍

    目录 一、Hadoop简介 二、Hadoop的运行模式 1. 单机模式 2. 伪分布式模式 3. 完全分布式模式 三、Hadoop生态圈组件 1. HDFS 2. MapReduce 3. YARN 4. Hive 5. Pig 6. HBase 7. HCatalog 8. Avro 9. Thrift 10. Drill 11. Mahout 12. Sqoop 13. Flume 14. Ambari 15. Zookeeper 四、Hadoop优缺点 五、Hadoop学习路径 hadoop = MapReduce+

    2024年02月03日
    浏览(47)
  • 大数据内容分享(九):Hadoop-生产集群搭建(完全分布式)

    目录 Hadoop运行模式——完全分布式 1、准备3台虚拟机(关闭防火墙、配置静态IP 和 主机名称) 2、安装JDK 和 Hadoop 并配置JDK和Hadoop的环境变量 3、配置完全分布式集群 4、集群配置 1)集群部署规划 2)配置文件说明 3)配置集群 5、集群启动 与 测试 1)workers的配置 2)启动集

    2024年02月21日
    浏览(100)
  • 大数据开发·关于虚拟机Hadoop完全分布式集群搭建教程

    官网链接 进入后网站如图,各位按需下载 官网链接 进入页面点击下载 再根据我们需要下载的软件进入下载页面 点击右侧红框内的免费授权页面获取免费许可 进入后如图,两者我们都需要所以都勾选,填写的邮箱用于接收下载链接,下载后进行安装即可 这里先和大家强调一

    2024年02月07日
    浏览(47)
  • 大数据集群搭建全部过程(Vmware虚拟机、hadoop、zookeeper、hive、flume、hbase、spark、yarn)

    1.网关配置(参照文档) 注意事项:第一台虚拟机改了,改为centos 101 ,地址为192.168.181.130 网关依然是192.168.181.2,但是一定要注意,它在D盘的文件名称是Hadoop 101,后面重新搭建的会命名文件夹为hadoop 101,hadoop 102和hadoop 103,然后发到一个总的文件夹hadoop_03里面去 VMnet8的IP地址一定

    2024年02月02日
    浏览(100)
  • 实操Hadoop大数据高可用集群搭建(hadoop3.1.3+zookeeper3.5.7+hbase3.1.3+kafka2.12)

    前言 纯实操,无理论,本文是给公司搭建测试环境时记录的,已经按照这一套搭了四五遍大数据集群了,目前使用还未发现问题。 有问题麻烦指出,万分感谢! PS:Centos7.9、Rocky9.1可用 集群配置 ip hostname 系统 CPU 内存 系统盘 数据盘 备注 192.168.22.221 hadoop1 Centos7.9 4 16 250G 19

    2024年02月03日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包