Mac OS下搭建Hadoop + Spark集群
首先注意版本兼容问题!!!本文采用的是Scala 2.11.8 + Hadoop 2.7.5 + Spark 2.2.0
请在下载Spark时务必看清对应的Scala和Hadoop版本!
一、配置JDK
1. 下载jdk
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2. 配置环境变量
(1)在终端使用 sudo su 命令进入root用户模式;
(2)使用 vim /etc/profile 命令打开profile文件,按下大写“I”进入编辑模式,在文件中添加以下信息:
JAVA_HOME对应的是你的JDK安装路径
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home"
CLASS_PATH="$JAVA_HOME/lib"
PATH=".;$PATH:$JAVA_HOME/bin"
export JAVA_HOME
(3)使用“esc”键推出编辑模式,按下“:”,输入wq并回车,保存且退出。
(4)退出终端并重新打开,输入 java -version 命令查看JDK配置情况。也可以直接输入命令 source /etc/profile 使修改信息立即生效。配置成功信息如下图所示。
二、配置Scala
1. 下载Scala
Scala 2.11.8下载链接:http://www.scala-lang.org/download/2.11.8.html
2. 将下载的scala压缩文件解压后复制到/usr/local/Cellar文件夹下(位置无具体要求,按个人习惯,最好将scala、hadoop和spark放在同一位置)
3. 配置Scala环境
(1)与配置JDK一样的步骤,使用 vim /etc/profile 命令进入编辑模式,添加以下信息(对应你的解压路径):
export PATH="$PATH:/usr/local/Cellar/scala-2.11.8/bin"
(2)使用 source /etc/profile 命令使修改生效,输入 scala 检查配置是否成功。配置成功信息如下所示。
三、配置SSH无密码登陆
配置ssh就是为了能够实现免密登录,这样方便远程管理Hadoop并无需登录密码在Hadoop集群上共享文件资源。
1. 输入 ssh-keygen -t rsa 命令,然后一直回车即可,输出以下信息便设置成功。
2. 输入 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 授权你的公钥到本地可以无需密码实现登录;
3. 进入root模式,使用 chmod 700 .ssh 命令对.ssh赋予权限;
4. 然后使用 cd .ssh 命令进入该目录,使用 chmod 600 authorized_keys 对authorized_keys赋予权限;
5. 打开系统偏好设置->共享->打开远程登录
6. 在root模式下输入 ssh localhost 命令进行测试,测试成功结果如下所示。
四、下载并配置Hadoop
1. 下载Hadoop
Hadoop 2.7.5镜像下载链接:http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.5/hadoop-2.7.5.tar.gz
2. 将下载后的压缩文件复制到/usr/local/Cellar目录下并解压
3. 配置Hadoop
(1)使用 cd /usr/local/Cellar/hadoop-2.7.5/etc/hadoop/ 进入Hadoop配置目录,找到“hadoop-env.sh”文件
(2)配置Hadoop环境
使用 vim hadoop-env.sh 命令进行编辑,找到并修改以下信息:(注意:JAVA_HOME是你自己之前配置的)
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_151.jdk/Contents/Home"
(3) 配置hdfs地址和端口
使用 vim core-site.xml 命令进行编辑,将“<configuration></configuration>”替换为以下信息:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop-2.7.5/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration><configuration>
fs.defaultFS用于设置Hadoop的默认文件系统,设置为“hdfs://localhost:9000”。HDFS的守护程序通过该属性项来确定HDFS namenode的主机和端口。
(4)配置HDFS的默认参数副本数
使用 vim hdfs-site.xml 命令进行编辑,将“<configuration></configuration>”替换为以下信息:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop-2.7.5/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop-2.7.5/tmp/dfs/data</value>
</property>
</configuration>
dfs.replication的value设置为“1”,这样HDFS就不会按默认设置将文件系统块复本设置为3。否则在单独一个datanode上运行时,HDFS无法将块复制到3个datanode上,所以会持续给出块复本不足的警告。
(5)配置mapreduce中jobtracker的地址和端口
使用 vim mapred-site.xml.template 命令进行编辑,将“<configuration></configuration>”替换为以下信息:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
(6)接着修改配置文件 yarn-site.xml
添加以下信息:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
(7)文件系统初始化
进入到Hadoop安装路径的bin目录下,使用命令 ./hadoop namenode -format 进行初始化,初始化成功会输出以下信息,注意红框标记处。
(8)配置Hadoop环境变量
目的是方便在任意目录下全局开启关闭hadoop相关服务,而不需要到/usr/local/Cellar/hadoop/2.7.5/sbin下去执行启动或关闭命令。使用命令 vim ~/.zshrac 进行编辑,添加以下内容:(注意:zshrac是自己创建的,不要纠结自己找不到这个文件)
export HADOOP_HOME=/usr/local/Cellar/hadoop-2.7.5
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
然后使用 source ~/.zshrac 命令使修改生效,以上关于Hadoop的配置全部结束。
4. 启动Hadoop
(1)启动/关闭Hadoop服务
使用命令 start-dfs.sh 启动,然后使用 jps 命令查看启动结果,启动成功如下图所示:
我们在浏览器中输入http://localhost:50070打开以下网页,可以查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。
使用 stop-dfs.sh 关闭Hadoop服务。
(2)启动/关闭yarn服务
使用 start-yarn.sh 命令启动yarn服务,让 yarn来负责资源管理与任务调度。启动成功后,使用 jps 命令可以输出以下信息:
比之前只启动Hadoop服务时多了一个NodeManager和ResourceManager,然后在浏览器中打开http://localhost:8088,可以通过 Web 界面查看任务的运行情况。
关闭yarn服务时,输入以下命令 stop-yarn.sh
(3) 快速启动和关闭
直接使用命令 start-all.sh 和 stop-all.sh 可以同时启动Hadoop服务和yarn服务,比依次启动和关闭方便很多。
2017-12-19 19:49:47
Mac OS下搭建Hadoop + Spark集群的更多相关文章
- hadoop+spark集群搭建入门
忽略元数据末尾 回到原数据开始处 Hadoop+spark集群搭建 说明: 本文档主要讲述hadoop+spark的集群搭建,linux环境是centos,本文档集群搭建使用两个节点作为集群环境:一个 ...
- 使用docker搭建hadoop分布式集群
使用docker搭建部署hadoop分布式集群 在网上找了非常长时间都没有找到使用docker搭建hadoop分布式集群的文档,没办法,仅仅能自己写一个了. 一:环境准备: 1:首先要有一个Cento ...
- 超快速使用docker在本地搭建hadoop分布式集群
超快速使用docker在本地搭建hadoop分布式集群 超快速使用docker在本地搭建hadoop分布式集群 学习hadoop集群环境搭建是hadoop入门的必经之路.搭建分布式集群通常有两个办法: ...
- Hadoop记录-Apache hadoop+spark集群部署
Hadoop+Spark集群部署指南 (多节点文件分发.集群操作建议salt/ansible) 1.集群规划节点名称 主机名 IP地址 操作系统Master centos1 192.168.0.1 C ...
- mac os 下搭建android开发环境
mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...
- Linux下搭建Lotus Domino集群
Linux下搭建Lotus Domino 集群 本文内容是Linux平台下Lotus Domino服务器部署案例(http://chenguang.blog.51cto.com/350944/1334 ...
- Hadoop+Spark:集群环境搭建
环境准备: 在虚拟机下,大家三台Linux ubuntu 14.04 server x64 系统(下载地址:http://releases.ubuntu.com/14.04.2/ubuntu-14.0 ...
- 分布式计算(一)Ubuntu搭建Hadoop分布式集群
最近准备接触分布式计算,学习分布式计算的技术栈和架构知识.目前的分布式计算方式大致分为两种:离线计算和实时计算.在大数据全家桶中,离线计算的优秀工具当属Hadoop和Spark,而实时计算的杰出代表非 ...
- Spark集群环境搭建——部署Spark集群
在前面我们已经准备了三台服务器,并做好初始化,配置好jdk与免密登录等.并且已经安装好了hadoop集群. 如果还没有配置好的,参考我前面两篇博客: Spark集群环境搭建--服务器环境初始化:htt ...
随机推荐
- escape,unescape与encodeURIComponent,decodeURIComponent
escape:将string转成unicode字符串 escape('
- ACM-ICPC (10/11)
莫比乌斯 今年的多校比赛,莫比乌斯反演的题目经常出现,但是我们队对于这种题可以说是直接放掉,不是因为没学过,多少了解一些,但是也只是皮毛,导致根本就做不出来,其实想一想,其实次数多了,就可以看出原因了 ...
- 【[ZJOI2008]骑士】
这道题好暴力啊 发现自己刚学\(OI\)的时候对着这道题写了一个大搜索 发现已经看不懂了 果然我现在菜到连一年半前的我都不如了 这其实是一个基环树\(dp\)啦,基环树上的最大点独立集 其实很简单,我 ...
- 2018.12.16 struts.xml 结果集方式分析 && 源码查看
1.结果集 转发 重定向 转发Action 重定向Action <?xml version="1.0" encoding="UTF-8"?> < ...
- jQuery中没有innerHtml和innerText
发现如果我在div或者其他非表单的标签中赋值,原本用普通的js就直接document.getElementById("id").innerHtml(或者其他几个)就可以了. 但是在 ...
- CentOS 7安装Oracle (CentOS Linux release 7.5.1804)
从安装操作系统到完成oracle安装 1.安装centos7 下载CentOS7 iso安装包,配置虚拟机,由于只进行oracle安装练习,随便配置20G空间.选择安装文件. 开机,开始安装系统: 直 ...
- c#项目总结
写了将近10年代码了,最后休息,回想了下,感觉什么都没有. 所以打算写一些总结性的文章,先写几个项目,用于c#各个方向的封装使用 最后汇总成一个完善的解决方案.所有项目都在一个解决方案FastAIFr ...
- js/jquery 禁用点击事件
前言 工作中经常遇到这种情况:验证邮箱页面的重新发送需要在3分钟后才可以点击触发请求,所以在这之前需要禁用他的点击. 网上查了后有以下几种实现方法 1.css禁用鼠标点击事件 .disabled { ...
- AOJ 0531 坐标离散化
涂色:(日文题目,自己翻译成了中文)为了宣传信息竞赛,要在长方形的三合板上喷油漆来制作招牌.三合板上不需要涂色的部分预先贴好了护板.被护板隔开的区域要涂上不同的颜色,比如上图就应该涂上5种颜色. 请编 ...
- ABAP术语-Implementation
Implementation 原文:http://www.cnblogs.com/qiangsheng/archive/2008/02/22/1077076.html The concrete cod ...