spark安装部署

环境:jdk1.8.0_111,scala-2.12.1,spark-2.1.0,Hive-2.1.1,hadoop-2.7.3

一、master安装

1.下载spark-2.1.0-bin-hadoop2.7.tgz并解压:

   $tar -zxvf  spark-2.1.0-bin-hadoop2.7.tgz

   $sudo mv spark-2.1.0-bin-hadoop2.7 spark-2.1.0-bin

   $sudo spark-2.1.0-bin /usr/local

2.配置环境变量

   $sudo gedit ~/.bashrc

   添加以下内容

   export  SPARK_HOME=/usr/local/spark-2.1.0-bin

   export  PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

3.SPARK配置

    进入conf目录当中

    $cd $SPARK_HOME/conf

    复制spark-env.sh.template 到 spark-env.sh。

     $sudo cp spark-env.sh.template spark-env.sh

     编辑 spark-env.sh,在其中添加以下配置信息:

       export SCALA_HOME=/usr/local/scala-2.12.1

export JAVA_HOME=/usr/local/jdk1.8.0_111

        export SPARK_MASTER_IP=192.168.8.3

export SPARK_WORKER_MEMORY=512m

export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop

SPARK_WORKER_MEMORY 指定的是 Worker 节点能够分配给 Executors 的最大内存大小; 

 

将 slaves.template 拷贝到 slaves, 编辑其内容为:

master

slave1

slave2

master 既是 Master 节点又是 Worker 节点。如果集群是单节点伪分布,则只在slaves中填写master,master应该是自己的主机名字。比如我的是Desktop1,则编辑的内容应该是:

Desktop1

slave1

slave2

二、slave安装

slave1与slave2都参照master的安装

三、sparksql on hive配置

1.在master机器上的$SPARK_HOME/conf目录下面新建hive-site.xml,并添加以下内容:

 

<configuration>
<property>
        <name>hive.metastore.uris</name>
        <value>thrift://master:9083</value>
        <description>thrift URI for the remote metastore.Used by metastore client to connect to remote metastore. </description>
</property>
</configuration>

因为用sparksql操作hive实际上是把hive 当做数据仓库。数据仓库肯定有元数据和数据本身。要访问真正的数据就要访问他的元数据。所以只需要配置hive.metastore.uris 即可。(不需在每台机器上配置)  

 

2.将$HIVE_HOME/lib中的mysql驱动(mysql-connector-java-x.y.z.jar)拷贝到$SPARK_HOME/lib目录下。

3.启动metastore

$hive --service metastore &

4.启动spark-shell

5.启动spark-sql

在启动4与5之前应先启动hadoop。如果4,5都能正常启动,说明配置成功了。

6.执行start-master.sh

如果执行$jps命令,看到在进程中多了一个master进程,则说明启动成功。

 

zhang@Desktop1:~$ start-master.sh
starting org.apache.spark.deploy.master.Master, logging to /usr/local/spark-2.1.0-bin/logs/spark-zhangchao-org.apache.spark.deploy.master.Master-1-Desktop1.out
zhang@Desktop1:~$ jps
2932 DataNode
12677 Jps
3320 SecondaryNameNode
2809 NameNode
12633 Master
11821 RunJar

 

 

 

7.执行start-slaves.sh

如果执行$jps命令,看到在进程中多了一个worker进程,则说明启动成功。

 

<strong>zhang@Desktop1:~$ start-slaves.sh
Desktop1: Warning: Permanently added 'desktop1' (ECDSA) to the list of known hosts.
Desktop1: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark-2.1.0-bin/logs/spark-zhangchao-org.apache.spark.deploy.worker.Worker-1-Desktop1.out
zhang@Desktop1:~$ jps
2932 DataNode
3320 SecondaryNameNode
2809 NameNode
12633 Master
12794 Jps
12763 Worker
11821 RunJar</strong>

 

在浏览器中访问Master的8080端口,可以看到各个节点的状态

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值