博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hadoop - spark on yarn 集群搭建
阅读量:6311 次
发布时间:2019-06-22

本文共 8505 字,大约阅读时间需要 28 分钟。

一、环境准备

1. 机器: 3 台虚拟机

机器 角色
 l-qta3.sp.beta.cn0 NameNode,ResourceManager,spark的master
l-querydiff1.sp.beta.cn0 DataNode,NodeManager,Worker
l-bgautotest2.sp.beta.cn0 DataNode,NodeManager,Worker

2. jdk版本

[xx@l-qta3.sp.beta.cn0 ~]$ java -version

java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

3. 准备工作

  1)ssh 免密登陆: 集群中的机器需要相互免密访问。参考:http://www.cnblogs.com/lijingchn/p/5580263.html

  2)hadoop 2.6.5 binary  下载。地址:http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz

4. 解压 hadoop-2.6.5.tar.gz

    将hadoop-2.6.5.tar.gz解压缩到 /home/q/

  cmd : tar -xzvf hadoop-2.6.5.tar.gz -C /home/q/

5. 修改配置文件

  配置文件都在 etc/hadoop/下,这些配置文件里面都有样例,有些是必须设置的。官网配置的介绍:http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/ClusterSetup.html

  5.1 修改hadoop-env.sh

    export JAVA_HOME=xxx    -- java 的安装目录

  5.2 修改yarn-env.sh

    export JAVA_HOME=xxxx 

  5.3 修改slaves      配置slave的机器名 (这些机器需要能按机器名ping通,即要需要/etc/hosts 文件,按 ip 空格 机器名 的格式设置。)

   slave1

   slave2

  5.4 配置core-site.xml (从core-site.xml.example copy 过来一个,重命名即可。) 

  
fs.defaultFS
hdfs://jdycluster
io.file.buffer.size
4194304
fs.trash.interval
1440
io.compression.codecs
org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.SnappyCodec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec
io.compression.codec.lzo.class
com.hadoop.compression.lzo.LzoCodec
ha.failover-controller.cli-check.rpc-timeout.ms
60000
ipc.client.connect.timeout
60000
hadoop.proxyuser.jdydev.hosts
*
hadoop.proxyuser.jdydev.groups
*

  5.5  配置hdfs-site.xml

dfs.nameservices
jdycluster
  
dfs.namenode.name.dir
file:/home/q/hadoop-2.6.5/dfs/name
dfs.replication
1
dfs.blocksize
268435456
dfs.namenode.handler.count
100
dfs.webhdfs.enabled
true
  
dfs.datanode.data.dir
file:/home/q/hadoop-2.6.5/dfs/data
dfs.ha.namenodes.jdycluster
nn1
dfs.namenode.rpc-address.jdycluster.nn1
l-qta3.sp.beta.cn0:8020
dfs.namenode.http-address.jdycluster.nn1
l-qta3.sp.beta.cn0:50070
dfs.client.failover.proxy.provider.jdycluster
org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
  
dfs.permissions
false

  5.6  配置mapred-site.xml, 这里都是map-reduce 的参数

mapreduce.framework.name
yarn
mapreduce.map.memory.mb
1536
mapreduce.map.java.opts
-Xmx1024M
mapreduce.reduce.memory.mb
3072
mapreduce.reduce.java.opts
-Xmx2560M
mapreduce.task.io.sort.mb
512
mapreduce.task.io.sort.factor
100
mapreduce.reduce.shuffle.parallelcopies
50
mapreduce.jobhistory.address
l-qta3.sp.beta.cn0:10020
mapreduce.jobhistory.webapp.address
l-qta3.sp.beta.cn0:19888
mapreduce.jobhistory.intermediate-done-dir
/mr-history/tmp
mapreduce.jobhistory.done-dir
/mr-history/done

  5.7 配置yarn-site.xml

yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
yarn.resourcemanager.address
l-qta3.sp.beta.cn0:8032
yarn.resourcemanager.scheduler.address
l-qta3.sp.beta.cn0:8030
yarn.resourcemanager.resource-tracker.address
l-qta3.sp.beta.cn0:8035
yarn.resourcemanager.admin.address
l-qta3.sp.beta.cn0:8033
yarn.resourcemanager.webapp.address
l-qta3.sp.beta.cn0:8088

  5.8 配置slaves, 这里配置的就是DataNode,NodeManager,Worker的机器。

    l-qta3.sp.beta.cn0

    l-bgautotest2.sp.beta.cn0

  5.9  scp到所有salve机器相同目录下

    scp -r /home/q/hadoop-2.6.5  xx@slave[1-2]:/home/q/

 6 启动hadoop 集群

  6.1 格式化NameNode

     在NameNode执行以下操作

