美文网首页程序员大数据
Spark1.5.0的安装和部署

Spark1.5.0的安装和部署

作者: ZyZhu | 来源:发表于2016-05-06 15:17 被阅读791次

    一、Spark集群部署

    1、软件版本

    OS版本:Ubuntu 14.04

    Hadoop版本:Hadoop 2.6.0

    JDK版本:Jdk1.8.0_40

    Scala版本:scala-2.11.7.tgz

    Spark版本:spark-1.5.0-bin-hadoop2.6.tgz

    注:Spark程序包版本要根据下载及安装的hadoop版本进行下载和安装,Spark下载官网地址http://spark.apache.org/downloads.html;Scala官网地址http://www.scala-lang.org/,根据Spark官方规定的Scala版本进行下载和安装。

    2、集群节点

    Spark部署在安装有hadoop的Ubuntu系统集群中,在Ubuntu14.04中安装Spark,需要预先安装JDK、Scala等所需依赖。Spark只是计算框架,需要预先在集群中搭建好存储数据的持久化层(HDFS/Hive等),所以也需要预先安装Hadoop。

    集群:1台master、10台salve计算节点,2台client。

    主机名(节点)

    IP地址

    内存(GB)

    VCPU

    (个)硬盘(GB)

    节点运行进程

    Master

    192.168.1.60

    4

    4

    100

    ResourceManager、NameNode、SecondaryNameNode、

    Master

    Node1

    192.168.1.61

    4

    4

    100

    NodeManager、DataNode、Worker

    Node2

    192.168.1.62

    4

    4

    100

    NodeManager、DataNode、Worker

    Node3

    192.168.1.63

    4

    4

    100

    NodeManager、DataNode、Worker

    Node4

    192.168.1.64

    4

    4

    100

    NodeManager、DataNode、Worker

    Node5

    192.168.1.65

    4

    4

    100

    NodeManager、DataNode、Worker

    Node6

    192.168.1.66

    4

    4

    100

    NodeManager、DataNode、Worker

    Node7

    192.168.1.67

    4

    4

    100

    NodeManager、DataNode、Worker

    Node8

    192.168.1.68

    4

    4

    100

    NodeManager、DataNode、Worker

    Node9

    192.168.1.69

    4

    4

    100

    NodeManager、DataNode、Worker

    Node10

    192.168.1.70

    4

    4

    100

    NodeManager、DataNode、Worker

    Client

    192.168.1.80

    4

    4

    100

    Client_b

    192.168.1.81

    4

    4

    100

    3、安装JDK

    在服务器上搭建一台安装Ubuntu14.04的虚拟机,安装完JDK和Scala之后,克隆虚拟机13台。

    (1)下载JDK

    下载jdk1.8.0_40版本,官网地址:

    http://www.oracle.com/technetwork/java/javase/downloads/index.html

    (2)下载后解压,解压目录/home/hadoop/jdk1.8.0_40;

    # tar–xzvf jdk-8u40-linux-x64.tar

    (3)配置环境变量,root权限下在/etc/profile文件下增加以下代码:

    (4)使profile文件更新生效

    #source/etc/profile

    4、安装Scala

    (1)下载scala-2.11.7.tgz

    (2)解压至目录/home/hadoop/scala-2.11.7

    # tar –xzvf scala-2.11.7.tgz

    (3)配置环境变量,root权限下在/etc/profile文件下增加以下代码:

    (4)使profile文件更新生效

    # source/etc/profile

    注:安装完JDK和Scala之后,克隆出另外12台虚拟机。

    5、网络配置

    服务器地址:192.168.0.80用户名:administrator密码:********

    在服务器上搭建安装Ubuntu14.04的虚拟机,克隆12台。分别配置13台主机的网络地址。

    IP地址:192.168.1.X

    子网掩码:255.255.0.0网关:192.168.0.1

    DNS:192.168.0.1

    注:网络配置IPv4选择->Manual(手动),为每台主机配置静态IP地址(详细IP见2中表格)

    6、修改主机名hostname

    修改每台(13台)主机的hostname,分别为master、client、client_b、node1~node1。

    命令:hostname//查看主机名

    sudo vi /etc/hostname//打开hostname文件(root权限下可修改)

    7、配置hosts文件

    修改集群中所有节点的/etc/hosts文件,该文件是集群中所有节点的IP和主机名hostname的对应关系。

    命令:sudo gedit/etc/hosts//打开该文件

    添加:192.168.1.60master

    192.168.1.61 node1

    192.168.1.62 node2

    ……

    192.168.1.70 node10

    192.168.1.80 client

    192.168.1.81 client_b

    注:修改每个节点的hosts文件,且确保每个节点的hosts文件相同

    8、配置SSH免密码登录

    Spark的Master节点向Worker节点发命令需要通过ssh进行发送,用户不希望Master每发送一次命令就输入一次密码,因此需要实现Master无密码登录到所有Worker。这需要在Master上生成一个密钥对,包括一个公钥和一个私钥,然后将公钥复制到Worker上。

    当Master通过ssh连接Worker时,Worker就会生成一个随机数并用Master的公钥对随机数进行加密,发送给Worker。Master收到加密数之后再用私钥进行解密,并将解密数回传给Worker,Worker确认解密数无误之后,允许Master进行连接。这就是一个公钥认证过程,其间不需要用户手工输入密码,主要过程是将Master节点公钥复制到Worker节点上。

    (1)在Master节点上,生产密钥:

    # ssh-keygen -tdsa -P '' -f ~/.ssh/id_dsa

    此时,在~/.ssh/目录下生成id_dsa.pub文件,查看命令:

    # ls –a~/.ssh

    (2)复制Master的id_dsa.pub文件到其他slave节点、client、client_b

    将master结点上的~/.ssh/id_dsa.pub的内容,添加到slave结点的~/.ssh/authorized_keys这个文件中。命令如下:

    scp~/.ssh/id_dsa.pub hadoop@node1:~/.ssh/authorized_keys//添加到node1节点

    scp~/.ssh/id_dsa.pub hadoop@node2:~/.ssh/authorized_keys//添加到node2节点

    ……

    scp~/.ssh/id_dsa.pub hadoop@node10:~/.ssh/authorized_keys//添加到node10节点

    scp~/.ssh/id_dsa.pub hadoop@client:~/.ssh/authorized_keys//添加到client节点

    scp~/.ssh/id_dsa.pub hadoop@client_b:~/.ssh/authorized_keys//添加到client_b节点

    (3)验证是否可以无密码登陆

    在master结点上使用ssh连接其他slave结点,命令如下:

    # ssh node1

    ……

    # ssh node10

    # ssh client

    # ssh client_b

    9、Hadoop安装与配置

    (1)解压安装hadoop-2.6.0

    将下载后的hadoop-2.6.0.tar.gz(官网地址http://hadoop.apache.org/)解压到master节点的/home/hadoop目录下,配置好master节点的hadoop后复制到其他节点即可。

    解压命令如下:

    # tar xzfvhadoop-2.6.0.tar.gz

    复制命令如下:

    scp –r /home/hadoop/hadoop-2.6.0 hadoop@node1:/home/hadoop///复制到node1

    scp -r /home/hadoop/hadoop-2.6.0 hadoop@node2:/home/hadoop///复制到node2

    ……

    scp -r /home/hadoop/hadoop-2.6.0 hadoop@node10:/home/hadoop///复制到node10

    scp -r /home/hadoop/hadoop-2.6.0 hadoop@client:/home/hadoop///复制到client

    scp -r /home/hadoop/hadoop-2.6.0 hadoop@client_b:/home/hadoop///复制到client_b

    注:配置完之后再执行复制命令,且集群中所有的hadoop都安装在同一目录下。

    (2)配置Hadoop环境变量

    在/etc/profile文件中,添加以下代码:

    使profile文件更新生效:# source /etc/profile

    (3)编辑Hadoop配置文件

    hadoop配置文件都在hadoop-2.6.0/etc目录下,配置时需要修改7个配置文件,包括hadoop-env.sh、core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml、masters和slaves文件。

    ①修改hadoop-env.sh

    export JAVA_HOME=/home/hadoop/jdk1.8.0_40

    ②修改core-site.xml

    注:修改属性,以name和value的关系对出现。

    ③修改hdfs-site.xml

    注:在hadoop-2.6.0目录下,默认不存在dfs/name及dfs/data文件夹,需要新建。

    命令如下:

    cd/home/hadoop/hadoop-2.6.0/

    mkdir dfs

    cd dfs/

    mkdir name

    mkdir data

    ④修改yarn-site.xml

    ⑤修改mapred-site.xml

    ⑥配置masters文件

    ⑦配置slaves文件

    注:slaves文件仅包括集群中作为计算节点的主机名(这里不包括client和client_b)。

    配置完hadoop后,将hadoop2.6.0的所有文件通过scp命令复制到其他节点。

    (4)启动和关闭hadoop

    �格式化hdfs文件系统的namenode

    # cd hadoop-2.6.0///进入hadoop-2.6.0目录

    # bin/hdfs namenode -format//格式化

    ②启动hadoop集群

    # sbin/start-dfs.sh//启动hdfs(一次性启动namenode和所有datanode)

    # sbin/start-yarn.sh//启动yarn(一次性启动RM和所有NM)

    通过jps命令查看是否启动成功。

    ③关闭hadoop集群

    #sbin/stop-all.sh

    10、安装spark

    (1)下载spark-1.5.0-bin-hadoop2.6.tgz

    官网地址http://spark.apache.org/downloads.html

    (2)解压至目录/home/hadoop/spark-1.5.0-bin-hadoop2.6

    # tar–xzvf spark-1.5.0-bin-hadoop2.6.tgz

    (3)配置conf/spark-env.sh文件

    参数SPARK_WORKER_MEMORY表示在每一个Worker节点上可用的最大内存(总内存4g,增加这个数值可以在内存中缓存更多数据,但是要给Slave的OS和其他服务预留出足够的内存,故这里设置为3g)

    注:其他更复杂的配置参考官网的配置页面,地址为http://spark.apache.org/docs/latest/configuration.html

    (4)配置slaves文件

    进入spark安装目录,编辑/conf/slaves文件

    注:将配置好后的spark所有文件,通过scp命令复制到其他节点相同目录下。

    # scp –r /home/hadoop/spark-1.5.0-bin-hadoop2.6 hadoop@node*:/home/hadoop

    11、启动集群

    (1)启动hadoop

    进入hadoop2.6.0安装目录,执行#sbin/start-all.sh

    (2)启动spark

    进入spark安装目录,执行#

    sbin/start-all.sh(或者执行#sbin/start-master.sh、# sbin)

    (3)检测是否安装成功

    通过jps命令,查看启动的进程。master节点启动的进程有:NameNode、SecondaryNameNode、ResourceManager、Master;slaves节点启动的进程有:DataNode、NodeManager、Worker。

    至此,spark集群安装完成。

    二、Spark示例程序测试

    部署完Spark集群之后,以Spark项目中自带的SparkPi(计算)程序为例,测试Spark集群的性能。

    (1)启动hadoop、启动spark,进入Spark安装目录,执行:

    # bin/run-example org.apache.spark.examples.SparkPi

    (2)通过Web UI查看集群状态

    浏览器访问http://masterIP:8080,观察Spark集群的整个状态是否正常,如下图所示。masterIP配置为用户的Spark集群的主节点IP,这里为http://192.168.1.60:8080

    相关文章

      网友评论

        本文标题:Spark1.5.0的安装和部署

        本文链接:https://www.haomeiwen.com/subject/nfdjrttx.html