spark集群与spark HA高可用快速部署 spark研习第一季

1、spark 部署

标签: spark


0 apache spark项目架构

spark SQL  --  spark streaming --  MLlib  --  GraphX

0.1 hadoop快速搭建,主要利用hdfs存储框架

下载hadoop-2.6.0,解压,到etc/hadoop/目录下

0.2 快速配置文件

cat core-site.xml

  1. <configuration>
  2. <property>
  3. <name>fs.defaultFS</name>
  4. <value>hdfs://worker1:9000</value>
  5. </property>
  6. <property>
  7. <name>hadoop.tmp.dir</name>
  8. <value>/opt/hadoop-2.6.0/tmp</value>
  9. </property>
  10. <property>
  11. <name>hadoop.native.lib</name>
  12. <value>true</value>
  13. <description>Should native hadoop libraries, if present, be used.</description>
  14. </property>
  15. </configuration>

cat hdfs-site.xml

  1. <configuration>
  2. <property>
  3. <name>dfs.replication</name>
  4. <value>2</value>
  5. </property>
  6. <property>
  7. <name>dfs.namenode.secondary.http-address</name>
  8. <value>worker1:50090</value>
  9. <description>The secondary namenode http server address and port.</description>
  10. </property>
  11. <property>
  12. <name>dfs.namenode.name.dir</name>
  13. <value>/opt/hadoop-2.6.0/dfs/name</value>
  14. </property>
  15. <property>
  16. <name>dfs.datanode.data.dir</name>
  17. <value>/opt/hadoop-2.6.0/dfs/data</value>
  18. </property>
  19. <property>
  20. <name>dfs.namenode.checkpoint.dir</name>
  21. <value>file:///opt/hadoop-2.6.0/dfs/namesecondary</value>
  22. <description>Determines where on the local filesystem the DFSsecondary name node should store the temporary images to merge. If this is acomma-delimited list of directories then the image is replicated in all of thedirectories for redundancy.</description>
  23. </property>
  24. </configuration>

cat hadoop-env.sh

  1. export JAVA_HOME=/opt/jdk
  2. export HADOOP_HOME=/opt/hadoop-2.6.0
  3. export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"
  4. export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/etc/hadoop"}

cat mapred-site.xml

  1. <configuration>
  2. <property>
  3. <name>mapreduce.framework.name</name>
  4. <value>yarn</value>
  5. </property>
  6. </configuration>

cat yarn-site.xml

  1. <configuration>
  2. <!-- Site specific YARN configuration properties -->
  3. <property>
  4. <name>yarn.resourcemanager.hostname</name>
  5. <value>worker1</value>
  6. </property>
  7. <property>
  8. <name>yarn.nodemanager.aux-services</name>
  9. <value>mapreduce_shuffle</value>
  10. </property>
  11. </configuration>

0.3 hadoop hdfs快速启动测试

  1. $ sbin/start-dfs.sh //开启进程
  2. jps
  3. 5212 NameNode
  4. 5493 SecondaryNameNode
  5. 5909 Jps
  6. 5336 DataNode
  7. //如果没有DataNode,查看log/下的最新启动情况
  8. 可能是因为hostname没有改为worker1引起,每次重启虚拟机会遇到这种情况。
  9. 再次sbin/start-dfs.sh 如果namenode没有起来
  10. $ bin/hdfs namenode -format //格式化
  11. 最后浏览器查看worker1:50070

1. Spark安装及配置

1.1 运行环境配置

A.下载及配置JDK,Scala,sbt,Maven  到/opt 目录下

JDK jdk-7u79-linux-x64.gz 
Scala http://downloads.typesafe.com/scala/2.10.5/scala-2.10.5.tgz 
Maven apache-maven-3.2.5-bin.tar.gz 
SBT sbt-0.13.7.tgz 
解压 tar zxf jdk-7u79-linux-x64.gz 
tar zxf scala-2.10.5.tgz

B.配置
  1. vi ~/.bash_profile ##vi /etc/profile 以下皆替换
  2. export JAVA_HOME=/opt/jdk
  3. export PATH=$JAVA_HOME/bin:$PATH
  4. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  5. export SCALA_HOME=/opt/scala-2.10.5
  6. export PATH=$PATH:$SCALA_HOME/bin
  7. $ source /etc/profile //source ~/.bash_profile