cd  /home/q/hadoop-2.6.5/binsudo bin/hadoop namenode –format

  6.2 启动hadoop集群

方式1: sbin/start-dfs.sh                              #启动HDFSsbin/start-yarn.sh                             #启动资源管理器 方式2: sbin/start-all.sh                  注意: 在启动过程中,启动脚本会依次ssh方式登陆各台机器,所以即使是启动本机的服务也会ssh,这时候 本机也要做免密登陆,否则NameNode会起不来。

  6.3 验证集群是否启动

在NameNode上执行 jps 返回如下: 6996 ResourceManager 6611 NameNode 6412 Jps 在DataNode上执行 jps 返回如下: 22285 NodeManager 22151 DataNode

  说明已经启动成功。进入Hadoop的Web管理页面:

 7. 安装spark

  首先到spark官网下载和你安装的hadoop 版本匹配的spark 版本。http://spark.apache.org/downloads.html

  7.1 解压缩 spark-2.0.2-bin-hadoop2.6.tgz

sudo tar -zxvf spark-2.0.2-bin-hadoop2.6.tgz -C /home/q/

  7.2 配置spark-env.sh

cd /home/q/spark-2.0.2-bin-hadoop2.6/confcp spark-env.sh.template spark-env.shsudo vi spark-env.sh export JAVA_HOME=/home/q/java/default

export HADOOP_HOME=/home/q/hadoop-2.6.5

export HADOOP_CONF_DIR=/home/q/hadoop-2.6.5/etc/hadoop/
export SPARK_LOCAL_DIRS=/home/q/spark-2.0.2-bin-hadoop2.6
export SPARK_CLASSPATH=/home/q/spark-2.0.2-bin-hadoop2.6/bin
export SPARK_CLASSPATH=$SPARK_CLASSPATH:/home/q/hadoop-2.6.5/share/hadoop/mapreduce/lib/hadoop-lzo-0.4.20-SNAPSHOT.jar
export HIVE_CONF_DIR=/home/q/apache-hive-2.1.1-bin/conf

  7.3 配置salves

vi slavesl-bgautotest2.sp.beta.cn0l-querydiff1.sp.beta.cn

  7.4 将spark的安装文件scp到slaves的相同目录下

scp -r /home/q/spark-2.0.2-bin-hadoop2.6 xx@slaves[1-2]:/home/q/

  7.5 启动spark 集群

sbin/start-all.sh

  7.6 验证是否启动spark集群

master 机器上执行  jps返回中有:11016 Masterslave 机器上执行 jps:返回中有:6689 Worker 说明启动成功。

进入Spark的Web管理页面: .

 

转载于:https://www.cnblogs.com/parkin/p/6952370.html

你可能感兴趣的文章
如何在 Ubuntu Linux 16.04 LTS 中使用多个连接加速 apt-get/apt
查看>>
《OpenACC并行编程实战》—— 导读
查看>>
机器学习:用初等数学解读逻辑回归
查看>>
如何在 Ubuntu 中管理和使用逻辑卷管理 LVM
查看>>
Oracle原厂老兵:从负面案例看Hint的最佳使用方式
查看>>
把自己Github上的代码添加Cocoapods支持
查看>>
C语言OJ项目参考(2493)四则运算
查看>>
零基础入门深度学习(二):神经网络和反向传播算法
查看>>
find和xargs
查看>>
数据结构例程—— 交换排序之快速排序
查看>>
WKWebView代理方法解析
查看>>
IOS定位服务的应用
查看>>
[SMS&WAP]实例讲解制作OTA短信来自动配置手机WAP书签[附源码]
查看>>
IOS中图片(UIImage)拉伸技巧
查看>>
【工具】系统性能查看工具 dstat
查看>>
基于zepto或jquery的手机端弹出框成功,失败,加载特效
查看>>
php引用(&)
查看>>
Delphi 操作Flash D7~XE10都有 导入Activex控件 shockwave
查看>>
oracle 学习笔记之名词解释
查看>>
MySQL Cluster搭建与测试
查看>>