1. 下载安装Hadoop
这时候brew的好处就体现出来了,你无需到Hadoop官网去找下载链接,只要在命令终端输入brew install hadoop等命令执行完,你就可以看到在/usr/lcoal/Cellar目录下就有了hadoop目录,表示安装成功。(当然命令执行过程中会因为网络或其他原因中断,这时候你只需要重新执行一次brew install hadoop即可)
2. 配置Hadoop
2.1 进入安装目录/usr/local/Cellar/hadoop/2.8.0/libexec/etc/hadoop,找到并打开hadoop-env.sh文件,将
export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"
改为
export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home"
(java_home请写上你本机上jdk安装的位置)
2.2 配置hdfs地址和端口
进入目录/usr/local/Cellar/hadoop/2.8.0/libexec/etc/hadoop,打开core-site.xml将
2.3 配置mapreduce中jobtracker的地址和端口
在相同的目录下,你可以看到一个mapred-site.xml.template首先将文件重命名为mapred-site.xml,同样将
2.4 修改hdfs备份数
相同目录下,打开hdfs-site.xml加上
3. 格式化HDFS
这个操作相当于一个文件系统的初始化,执行命令hdfs namenode -format
在终端最终会显示成功
17/05/06 15:51:29 INFO namenode.FSImageFormatProtobuf: Saving image file /usr/local/Cellar/hadoop/hdfs/tmp/dfs/name/current/fsimage.ckpt_0000000000000000000 using no compression
17/05/06 15:51:29 INFO namenode.FSImageFormatProtobuf: Image file /usr/local/Cellar/hadoop/hdfs/tmp/dfs/name/current/fsimage.ckpt_0000000000000000000 of size 322 bytes saved in 0 seconds.
17/05/06 15:51:29 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
17/05/06 15:51:29 INFO util.ExitUtil: Exiting with status 0
17/05/06 15:51:29 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at jackies-macbook-pro.local/192.168.*.*
************************************************************/
4. 配置Hadoop环境变量
因为我用的是iTerm2,所以打开~/.zshrc添加
export HADOOP_HOME=/usr/local/Cellar/hadoop/2.8.0
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
再执行source ~/.zhsrac以确保配置生效
配置这个是方便在任意目录下全局开启关闭hadoop相关服务,而不需要到/usr/local/Cellar/hadoop/2.8.0/sbin下执行。
5. 启动关闭Hadoop服务
启动/关闭HDSF服务
./start-dfs.sh
./stop-dfs.sh
启动成功后,我们在浏览器中输入http://localhost:50070可以看到
启动/关闭YARN服务
./start-yarn.sh
./stop-yarn.sh
启动成功后,我们在浏览器中输入http://localhost:8088可以看到
启动/关闭Hadoop服务(等效上面两个)
./start-all.sh
./stop-all.sh
注意,如果从别人电脑往我的电脑里传文件,出现connection refused提示。则可能需要把电脑的hosts文件中的 localhost 127.0.0.1 改为 localhost 0.0.0.0 。
另外,可以通过
jps
命令看到当前hadoop启动的节点。
可以通过
hdfs dfs -mkdir -p /input
命令来在 HDFS 文件系统中创建目录。注意这个目录是在HDFS的文件系统中的目录,而不是你电脑上的目录。
同样的配方,执行brew install scala你就可以拥有Scala。
在终端执行scala -version,如果出现类似Scala code runner version 2.12.2 -- Copyright 2002-2017, LAMP/EPFL and Lightbend, Inc.说明你安装成功了。
同样,不要忘了配置Scala的环境变量,打开~/.zshrc添加
export SCALA_HOME=/usr/local/Cellar/scala/2.12.2
export PATH=$PATH:$SCALA_HOME/bin
有了前面这么多的准备工作,终于可以安装Spark了。也是比较简单,起码我没有遇到坑。
到Spark官网下载你需要的Spark版本,注意这里我们看到需要有依赖的Hadoop,而且还让你选择Hadoop的版本。
下载完直接双击压缩包就会解压(建议安装一个解压软件),将其重命名为spark放到/usr/local下面。
毫无例外,我们还需要一个环境参数配置,打开~/.zshrc添加
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin
走到这一步,我们终于可以启动spark了,打开终端,输入spark-shell,这时候会看到