Spark的job都是JVM(Java Virtual Machine)的进程,所以在安装Spark之前需要确保已经安装好了JDK(Java Developer Kit)。
在终端Shell输入:java -version
若返回某个Java的版本,代表已经OK了;
不然,需要自己上网下载安装JDK,方法如下:
1)登陆Oracle官网的下载页面:https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html
2)选择自己电脑版本的安装包下载并且安装
3)找到自己的JDK根目录
JDK根目录:/Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home (这个很重要,后面也会用到的)
(一般说上面这里,不然自己打开Finder-设备-Macintosh Hd-资源库-Java—去找)
4)打开终端Shell
touch .bash_profile
创建一个.bash_profile的隐藏配置文件open -e .bash_profile
编辑现有环境变量5)打开编辑窗口,输入如下配置,然后保存关闭该窗口
JAVA_HOME= JDK根目录
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH
6)重新打开终端测试一下
如果出现下面的情况,代表成功,不然就需要检查一下步骤是否出错。
因为需要用到Python来操作,所以需要确保安装了Python环境,同理打开终端,输入:Python3
,若返回Python shell则OK,不然也需要安装。
相信大多数同学对Python比较熟悉了,电脑都安装了Python3,这里就不展开说明安装方法了,若是新同学可以上网查看教程哦。
1)配置ssh
配置ssh就是为了能够实现免密登录,这样方便远程管理Hadoop并无需登录密码在Hadoop集群上共享文件资源。
1.1 终端输入:ssh localhost
,输入密码就OK。
Bug1:ssh: connect to host localhost port 22: Connection refused Solution:选择系统偏好设置->共享->点击远程登录然后再输入命令ssh localhost发现已经解决问题
1.2 终端输入:ssh-keygen -t rsa -P ''
一直按enter即可。
1.3 终端输入:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
授权你的公钥到本地,以后可以无需密码实现登录了。
2)下载安装Hadoop
直接用brew命令安装,安装完毕后,如果在 /usr/local/Cellar/ 目录下出现了Hadoop代表安装成功,不然重新试多一次。
终端输入:brew install hadoop
3)配置Hadoop
3.1 修改hadoop-env.sh文件
进入Hadoop的安装目录:/usr/local/Cellar/hadoop/3.1.2/libexec/etc/hadoop
打开hadoop-env.sh文件,定位到:
export HADOOP_OPTS="-Djava.net.preferIPv4Stack=true,
把内容修改为:(JAVA_HOME就是JDK的根目录地址)
export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home"
export HADOOP_CONF_DIR=/usr/local/Cellar/hadoop/3.1.2/libexec/etc/hadoop
3.2 配置hdfs地址和端口
进入Hadoop的安装目录:/usr/local/Cellar/hadoop/3.1.2/libexec/etc/hadoop
找到core-site.xml文件,定位到:<configuration></configuration>
把它替换为:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/Cellar/hadoop/hdfs/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:8020</value>
</property>
</configuration>
3.3 配置mapreduce中jobtracker的地址和端口
进入Hadoop的安装目录:/usr/local/Cellar/hadoop/3.1.2/libexec/etc/hadoop
找到mapred-site.xml.template文件,将文件重命名为mapred-site.xml
,定位到<configuration></configuration>
把它替换为:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:8021</value>
</property>
</configuration>
3.4 修改hdfs备份数
相同目录下,打开hdfs-site.xml文件,定位到<configuration></configuration>
把它替换为:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
4)格式化HDFS
相当于初始化文件系统,打开终端输入:hdfs namenode -format
如果出现下面的情况代表成功
5)配置Hadoop环境变量
在~/.bash_profile文件下配置:
export HADOOP_HOME=/usr/local/Cellar/hadoop/3.1.2
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
~/.bash_profile文件默认在/Users/YourMacUserName路径下。如果这个路径下没有该文件,请按下面的方式创建:
5.1 启动终端
5.2 进入当前用户的home目录(默认就是):cd ~ 或 cd /Users/YourMacUserName
5.3 输入touch .bash_profile
5.4 编辑 .bash_profile 文件
open -e .bash_profile (如果只是查看,直接使用open .bash_profile)
5.5 配置环境变量,保存关闭
5.6 更新刚配置的环境变量:source .bash_profile
6)启动关闭Hadoop服务
启动/关闭HDSF服务,终端输入:
# 启动HDSF服务
./start-dfs.sh
# 关闭HDSF服务
./stop-dfs.sh
终端输入:brew install scala
一直等待,直到安装完毕。然后在终端输入Scala -version
,如果出现了:
Scala code runner version 2.12.8 -- Copyright 2002-2018, LAMP/EPFL and Lightbend, Inc.
就代表成功了,接下来配置一下环境变量,打开.bash_profile文件,添加:
export SCALA_HOME=/usr/local/Cellar/scala/2.12.8
export PATH=$PATH:$SCALA_HOME/bin
打开Spark的官网(https://spark.apache.org/downloads.html),选择合适自己版本的Spark安装包,下载完直接双击压缩包就会解压(建议安装一个解压软件),将其重命名为spark放到/usr/local
下面。
继续打开.bash_profile文件,添加:
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin
安装完毕,在终端输入:spark-version
,如果出现了下面的情况,代表OK了。