MAC PRO OS 安装 Hadoop 3.3.1 [防止踩坑]

先安装好Homebrew

苹果电脑 常规安装脚本(推荐 完全体 几分钟安装完成):
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)

苹果电脑 极速安装脚本(精简版 几秒钟安装完成):
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" speed

其次装好JAVA

brew install java

安装maven和gmp

brew install maven
brew install gmp

设置ssh免密登录[后续执行start-dfs.sh需要SSH验证 为了简单起见不设密码]

ssh-keygen -t rsa一直回车后
cd ~/.ssh

将公钥写入~/.ssh/authorized_keys
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

打开共享
打开共享

进行测试
ssh localhost

安装Hadoop

brew install hadoop
为了保证网络通畅,请科学上网!用时大概2-3小时…
在这里插入图片描述

找到自己的JAVA_HOME路径

我的在usr/libexec/java_home
执行/usr/libexec/java_home即可得到路径
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
如有像我的Internet Plug-Ins中间有空格的请注意,加一斜杠转义
/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

配置Hadoop文件

1.修改存储hadoop元数据文档
vim /opt/homebrew/Cellar/hadoop/3.3.1/libexec/etc/hadoop/core-site.xml

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

2.修改hdfs-site.xml文档
vim /opt/homebrew/Cellar/hadoop/3.3.1/libexec/etc/hadoop/hdfs-site.xml

<configuration>
    <property>
         <name>dfs.replication</name>
         <value>1</value>
    </property>
    <property>
         <name>dfs.namenode.name.dir</name>
         <value>file:/opt/homebrew/Cellar/hadoop/3.3.1/libexec/tmp/dfs/name</value>
    </property>
    <property>
         <name>dfs.datanode.data.dir</name>
         <value>file:/opt/homebrew/Cellar/hadoop/3.3.1/libexec/tmp/dfs/data</value>
    </property>
</configuration>

3.设置Hadoop环境变量
vim ~/.bash_profile

export HADOOP_HOME=/opt/homebrew/Cellar/hadoop/3.3.1/libexec
export HADOOP_COMMON_HOME=$HADOOP_HOME
export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:/opt/homebrew/Cellar/scala/bin

执行source ~/.bash_profile更新环境变量。

4.配置yarn文件yarn-site.xml
vim /opt/homebrew/Cellar/hadoop/3.3.1/libexec/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_MAPRED_HOME</value>
  </property>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>localhost</value>
  </property>
  <property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>20480</value>
  </property>
  <property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>2048</value>
  </property>
  <property>
    <name>yarn.nodemanager.vmem-pmem-ratio</name>
    <value>2.1</value>
  </property>
</configuration>

4.配置yarn文件yarn-site.xml
vim /opt/homebrew/Cellar/hadoop/3.3.1/libexec/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_MAPRED_HOME</value>
  </property>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>localhost</value>
  </property>
  <property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>20480</value>
  </property>
  <property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>2048</value>
  </property>
  <property>
    <name>yarn.nodemanager.vmem-pmem-ratio</name>
    <value>2.1</value>
  </property>
</configuration>

5.配置yarn文件mapred-site.xml
vim /opt/homebrew/Cellar/hadoop/3.3.1/libexec/etc/hadoop/mapred-site.xml

<configuration>
	<property> 
	  <name>mapreduce.framework.name</name>
	  <value>yarn</value>
	</property>
</configuration>

MAC⚠️还需配置如下:
6.cp lib/native库 至 libexec目录
这样作为java为执行语言的hadoop就有了编译器
否则在start-dfs的时候会出现报错
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable。

解决办法:

  1. 先下载lib/native
  2. 然后copy这个文件夹至/usr/local/Cellar/hadoop/3.1.1/libexec
  3. 配置 /usr/local/Cellar/hadoop/3.1.1/libexec/etc/hadoop/hadoop-env.sh
export JAVA_HOME=你的java_home路径(见上面:找自己的JAVA_HOME路径的方式)
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native" 

start Hadoop

依次执行以start namenode
cd /opt/homebrew/Cellar/hadoop/3.3.1/bin
hdfs namenode -format
(⚠️:namenode初始化一次就好,也就是上面两个命令无论你开hadoop几次,都执行一次就好! 如果多次执行就需要你把/opt/homebrew/Cellar/hadoop/3.3.1/libexec/tmp/dfs/data 和 /opt/homebrew/Cellar/hadoop/3.3.1/libexec/tmp/dfs/name里的current文件夹删除掉!!)

start:
cd /opt/homebrew/Cellar/hadoop/3.3.1/sbin
./start-dfs.sh

网页查看是否成功
http://localhost:9870/dfshealth.html#tab-overview

stop:
./stop-all.sh

start yarn

依次执行
cd /opt/homebrew/Cellar/hadoop/3.3.1/sbin
./start-yarn.sh

网页查看是否成功
http://localhost:8088/cluster

文件查看与管理

文件管理

如果想要具体的可视化工具可安装HUE

详见:https://zhuanlan.zhihu.com/p/135331195

其它

在此感谢如下文章:
Mac安装Hadoop
https://blog.csdn.net/weixin_44864748/article/details/121066700
Mac的Hadoop开发环境搭建
https://www.jianshu.com/p/3f1e0a93c679
Warning: Permanently added the ECDSA host key
https://blog.csdn.net/qq_16069927/article/details/88963530
Mac修改环境变量路径中带空格的处理
https://blog.csdn.net/taoerchun/article/details/110938758
Mac安装Hadoop
https://blog.csdn.net/vbirdbest/article/details/88189753

如需转载请把以上感谢的文章加上😊

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值