C.测试
  1. $ java -version
  2. java version "1.7.0_79"
  3. Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
  4. Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
  5. $ scala -version
  6. Scala code runner version 2.10.5 -- Copyright 2002-2013, LAMP/EPFL
D.Maven,sbt配置
  1. export MAVEN_HOME=/opt/apache-maven-3.2.5
  2. export SBT_HOME=/opt/sbt
  3. export PATH=$PATH:$SCALA_HOME/bin:$MAVEN_HOME/bin:$SBT_HOME/bin
  4. $source /etc/profile
  5. $ mvn --version
  6. Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-15T01:29:23+08:00)
  7. Maven home: /opt/apache-maven-3.2.5
  8. Java version: 1.7.0_79, vendor: Oracle Corporation
  9. Java home: /opt/jdk
  10. Default locale: en_US, platform encoding: UTF-8
  11. OS name: "linux", version: "2.6.32-504.el6.x86_64", arch: "amd64", family: "unix"
  12. $ sbt --version //warning '--'
  13. sbt launcher version 0.13.7

1.2 Spark配置

A.下载Hadoop,Spark

spark-1.4.0 http://d3kbcqa49mib13.cloudfront.net/spark-1.4.0-bin-hadoop2.6.tgz 
Hadoop http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz 
解压

  1. $ tar zxf spark-1.4.0-bin-hadoop2.6.tgz
  2. $ tar zxf hadoop-2.6.0.tar.gz
  3. $ ll 查看
B. 配置Hadoop,Spark的安装目录
  1. vi ~/.bash_profile
  2. export JAVA_HOME=/opt/jdk
  3. export PATH=$JAVA_HOME/bin:$PATH
  4. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  5. export SCALA_HOME=/opt/scala/scala-2.10.5
  6. export SPARK_HOME=/opt/spark-1.4.0-bin-hadoop2.6
  7. export HADOOP_HOME=/opt/hadoop-2.6.0
  8. export HADOOP_CONF_DIR=/opt/hadoop-2.6.0/etc/hadoop
  9. export MAVEN_HOME=/opt/apache-maven-3.2.5
  10. export SBT_HOME=/opt/sbt
  11. export PATH=$PATH:$SCALA_HOME/bin:$SPARK_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$MAVEN_HOME/bin:$SBT_HOME/bin
  12. source ~/.bash_profile

1.3 Spark配置文件

A.复制配置文件 
  1. # cd spark-1.4.0-bin-hadoop2.6
  2. # cd conf
  3. # cp spark-env.sh.template spark-env.sh

在spark-env.sh最后添加下面

  1. export SCALA_HOME=/opt/scala-2.10.5
  2. export SPARK_MASTER_IP=worker1 //如果是master需要改动
  3. export SPARK_WORKER_MEMORY=1G
  4. export JAVA_HOME=/opt/jdk //注意jdk的文件名变了
  5. export HADOOP_HOME=/opt/hadoop-2.6.0
  6. export HADOOP_CONF_DIR=/opt/hadoop-2.6.0/etc/hadoop

配置spark-defaults.sh, 后面添加

  1. spark.master spark://worker1:7077

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。

Devstack单节点环境实战配置 - 2016-07-23 14:07:05

