spark-shell客户机设置

原创 2015年11月19日 15:56:53

本文介绍spark集群客户机的设置

安装程序

spark集群是standalone集群

在root帐号下,从spark集群的master上复制spark1.5.2的安装包到目录下,这样配置文件就已经复制过来,其实主要是zookeeper的配置。

owner为root,group和other用户都是可以读和运行

drwxr-xr-x  14 root  root  4.0K Nov 16 11:48 spark-1.5.2-bin-hadoop2.6
里面的metoastore.db的写权限需要放开

drwxrwxrwx  5 root root  126 Nov 16 14:15 metastore_db


配置环境变量


现在可以在这台机器上建立帐号,比如dean帐号。然后设置全局的环境变量,在/etc/profile中添加

export JAVA_HOME=/letv/java
export MASTER=spark://10-149-*-*:7077,10-149-*-*:7077,10-149-*-*:7077
export PATH=/letv/spark-1.5.2-bin-hadoop2.6/bin:$PATH
export PATH=$JAVA_HOME/bin:$PATH
特别是MASTER环境变量,能够让用户不需要每次输入--master参数

用dean登录后,运行spark-shell,然后到spark master的UI站点看看

ID: app-20151119144454-0036
Name: Spark shell
User: dean
Cores: Unlimited (168 granted)
Executor Memory: 1024.0 MB
Submit Date: Thu Nov 19 14:44:54 CST 2015
State: RUNNING
Application Detail UI

而集群总资源是

Alive Workers: 7
Cores in use: 168 Total, 168 Used
Memory in use: 874.5 GB Total, 7.0 GB Used
Applications: 1 Running, 36 Completed
Drivers: 0 Running, 0 Completed
Status: ALIVE

可以看到cpu核都被占据了,内存只用了1GB


资源管理

spark-shell提供几个资源控制的参数,下面是一个例子:

spark-shell --executor-memory 4G --total-executor-cores 10 --executor-cores 1
--executor-memory 默认1GB 是每个executor占用的内存

--total-executor-cores 所有executor总共使用的cpu核数

--executor-cores 每个executor使用的cpu核数

这样就限制了总cpu核数为10, executor数目为10

仍然想通过环境变量来简化启动命令,可惜不支持,必须传参数。要想想别的招。

改写脚本,就是$@的至修改为资源控制的参数,如下面修改spark-shell.sh

  else
    export SPARK_SUBMIT_OPTS
    RESOURCE_OPTIONS="--executor-memory 1G --total-executor-cores 10 --executor-cores 1 "
    CMD_OPTIONS=$RESOURCE_OPTIONS$@
    echo "CMD_OPTIONS: " $CMD_OPTIONS
    "$FWDIR"/bin/spark-submit --class org.apache.spark.repl.Main --name "Spark shell" $CMD_OPTIONS
  fi

增加了两个变量

RESOURCE_OPTIONS和CMD_OPTIONS,为了让用户看到发生了什么,用echo将参数打印出来,

比如启动spark-shell的时候:

$ spark-shell
CMD_OPTIONS:  --executor-memory 1G --total-executor-cores 10 --executor-cores 1

那么如果需要针对不同的用户设置不同的资源权限呢,把脚本写的复杂点就可以了。这个不再多说。

:)





版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

eclipse工作区设置workset

刚刚发现了eclipse的一个不错的功能。 在eclise的package explorer 栏上我们是不是经常会有一堆项目 包括开源,公司的,自己写来测试的项目,一大堆,结果就如下图显示的那样 ...

eclipse中把多个项目放在一个work set下

使用eclipse时,项目越来越多,但是删除或者close project这种方法也不是很实用,于是我找到了这个办法,但是网上说的很不详细,因此决定记一下。 Package Explorer视图就是...

VirtualBox 共享文件夹设置(windows7主机,linux客户机)

设置VirtualBox共享文件夹之前需要安装VirtualBox Guest Additions.     共享文件夹就是使主机的wendows和客户机linux能彼此共享文件。在当前的架构情...
  • s98
  • s98
  • 2012年02月13日 10:14
  • 709

centos 6.5 设置FTP服务器 与客户机连接FTP服务器

服务器端

virtualbox虚拟机设置文件夹共享,主机是window xp ,客户机是 fedora15

环境:主机操作系统是 window xp ,客机是fedora 15 ,虚拟机是virtualbox 4.1.0   1.安装增强功能包(Guest Additions)     首先配置安装好...
  • lkcumt
  • lkcumt
  • 2011年10月20日 15:32
  • 760

linux主机,win7客户机 在virtulbox下设置共享目录步骤

用virtualbox在客户机和主机之间建立一个共享目录,是用来主客机之间传送数据方便。virtualbox不像vmware一样可以在主机上复制一个文件后,直接到客户机中粘贴传送数据这么简单。在vir...

vmware8 下设置共享文件夹全手册(客户机windows XP,ubuntu,宿主机win 7/XP)

装了好多次虚拟机,也设置了同样多的Share Folder,今天稍微总结下。 一、首先,虚拟机中要使用共享文件夹,一定要先安装vmware tool 如果虚拟机是windows xp系统: 启动...

一个简单的服务器和客户机程序

这个例子将以最简单的方式运用套接字对服务器和客户机进行操作。服务器的全部工作就是等候建立一个连接,然后用那个连接产生的Socket创建一个InputStream以及一个OutputStream。在这之...

如何修改DB2 客户机 DB2CODEPAGE

SQL0332N Reason Code 1dos> db2 connect to db_name user xxx using***SQL0332N 没有从源代码页“819”至目标代码页“1386”...
  • Rockcai
  • Rockcai
  • 2011年06月30日 10:08
  • 4855

OpenStack使用Bosh部署CloudFoundry(二)—准备Bosh Cli客户机

目录(?)[-] 安装Ruby运行时环境安装Git客户端安装Bosh Cli Gem安装fog组件验证openstack环境 版本说明: CloudFoundry...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spark-shell客户机设置
举报原因:
原因补充:

(最多只允许输入30个字)