Mac m2电脑上安装单机Hadoop(伪集群)

1. 引言

本教程旨在介绍在Mac 电脑上安装Hadoop

2. 前提条件

2.1 安装JDK

Mac电脑上安装Hadoop,必须首先安装JDK,并配置环境变量(此处不做详细描述)

2.2 配置ssh环境

关闭防火墙

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

bash 复制代码
ssh localhost

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

ssh: connect to host localhost port 22: Connection refused

表示当前用户没权限,更改设置如下:

再次输入ssh localhost会提示输入密码,这个时候要重新配置一下ssh免密登录。

(1) 进入ssh的目录:

bash 复制代码
cd ~/.ssh

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

bash 复制代码
cat id_rsa.pub >> authorized_keys

3.安装与配置Hadoop

3.1 使用brew 安装 Hadoop

bash 复制代码
brew install hadoop

3.2 查看是否安装成功

复制代码
hadoop version

3.3 修改Hadoop 配置文件

3.3.1 进入Hadoop的目录
bash 复制代码
cd /opt/homebrew/Cellar/hadoop/3.4.0/libexec/etc/hadoop
3.3.2 修改core-site.xml
bash 复制代码
# 以文件方式打开配置文件
open -e core-site.xml

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

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运行时产生文件的存放目录

bash 复制代码
mkdir /opt/homebrew/Cellar/hadoop/tmp
3.3.3 修改hdfs-site.xml
bash 复制代码
open -e hdfs-site.xml

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

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文件夹(存放数据)

bash 复制代码
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
bash 复制代码
open -e mapred-site.xml

在配置文件中添加一下内容,注意配置中的路径

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.1/libexec</value>
  </property>
  <property>
     <name>mapreduce.map.env</name>
     <value>HADOOP_MAPRED_HOME=/opt/homebrew/Cellar/hadoop/3.4.1/libexec</value>
  </property>
  <property>
     <name>mapreduce.reduce.env</name>
     <value>HADOOP_MAPRED_HOME=/opt/homebrew/Cellar/hadoop/3.4.1/libexec</value>
 </property>
</configuration>
3.3.5 修改yarn-site.xml
bash 复制代码
open -e yarn-site.xml

在配置文件中添加一下配置:

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-env.sh 文件

复制代码
cd /opt/homebrew/Cellar/hadoop/3.4.0/libexec/etc/hadoop
open -e hadoop-env.sh

找到文件中 export JAVA_HOME该行,打开注释,并添加Java安装路径,如下:

4.启动Hadoop

4.1 对文件系统进行格式化

bash 复制代码
cd /opt/homebrew/Cellar/hadoop/3.4.1/libexec/sbin
hdfs namenode -format

出现以下信息代表成功

4.2 执行HDFS启动命令

bash 复制代码
./start-dfs.sh

访问http://localhost:9870出现一下页面代表成功

4.3 执行YARN调度系统启动

bash 复制代码
./start-yarn.sh

访问http://localhost:8088/cluster出现一下页面代表成功

相关推荐
顧棟2 分钟前
【Yarn实战】Yarn 2.9.1滚动升级到3.4.1调研与实践验证
hadoop·yarn
铭毅天下6 分钟前
Elasticsearch 到 Easysearch 数据迁移 5 种方案选型实战总结
大数据·elasticsearch·搜索引擎·全文检索
跨境小新8 分钟前
Facebook广告投放:地域定向流量不精准?x个优化指南
大数据·facebook
ZKNOW甄知科技1 小时前
客户案例 | 派克新材x甄知科技,构建全场景智能IT运维体系
大数据·运维·人工智能·科技·低代码·微服务·制造
LinXunFeng2 小时前
如何舒适地沉浸式编程,这是我的答案
windows·程序员·mac
币须赢2 小时前
688758赛分科技 阴上阴形态 洗盘上涨?
大数据
学掌门2 小时前
大数据知识合集之预处理方法
大数据
D明明就是我2 小时前
Hive 拉链表
数据仓库·hive·hadoop
Elastic 中国社区官方博客4 小时前
Elasticsearch 推理 API 增加了开放的可定制服务
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
蒙特卡洛的随机游走4 小时前
Spark核心数据(RDD、DataFrame 和 Dataset)
大数据·分布式·spark