【Spark学习】Spark 1.1.0 with CDH5.2 安装部署

时间:2022-09-22 18:52:38

【时间】2014年11月18日

【平台】Centos 6.5

【工具】scp

【软件】jdk-7u67-linux-x64.rpm

    spark-worker-1.1.0+cdh5.2.0+56-1.cdh5.2.0.p0.35.el6.noarch.rpm
    spark-core-1.1.0+cdh5.2.0+56-1.cdh5.2.0.p0.35.el6.noarch.rpm
    spark-history-server-1.1.0+cdh5.2.0+56-1.cdh5.2.0.p0.35.el6.noarch.rpm
    spark-master-1.1.0+cdh5.2.0+56-1.cdh5.2.0.p0.35.el6.noarch.rpm
    spark-python-1.1.0+cdh5.2.0+56-1.cdh5.2.0.p0.35.el6.noarch.rpm

【步骤】

    1. 准备条件

      (1)集群规划

主机类型 IP地址 域名
master 192.168.50.10 master.hadoop.com
worker 192.168.50.11 slave1.hadoop.com
worker 192.168.50.12 slave2.hadoop.com
worker 192.168.50.13 slave3.hadoop.com

   

     (2)以root身份登录操作系统

      (3)在集群中的每台主机上执行如下命令,设置主机名。

          hostname *.hadoop.com

          编辑文件/etc/sysconfig/network如下

          HOSTNAME=*.hadoop.com

      (4)修改文件/etc/hosts如下

         192.168.86.10 master.hadoop.com
         192.168.86.11 slave1.hadoop.com
         192.168.86.12 slave2.hadoop.com
         192.168.86.13 slave3.hadoop.com

         执行如下命令,将hosts文件复制到集群中每台主机上

          .*:/etc/hosts

      (5)安装jdk

         rpm -ivh jdk-7u67-linux-x64.rpm

         创建文件

          echo -e "JAVA_HOME=/usr/java/default\nexport PATH=\$JAVA_HOME/bin:\$PATH" > /etc/profile.d/java-env.sh

          . /etc/profile.d/java-env.sh

       (6)安装hadoop-client

         yum install hadoop-client

      (7)关闭iptables

         service iptables stop

         chkconfig iptables off

      (8)关闭selinux。修改文件/etc/selinux/config,然后重启操作系统

         SELINUX=disabled

    2. 安装

          yum install spark-core spark-master spark-worker spark-history-server spark-python

    3. 配置。将以下文件修改完毕后,用scp命令复制到集群中的所有主机上

      (1)修改文件/etc/spark/conf/spark-env.sh

          export STANDALONE_SPARK_MASTER_HOST= master.hadoop.com

      (2)修改文件/etc/spark/conf/spark-defaults.conf

          spark.master                     spark://master.hadoop.com:7077

            spark.eventLog.enabled           true

          spark.eventLog.dir               hdfs://master.hadoop.com:8020/user/spark/eventlog

          spark.yarn.historyServer.address http://master.hadoop.com:18081

          spark.executor.memory            2g

          spark.logConf                    true

      (3)修改文件/etc/default/spark  必须设置此环境变量,否则,history server的WebUI上无法显示任务信息

         export SPARK_HISTORY_SERVER_LOG_DIR=hdfs://master.hadoop.com:8020/user/spark/eventlog 用于history server读取任务日志

      (4)复制配置文件到集群所有主机

          scp /etc/spark/conf/*  192.168.50.10:/etc/spark/conf/*

      (5)在HDFS上执行如下操作

          sudo -u hdfs hadoop fs -mkdir /user/spark

          sudo -u hdfs hadoop fs -mkdir /user/spark/applicationHistory

          sudo -u hdfs hadoop fs -chown -R spark:spark /user/spark

           /user/spark/applicationHistory

     4. 优化。向HDFS上传spark-assembly.jar文件,从而提高集群加载该依赖文件的速度;上传spark-examples.jar文件是为了提高cluster模式下加载应用程序的速度

      (1)在集群中的每台主机上修改文件 /etc/spark/conf/spark-defaults.conf

         spark.yarn.jar hdfs://master.hadoop.com:8020/user/spark/share/lib/spark-assembly.jar

      (2)执行如下命令

         sudo -u hdfs hadoop fs -mkdir -p /user/spark/share/lib

         -cdh5.2.0-hadoop2.5.0-cdh5.2.0.jar /user/spark/share/lib/spark-assembly.jar

         -cdh5.2.0-hadoop2.5.0-cdh5.2.0.jar /user/spark/share/lib/spark-examples.jar

         sudo -u hdfs hadoop fs -chown -R root:spark /user/spark/share/lib

    5. 启动spark

      (1)在集群中选择一台主机作为master,并执行如下命令

          service spark-master start

          service spark-history-server start

         注意:history server服务可以单独部署在一台主机上

      (2)在集群中的其他所有主机上执行如下命令

          service spark-worker start

     6. 测试。向Spark提交程序,有三种工具可用:spark-shell、pyspark、spark-submit

      (1)执行如下命令,进入交互式模式,运行scala代码测试

          spark-shell --driver-library-path /usr/lib/hadoop/lib/native/ --driver-class-path /usr/lib/hadoop/lib/

          输入以下代码

          val file = sc.textFile("hdfs://master.hadoop.com:8020/tmp/input.txt")

          val counts = )).reduceByKey(_ + _)

          counts.saveAsTextFile("hdfs://master.hadoop.com:8020/tmp/output")

          运行完毕,执行exit或者ctrl-d退出

      (2)执行如下命令,进入交互式模式,运行python代码测试

          pyspark --driver-library-path /usr/lib/hadoop/lib/native/ --driver-class-path /usr/lib/hadoop/lib/

          运行完毕,执行exit()、quit()或者ctrl-d退出

      (3)执行如下命令,使用非交互式模式执行测试代码

         1)local[N]执行模式: 使用N个worker线程在本地运行Spark应用程序(其中N代表线程数,默认为1。请根据你本地主机的CPU核数而定)

spark-submit --class org.apache.spark.examples.SparkPi --deploy-mode client  --master local[N] --driver-library-path /usr/lib/hadoop/lib/native/  \

          --driver-class-path /usr/lib/hadoop/lib/ /usr/lib/spark/examples/lib/spark-examples-1.1.0-cdh5.2.0-hadoop2.5.0-cdh5.2.0.jar 10

         2)local[*]执行模式: 使用你本地主机上所有剩余的worker线程在本地运行Spark应用程序

spark-submit --class org.apache.spark.examples.SparkPi --deploy-mode client  --master local[*] --driver-library-path /usr/lib/hadoop/lib/native/  \

          --driver-class-path /usr/lib/hadoop/lib/ /usr/lib/spark/examples/lib/spark-examples-1.1.0-cdh5.2.0-hadoop2.5.0-cdh5.2.0.jar 10

         3)standalone client执行模式:  连接到Spark Standalone集群,driver在client运行,而executor在cluster中运行。

spark-submit --class org.apache.spark.examples.SparkPi --deploy-mode client  --master spark://master.hadoop.com:7077 --driver-library-path /usr/lib/hadoop/lib/native/  \

          --driver-class-path /usr/lib/hadoop/lib/ /usr/lib/spark/examples/lib/spark-examples-1.1.0-cdh5.2.0-hadoop2.5.0-cdh5.2.0.jar 10

         4)standalone cluster执行模式:  连接到Spark Standalone集群,driver和executor都在cluster中运行。

spark-submit --class org.apache.spark.examples.SparkPi --deploy-mode cluster --master spark://master.hadoop.com:7077 --driver-library-path /usr/lib/hadoop/lib/native/  \

          --driver-class-path /usr/lib/hadoop/lib/ hdfs://master.hadoop.com:8020/user/spark/share/lib/spark-examples.jar 10

         5)yarn-client执行模式:  连接到YARN集群,driver在client运行,而executor在cluster中运行。(需要安装部署YARN集群)

spark-submit --class org.apache.spark.examples.SparkPi --deploy-mode client  --master yarn --driver-library-path /usr/lib/hadoop/lib/native/  \

          --driver-class-path /usr/lib/hadoop/lib/ /usr/lib/spark/examples/lib/spark-examples-1.1.0-cdh5.2.0-hadoop2.5.0-cdh5.2.0.jar 10

         6)yarn-cluster执行模式:  连接到YARN集群,driver和executor都在cluster中运行。(需要安装部署YARN集群)

spark-submit --class org.apache.spark.examples.SparkPi --deploy-mode cluster --master yarn --driver-library-path /usr/lib/hadoop/lib/native/  \

          --driver-class-path /usr/lib/hadoop/lib/ hdfs://master.hadoop.com:8020/user/spark/share/lib/spark-examples.jar 10

          注意:命令参数请依据需要而定;以上spark-submit的六种模式中,*.jar文件可以换成*.py以执行python代码;更多参数可以参考命令“spark-submit --help”
    7. 停止spark

        service spark-master stop

        service spark-worker stop

        service spark-history-server stop

    8. 查看spark集群状态

      (1)Standalone模式,登录http://192.168.50.10:18080  

          【Spark学习】Spark 1.1.0 with CDH5.2 安装部署

      (2)Standalone模式,登录http://192.168.50.10:18081

          【Spark学习】Spark 1.1.0 with CDH5.2 安装部署

      (3)YARN模式,登录http://192.168.50.10:8088

          【Spark学习】Spark 1.1.0 with CDH5.2 安装部署

【参考】

    1)http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/cdh_ig_spark_installation.html

    2)http://blog.csdn.net/book_mmicky/article/details/25714287

【扩展】

    1)JavaChen's Blog  Spark安装和使用   http://blog.javachen.com/2014/07/01/spark-install-and-usage/

    2) China_OS's Blog Hadoop CDH5 学习 http://my.oschina.net/guol/blog?catalog=483307

    3)Spark on Yarn遇到的几个问题            http://www.cnblogs.com/Scott007/p/3889959.html

    4)How to Run Spark App on CDH5     http://muse.logdown.com/posts/2014/08/26/how-to-run-spark-app-on-cdh5

    5)Cloudera Spark on GitHub              https://github.com/cloudera/spark

    6)deploy Spark Server and compute Pi from your Web Browser          http://gethue.com/get-started-with-spark-deploy-spark-server-and-compute-pi-from-your-web-browser/

【Spark学习】Spark 1.1.0 with CDH5.2 安装部署的更多相关文章

  1. Linux平台Oracle 12.1.0.2 单实例安装部署

    主题:Linux平台Oracle 12.1.0.2 单实例安装部署 环境:RHEL 6.5 + Oracle 12.1.0.2 需求:安装部署OEM 13.2需要Oracle 12.1.0.2版本作为 ...

  2. spark学习7(spark2.0集群搭建)

    第一步:安装spark 将官网下载好的spark-2.0.0-bin-hadoop2.6.tgz上传到/usr/spark目录下.这里需注意的是spark和hadoop有对应版本关系 [root@sp ...

  3. redis4.0.1集群安装部署

    安装环境 序号 项目 值 1 OS版本 Red Hat Enterprise Linux Server release 7.1 (Maipo) 2 内核版本 3.10.0-229.el7.x86_64 ...

  4. 0、ubuntu16.04安装部署kvm

    ubuntu16.04安装部署kvm1.查看CPU是否支持KVM egrep "(svm|vmx)" /proc/cpuinfo 2.安装相关kvm包 sudo apt-get i ...

  5. 【转载】Spark学习——spark中的几个概念的理解及参数配置

    首先是一张Spark的部署图: 节点类型有: 1. master 节点: 常驻master进程,负责管理全部worker节点.2. worker 节点: 常驻worker进程,负责管理executor ...

  6. spark学习6(Centos下Scala2.11.4安装)

    Centos下Scala安装 上传Scala到/usr/scala目录下 [root@spark1 scala]# chmod u+x scala-2.11.4.tgz #修改权限 [root@spa ...

  7. 【Hadoop学习】CDH5.2安装部署

    [时间]2014年11月19日 [平台]Centos 6.5 [工具]scp [软件]jdk-7u67-linux-x64.rpm CDH5.2.0-hadoop2.5.0 [步骤] 1. 准备条件 ...

  8. centos7 ambari2.6.1.5+hdp2.6.4.0 大数据集群安装部署

    前言 本文是讲如何在centos7(64位) 安装ambari+hdp,如果在装有原生hadoop等集群的机器上安装,需要先将集群服务停掉,然后将不需要的环境变量注释掉即可,如果不注释掉,后面虽然可以 ...

  9. Redis学习笔记(2)——Redis的下载安装部署

    一.下载Redis Redis的官网下载页上有各种各样的版本,如图 但是官网下载的Redis项目不正式支持Windows.如果需要再windows系统上部署,要去GitHub上下载.我下载的是Redi ...

随机推荐

  1. Excel 去掉每次打开弹出自定义项安装的弹窗

    弹窗: 解决方案: 一.打开“文件”——“选项”如图. 二.选择“加载项”,下面的“管理”,选择“COM加载项”,然后点击“转到”,弹出框: 三:在“可用加载项”下面你会发现有一项是“LoadTest ...

  2. 使用Java中的IO流,把A文件里的内容输入到B文件中

    我们先创建两个文本文件,out.txt和in.txt,在out.txt中输入"Hello World",然后使用FileInputStream把字符串读取出来,再使用FileOut ...

  3. 转-安卓中实现两端对齐,中间fill_parent的方法

    安卓中实现两端对齐,中间fill_parent的方法 Java代码:   <?xml version="1.0″ encoding="utf-8″?> <Line ...

  4. 导航控制器(UINavigationController)

    一.导航控制器基础 1.导航控制器的组成 i.中间视图 ii.导航栏 iii.工具栏 2.配置一个导航界面 a.配置一个导航界面最重要的部分就是配置被包含的视图控制器. b.当它所属的视图控制器在导航 ...

  5. OpenSuSE zypper OpenStack Icehouse repoAdd

    java for windows 浏览器(完整安装包离线版); http://www.java.com/zh_CN/download/windows_offline.jsp 配置OpenSuSE zy ...

  6. ASP&period;NET Core 搭配 Nginx 的真实IP问题

    一.前言 Nginx(Engine X)是一个高性能HTTP和反向代理服务,是由俄罗斯人伊戈尔·赛索耶夫为访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发 ...

  7. 被sleep开了个小玩笑

    本案例转载自李大玉老师分享 Ⅰ.问题背景 探活脚本连续8次探测,判断主库异常,触发切换(判断备机是否有延迟,kill原主,VIP飘到备机,设置新主可写) 切换后,业务还是异常,SQL查询没返回,DB连 ...

  8. Socket编程(网络编程)

    网络通信的第一要素:IP地址 通过IP地址唯一的定位到互联网的主机 通过 IP+port(端口号) 来确定互联网的主机上的某个软件 InetAddress:位于java.net包下 getHostNa ...

  9. RocketMq源码学习(一) nameService

    public class NamesrvStartup { public static Properties properties = null; public static CommandLine ...

  10. Why游戏作品合集

    之前曾经发过一个套WhyEngine游戏作品合集,里面有十几个小游戏和若干个屏保程序和若干个DEMO程序.而这次发的与上次不一样,因为这是我花了两天时间将所有的程序集成到一个工程后的成果.为了能将所有 ...