参考链接:
spark和scala版本对应关系
jdk安装指南
scala安装指南
spark安装存放目录以及profile设置类似于scala安装,没有参照spark安装指南里的
spark安装指南
Mac中jdk8和jdk11切换
maven的安装和配置环境变量和scala、spark的一样
hadoop的安装和配置环境变量和scala、spark的也一样
环境变量配置如下图所示。
- hadoop伪分布式的配置
- hadoop的windows需要winutils,linux不需要。
- 配置一下 /usr/local/share/hadoop/etc/hadoop/hadoop-env.cmd
set JAVA_HOME=/usr/java/jdk1.8.0_261
- 配置一下/usr/local/share/hadoop/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
-
- 配置一下/usr/local/share/hadoop/etc/hadoop/hdfs-site.xml, 当然你得先把D盘下的目录建立起来。配置到D盘了,和windows共用一个存储
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/mnt/d/hadoop/data/dfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/mnt/d/hadoop/data/dfs/datanode</value>
</property>
</configuration>
-
- 配置一下/usr/local/share/hadoop/etc/hadoop/mapred-site.xml, mapred-site.xml是复制mapred-site.xml.template,去掉template
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
-
- 配置一下/usr/local/share/hadoop/etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
启动hadoop
hadoop namenode -format //格式化hdfs
cd xx/hadoop/sbin //进入到sbin目录下
./start-dfs.cmd //先启动hdfs
./start-yarn.cmd //再启动yarn
但是启动的时候会报错
我怀疑是ubuntu子系统的坑,mac应该没相应的问题。
接下来试试mac安装以及破解IDEA(见onenote)
HDFS的UI界面
http://localhost:50070/
YARN的UI界面
http://localhost:8088/
这两个界面参考的是这篇hadoop还不错
破案了,mac也是出现Ubuntu同样的报错,应该是它不能和windows一样启动的时候跳出两个窗口的原因,要分四步启动,如图所示:
注意
- 格式化hdfs,只一次即可,因为会删除里面的数据,所以线上机不要格式化
- Mac的jdk安装没有按照linux的教程,按照的是mac的
- 修改hadoop-env.cmd里的java路径是
- jdk8和jdk11切换之后,java -version两者都是显示的java8,但是实际上确实是切换了,看启动scala时,报错了,因为java11和scala2.11不兼容。
- 关掉将start变成stop即可