本实验是在VMware12下建立虚机的一个测试环境。 1 前期准备工作 真机环境win10 Linux版本 centos-everything-7.0 VMware版本 VMwareworkstations12 虚机配置如下: 8G内存 2核cpu(开启虚拟化) 网络配置为桥接模式 /boot 500M(一定要分大点不然之后会遇到问题) swap分区4G 其余的空间全部分给/分区 配置yum源,你可以保持装机自带的centos自带官方yum源,或者使用国内的给的镜像,本次试验中用的国外镜像并且使用fast
Openstack自动化部署工具, 主要用于生产环境. 一. 环境准备 这里用的是Openstack 9.0版本. Fuel Documentation 下载 Fuel for OpenStack镜像文件 , 用于安装Feul Master. 安装 Xshell , 用于远程连接. 安装 xftp , 用于从Windows主机向虚拟机传输文件. 二. 安装fuel_master节点 1. VirtualBox网络配置 管理-全局设定-网络-仅主机(Host-Only)网络 新建三张新的网卡: Host-O
本篇主要阐述通过DeveStack 去部署Openstack(mitaka),对大多数来说安装部署Openstack 来说是个痛苦的过程,尤其是 OpenStack和它依赖的一些组件在快速发展中,经常出现这个版本组件对不上那个版本 dashboard等情况。如果只是看看或者初期玩玩 OpenStack的话,使用DevStack也是个不错的办法。DevStack采用了自动化源码部署的方式,适用于开发环境的部署和Openstack开发者,单节点,小环境;这里采用的操作系统为Ubuntu14.04。 一、操作系
操作过程: 第一步删除phoenix中系统的表格信息,主要为SYSTEM.CATALOG,第二步删除Hbase中的表格信息。 操作步骤: (1)查询phoenix系统表 SYSTEM.CATALOG 内容是所有表格的信息,系统表和自建表 SYSTEM.FUNCTION 内容是所有函数信息,系统函数和自定义函数 SYSTEM.SEQUENCE 我也不知道 SYSTEM.STATS 内容是所有表格的最后状态信息 (2)查询SYSTEM.CATALOG表结构 (3)我要删除的表格 DELETE from SYS
1.查看mysql中metastore数据存储结构 Metastore中只保存了表的描述信息( 名字,列,类型,对应目录 ) 使用SQLYog连接itcast05 的mysql数据库 查看hive数据库的表结构: 2.建表(默认是内部表(先建表,后有数据)) (建表时必须指定列的分隔符) create table trade_detail(id bigint, account string, income double, expenses double, time string) row format d
1、查看系统环境 cat /etc/redhat-releaseuname -runame -m 关闭所有服务器的防火墙 /etc/init.d/iptables stopchkconfig iptables offchkconfig --list iptables 2、Spark集群机器规划 一共准备了四台机器 Host IP Hadoop Spark Node1 192.168.2.128 Master Master Node2 192.168.2.130 Slave Slave Node3 192.
本篇主要阐述通过DeveStack 去部署Openstack(mitaka),对大多数来说安装部署Openstack 来说是个痛苦的过程,尤其是 OpenStack和它依赖的一些组件在快速发展中,经常出现这个版本组件对不上那个版本 dashboard等情况。如果只是看看或者初期玩玩 OpenStack的话,使用DevStack也是个不错的办法。DevStack采用了自动化源码部署的方式,适用于开发环境的部署和Openstack开发者,单节点,小环境;这里采用的操作系统为Ubuntu14.04。 一、操作系
Spark版本: 1.6.2 概览 Spark SQL用于处理结构化数据,与Spark RDD API不同,它提供更多关于数据结构信息和计算任务运行信息的接口,Spark SQL内部使用这些额外的信息完成特殊优化。可以通过SQL、DataFrames API、Datasets API与Spark SQL进行交互,无论使用何种方式,SparkSQL使用统一的执行引擎记性处理。用户可以根据自己喜好,在不同API中选择合适的进行处理。本章中所有用例均可以在 spark-shell、pyspark shell、s

HBase工作原理学习 - 2016-07-22 18:07:56

HBase工作原理学习   1 HBase简介 HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建大规模结构化的存储集群。HBase的目标是存储并处理大型数据,具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。 与MapReduce的离线批处理计算框架不同,HBase是一个可以随机访问的存储和检索数据平台,弥补了HDFS不能随机访问数据的缺陷,适合实时性要求不是非常高的业务场景。HBase存储的都是Byte数组
一:RDD粗粒度与细粒度 粗粒度: 在程序启动前就已经分配好资源(特别适用于资源特别多而且要进行资源复用) 细粒度:计算需要资源是才分配资源,细粒度没有资源浪费问题。 二: RDD 的解密: 1,分布式(擅长迭代式是spark的精髓之所在) 基于内存(有些时候也会基于硬盘) 特别适合于计算的计算框架 2,RDD代表本身要处理的数据,是一个数据集Dataset RDD本身是抽象的,对分布式计算的一种抽象 RDD 定义: 弹性分布数据集 代表一系列的数据分片 3,RDD弹性之一: 自动进行内存和磁盘数据存储的