DCOS之marathon技术文档

DCOS之marathon技术文档
DCOS之marathon技术文档

Marathon 说明文档

一、Marathon介绍 (2)

二、Marathon之安装指引篇 (5)

三、Marathon之应用篇 (7)

3.1 基础应用 (7)

3.2 运行远程资源 (9)

3.4 容器运行 (12)

3.5 健康检查 (15)

3.6 约束语法 (17)

3.7 应用群组 (20)

3.8 命令行设臵 (22)

3.9 应用部署 (23)

3.10 事件总线 (26)

3.11 应用实例 (28)

四、Marathon之高可用篇 (31)

五、Marathon之SSL与基本认证篇 (32)

5.1 使用SSL (32)

5.2 生成带有SSL密钥的keystore (32)

5.3 启用基础认证 (34)

六、Marathon之服务发现篇 (35)

6.1 DNS相关概念 (35)

6.2 Mesos-DNS介绍 (39)

6.3 Mesos-DNS安装与配臵 (44)

6.4 Mesos-DNS运行 (44)

七、Marathon之负载均衡篇 (47)

7.1 Marathon-Bridge and HAProxy (47)

7.2 Bamboo and HAProxy (52)

八、Marathon之应用迁移篇 (57)

Marathon 说明文档

中移苏研-邹能人一、Marathon介绍

Marathon是一个mesos框架,能够支持运行长服务,比如web应用等。是集群的分布式Init.d,能够原样运行任何Linux二进制发布版本,如Tomcat Play等等,可以集群的多进程管理,实现服务的发现,为部署提供提供REST API服务,SSL与基础认证、配臵约束,通过HAProxy、DNS实现服务发现和负载平衡,可定制化监控策略实现Task(一个App 对应多个Task)的自动扩缩,Dcos架构与操作系统架构对比如图1.1所示。

图1.1 Dcos架构与操作系统架构

Mesos仅仅是适用于集群的管理,这意味着它可以隔离不同的任务负载。但是仍然需要额外的工具来帮助工程师查看不同系统上运行的工

作负载。不然的话,如果某些工作负载消耗了所有资源,那么重要的工作负载可能就难以及时地获得资源。

Marathon是一个“元架构”,它可以让Mesos和Chronos变得更好用,随着Mesos一起运行,并且在运行工作负载的同时提供了更高的可用性,让用户可以添加资源以及自动的故障转移,如图1.2所示。

图1.2 Chronos与marathon

不像Chronos在Mesos之上调度作业,Marathon让Chronos在Mesos 的内部进行运行,通过这种方式,Chronos也变成Marathon所管理的一项工作。Chronos的优势在于处理和调度Hadoop作业和其他短期的任务,而Marathon则可以直接管理Chronos和那些长期运行的Web服务。Marathon甚至可以运行多个实例。

图1.3 集群运行三个不同的应用

图1.4 某一节点失联

从更广的层面而言,像Marathon这样的项目将来可能会在SDN(软件定义的网络)、存储,甚至是DCOS(数据中心操作系统)有更大的作为。

二、Marathon之安装指引篇

安装需求:

Apache Mesos 0.24.0+

Apache ZooKeeper

JDK 1.6+

测试环境

节点角色

10.133.19.25docker私有镜像库

10.134.29.141dcos集群部署workstation

10.134.29.136mesos-master、zookeeper

10.134.29.135mesos-master、zookeeper

10.134.29.134mesos-master、zookeeper、UI

10.134.29.133mesos-slave

10.134.29.132mesos-slave

10.134.29.144mesos-slave

10.134.29.129 mesos-slave

安装过程

①、安装Mesos

简单的方法是通过系统的包管理来安装,当然也可以使用源码安装mesos,具体可以参考Mesos官网。

②、安装Marathon

通过Package Manager,Marathon可以从软件仓库中下载。

$ curl -O

https://www.360docs.net/doc/3c7790814.html,/marathon/v0.15.2/marathon-0.15.2.tgz $ tar xzf marathon-0.15.2.tgz

③、生产环境下运行

生产环境下启动Marathon,需要ZooKeeper和Mesos同时运行,下面的命令将会在生产环境中启动Marathon,将你的web浏览器的localhost 设为8080,将会看到Marathon的界面。

$ ./bin/start --master zk://10.134.29.134:2181

10.134.29.135:2181,10.134.29.136:2181/mesos --zk zk://10.134.29.134:2181,10.134.29.135:2181,10.134.29.136:2181/marathon Marathon使用--master参数去发现Mesos的master节点,使用--zk发现ZooKeeper,因为两者之间相对独立,所以Mesos master节点也使用其他方式来发现,比如etcd等。

对于marathon所有的参数设臵选项,请查看marathon之命令行篇。对于Marathon更多的高可用特性,请查阅marathon之高可用篇。

④、Mesos Library

MESOS_NATIVE_JA V A_LIBRARY:通过bin/start可以找到通常的安装路径, /usr/lib和/usr/local/lib,如果你为链接库设臵了其他路

径,MESOS_NATIVE_JA V A_LIBRAR 需要设臵为其它环境变量,设臵如下。

$MESOS_NATIVE_JA V A_LIBRARY=/Users/bob/libmesos.dylib ./bin/start --maste zk://10.134.29.134:2181 10.134.29.135:2181,10.134.29.136:2181/mesos

--zk zk://10.134.29.134:2181,10.134.29.135:2181,10.134.29.136:2181/marathon

启动应用

Marathon应用的介绍以及如何执行,请查阅Marathon之应用篇。

三、Marathon之应用篇

3.1 基础应用

将下述代码,保存为shell.json:

{

"id": "shell",

"cmd": "while [ true ] ; do echo 'Hello Marathon' ; sleep 5 ; done",

"cpus": 0.1,

"mem": 10.0,

"instances": 1

}

执行下述命令行:

curl http://10.134.29.134/v2/apps -d @shell.json -H "Content-type: application/json"

其将json文件通过marathon api /v2/apps传递给marathon调度器,请求创建一个实例,资源需求为0.1cpu、10M内存,执行shell命令行。cmd 将被发送给Mesos底层执行器进行执行,通过/bin/bash -c ${cmd}。

打开dcos控制台,跳转到marathon管理界面,如图3-1所示,可以看到名为shell的App正在运行,App在marathon框架中被定义为长服务,一对多的关系,即为一个App可以有多个task。

图3-1

对图3-1,可以发现marathon提供app的自动扩展,健康检查以及运行

情况的健康,日志管理等功能。

marathon对app的生命周期进行有效的管理,首先介绍其自动扩缩功能,选择Scale Application进行快速扩容,在如图3-2中填上10,即可扩展到10个实例。

图3-2

如下图3-3所示,shell app扩展到10个实例。

图3-3

既然可以扩展,当然也可以销毁,选择你所需销毁的task,点击kill & scale即可,如果点击kill,marathon将会继续创建task至10个为止。使用ps命令查看shell所在节点的进程ID,使用lsof查看该进行打开的文件,结果如图3-4所示。

图3-4

除了使用命令行创建app,当然也可以使用Web-UI创建,点击主界面的create,在弹出选框中填入相应参数即可,具体如图3-5所示。

图3-5

这一小节,关于marathon的基础应用部分介绍完毕,下面小节将介绍marathon如何应用远程资源。

3.2 运行远程资源

对于复杂应用,无法通过cmd命令传递所有操作,对于此类情况,Marathon提供uri参数,在执行调度前,利用Mesos fetcher来下载、解压操作来提取资源。

在深入探讨此话题前,透过实例来了解应用场景:

{

"id": "resource",

"cmd": "./shell.sh",

"cpus": 0.1,

"mem": 10.0,

"instances": 1,

"uris": [

"http://10.128.3.75/images/shell.sh"

]

}

上述实例在执行cmd前,会通过Mesos下载

http://10.128.3.75/images/shell.sh,之后会在所选slave节点的应用sandbox 中执行该资源,可以通过web界面查看该任务的sandbox,单击进入页面,可以发现Mesos下载的shell.sh脚本。

需要注意的是,Mesos v0.22及以上版本在默认情况下执行cmd的方式,是先设权限后执行,因此,cmd命令类似于chmod u+x shell.sh && sh shell.sh。

除了上述提及的功能之外,Marathon框架自身清楚框架内的应用资源。当然,Marathon对于下述文件将首先尝试解压并提取资源:?.tgz

?.tar.gz

?.tbz2

?.tar.bz2

?.txz

?.tar.xz

?.zip

对于此功能,可以假设以下场景:有一应用的压缩文件位于http://10.128.3.75/images/shell.zip,此压缩文件包含shell脚本shell.sh,cmd需要执行此脚本,json文件可以如下:

{

"id": "shell",

"cmd": "shell/shell.sh",

"cpus": 0.1,

"mem": 10.0,

"instances": 1,

"uris": [

"http://10.128.3.75/shell.zip"

]

}

uris对资源进行定位下载,Marathon支持多种协议类型,种类如下所示:?file:

?http:

?https:

?ftp:

?ftps:

?hdfs:

?s3:

?s3a:

?s3n:

uri的值是数组类型,可以支持同时输入多个资源:

{

...

"uris": [

"https://https://www.360docs.net/doc/3c7790814.html,/zouyee/repo.zip",

"http://10.128.3.75/images/shell.sh",

"ftp://10.128.3.75/images/my-other-file.css"

]

...

}

3.4 容器运行

3.4.1 简单应用

Marathon可以使用docker对应用进行高效快捷的部署,在下述应用实例中,使用docker部署一简单web应用:使用Docker的python:3镜像,启动一个容器内部端口8080的服务,网络模式选择bridge,因此有portMapping选项,在其字段中,hostport值设为0,意味着Marathon任意分配映射到外部的端口,json内容如下所示:

{

"id": "web",

"cmd": "python3 -m http.server 8080",

"cpus": 0.5,

"mem": 32.0,

"container": {

"type": "DOCKER",

"docker": {

"image": "python:3",

"network": "BRIDGE",

"portMappings": [

{ "containerPort": 8080, "hostPort": 0 }

]

}

}

}

通过HTTP API接口启动该应用:

curl -X POST http://10.134.29.134:8080/v2/apps -d web.json -H "Content-type: application/json"

通过dcos client启动该应用,dcos marathon app add web.json

通过Marathon web UI界面可以看到名为web的应用已经运行。

图3-6

3.4.2 端口分配

Marathon涉及到端口配臵或者端口概念的地方有三处,第一部分是在应用配臵的container中的portMapping,主要有containerport、hostport、serviceport,如图3-7所示,第二处在应用配臵的Optional settings中的Ports,如图3-8所示,第三处在实际App中某一Task 分配的port(s),如图3-9所示。

图3-7 container中的portMapping

图3-8 Optional settings中的Ports

图3-9 Task分配到的port

通过图3-7可以发现,Port Mappings包括Container Port、Host Port、Service Port、Protocol等字段,图3-8可以发现,Optional settings 包含Ports字段。

containerPort:container Port指定在容器内部的端口,它适用于docker的bridge网络做port mapping。

hostPort:host Port指定主机绑定端口,当使用BRIDGE网络,需要指定从主机端口到容器端口的port mapping,当使用HOST网络,请求端口默认为主机端口。

BRIDGE网络:docker应用可以使用BRIDGE网络。在此网络环境中,container port(容器内部端口)对应host port(主机上的端口)。

HOST网络:HOST网络可用于非docker的Marathon应用和docker应用,此模式中,应用直接绑定主机的一或者多个端口。

ports:这个port需要被视作一种资源,在使用HOST网络时,就需要设定。

protocol:协议指定使用的端口(比如tcp、udp)

servicePort:Marathon不绑定此端口,其被用作服务发现。

如果在portMapping中containerPort设为0,它的值将会与hostPort一致,hostPort将随机分配,默认范围在31000-32000之间。

3.5 健康检查

健康检查针对的是App下的每一个Task,Marathon框架通过健康检查来实现应用的故障恢复,健康检查实现了对Task的生命周期的管理。

Marathon将应用的可恢复性与监控检查结合在一起,在状态发现变化时,触发scale操作,保证原有的可用服务的数量,如图3-10所示是Marathon健康检查的状态机。

Task有三种活动状态:健康,非健康和扩展中,状态变化根据逻辑运算进行判定,三个参数主要是:请求实例数i,健康实例数h,运行实例数r。

当h=r !=i时,即健康实例数等于运行实例数但不等于请求实例数,运行状态将变为scaling,启动i-r个实例。

Marathon在健康检查中设臵了相关选项,健康检查主要有三种方式:HTTP、TCP、COMMAND,主要选项有以下几种:

其中gracePeriodSeconds、intervalSeconds、MaxConsecutiveFailures、timeoutSeconds适用于所有检查方式,portIndex、port适用于TCP与HTTP,path、ignoreHttp1xx只适用于HTTP。

1)intervalSeconds:健康检查周期,默认为60s

2)timeoutSeconds:健康检查等待的超时失败时间,默认为20s

3)path:健康检查的请求访问路径,支持HTTP,默认为/

4)gracePeriodSeconds:允许忽略的检查失败最长时间,默认为300s。

5)MaxConsecutiveFailures:规定在多少次健康检查失败后为unhealthy服务,默认为3s

6)protocol:健康检查采用的协议,对于COMMAND,欲使其有效,需要在Marathon启动时设臵”--executor health_checks”选项,其表明未明确executor时的默认选择为HTTP

7)portIndex:对服务进行健康检查时,访问的目的端口是host port,在Marathon中是随机分配的,并且一个服务可以存在多个端口,因此使用portIndex定义健康检查的端口的索引值,默认为0。

8)ignoreHttp1xx:忽略返回状态码100-199,默认为false,健康检查获取的返回码在此范围内,查询结果无效,状态保持不变。

9)command:Marathon的健康检查基于最初的端口资源规则,对于Docker容器,服务端口即监听端口地址都与此规则不同,例如Docker 容器要求像虚机一样有主机的IP,并且每个服务端口都是特定的,那么这样的情况就需要使用command方式,使用外部命令行实现。

下述三个实例分别使用HTTP、TCP和COMMAND实现健康检查。

HTTP如下所示:

}

"path": "/api/health",

"portIndex": 0,

"protocol": "HTTP",

"gracePeriodSeconds": 300,

"intervalSeconds": 60,

"timeoutSeconds": 20,

"maxConsecutiveFailures": 3,

"ignoreHttp1xx": false,

}

TCP如下所示:

{

"portIndex": 0,

"protocol": "TCP",

"gracePeriodSeconds": 300,

"intervalSeconds": 60,

"timeoutSeconds": 20,

"maxConsecutiveFailures": 0

}

COMMAND如下所示:

{

"protocol": "COMMAND",

"command": { "value": "curl -f -X GET http://$HOST:$PORT0/health" }, "gracePeriodSeconds": 300,

"intervalSeconds": 60,

"timeoutSeconds": 20,

"maxConsecutiveFailures": 3

}

图3-10 Marathon健康检查的状态机3.6 约束语法

3.6.1 概念

Marathon可以通过Constraints来控制其app在何处运行,可以通过Marathon的HTTP API或者dcos client来设臵app的constraints配臵。

Constraints由三个部分组成:字段名(field name),操作(operator), 可选参数(optional parameter),其中字段名(field name)可以为mesos的一个slave的hostname或者Mesos slave的attribute。hostname 匹配slave 的hostnames。

hostname支持所有的operator,attribute 匹配Mesos slave的attributes字段。我们可以通过在mesos节点上运行mesos-slave --help来学习如何设臵mesos slave的attributes。

3.6.2 实例介绍

结合实例,来介绍下Marathon Constrains的用法,主要分为UNIQUE操作、CLUSTER操作、GROUP_BY操作、LIKE操作、UNLIKE 操作。

UNIQUE是一种唯一性约束,它强制Marathon对app中的task 对资源进行独占,资源的类型根据字段名(field name)来确定,下面有个约束实例,其只允许名为shell的app的一个task只运行在一台主机之上:

$ curl -v -X POST http://10.134.29.134:8080/v2/apps \

-H Content-Type:application/json -d '{

"id":"shell",

"container": {

"type": "DOCKER",

"docker": {

"image": "10.13319.25:5000/bcec/nginx",

"network": "BRIDGE",

"portMappings": [

{ "containerPort": 80, "hostPort": 0, "protocol": "tcp"}

]

}

},

"constraints": [["hostname", "UNIQUE"]],

"cmd": "",

"cpus": 0.1,

"mem": 64.0,

"instances": 17

}'

其中field name = hostname, operator = UNIQUE, 在每个slave上只起一个instance。Dcos集群的slave节点只有16个slave,因此在Marathon 的管理界面上看到app shell为ustaged状态。

CLUSTER与UNIQUE是相反的,CLUSTER让App的task运行在共享资源中,资源的类型根据字段名(field name)来确定,下面有两个约束实例。实例一的约束要求是task运行到slave_id为slave_public的服务器上。

$ curl -X POST -H "Content-type: application/json"

10.134.29.134:8080/v2/apps -d '{

"id": "shell",

"cmd": "echo …shell?",

"instances": 3,

"constraints": [["slave_id", "CLUSTER", "slave_public"]]

}'

实例二要求是task运行到host为dcos7的主机上。

$ curl -X POST -H "Content-type: application/json"

10.134.29.134:8080/v2/apps -d '{

"id": "shell-2",

"cmd": "echo …shell?",

"instances": 2,

"constraints": [["hostname", "CLUSTER", "dcos7"]]

}'

GROUP_BY能够让task按照某属性进行均匀分配到所有资源上以保证高可用。例如下述约束条件,其将task按照slave_id字典的值进行资源分组。

$ curl -X POST -H "Content-type: application/json"

10.134.29.134:8080/v2/apps -d '{

"id": "test_for_group-by",

"cmd": "sleep 60",

"instances": 3,

"constraints": [["slave_id", "GROUP_BY"]]

}'

如果不想按照slave_id进行依次分配,则可以设臵参数来规定分组数。$ curl -X POST -H "Content-type: application/json"

10.134.29.134:8080/v2/apps -d '{

"id": "test_for-group-by_value",

"cmd": "sleep 60",

"instances": 3,

"constraints": [["slave_id", "GROUP_BY", "3"]]

}'

上述实例设臵task只在3个slave_id中进行分发。

LIKE接受一个正则作为参数,将task分配到满足此正则表达式的slave节点上,例如,下述约束要求将task分配到id在1-3之间。$ curl -X POST -H "Content-type: application/json"

10.134.29.134:8080/v2/apps -d '{

"id": "test_like-group-by",

"cmd": "sleep 60",

"instances": 3,

"constraints": [["slave_id", "LIKE", "slave-[1-3]"]]

}'

UNLIKE与LIKE刚好相反,它同样接受一个正则作为参数,将task分配到满足此正则表达式的slave节点之外,例如,下述约束要求将task分配到id在1-3之外。

$ curl -X POST -H "Content-type: application/json"

10.134.29.134:8080/v2/apps -d '{

"id": "test_unlike-group-by",

"cmd": "sleep 60",

"instances": 3,

"constraints": [["slave_id", "UNLIKE", "slave-[1-3]"]]

}…

3.7 应用群组

柴油发电机购销合同(合同范本)

( 合同范本 ) 甲方: 乙方: 日期:年月日 精品合同 / Word文档 / 文字可改 柴油发电机购销合同(合同范 本) Constrain both parties to perform their responsibilities and obligations together, and clarify the obligations that both parties need to perform within the time limit

柴油发电机购销合同(合同范本) 甲方:有限公司 法人代表: 地址: 乙方:有限公司 法人代表: 地址: 甲方依据“ X X ”招标采购的要求,与乙方本着自愿、平等、互利、诚实信用的原则,通过友好协商,现授权各自代表按照下述条款签署本合同。 设备名称:柴油发电机并网柜(详见附件)防护等级均为4级以上。 数量:捌台 2.1下述文件是构成本合同不可分割的部分:

(1)本合同条款及其所有附件; 2.2如果乙方的投标文件及质疑解答文件内容违背或低于甲方招标文件要求或任何可能导致影响当次采购目的的情形,均应当被视为乙方自动放弃投标文件及质疑解答文件中相应部分而同意以招标文件相应内容为准。如果乙方的投标文件及质疑解答文件内容高于甲方招标文件要求,则以乙方的投标文件及质疑解答文件内容为准。如果合同条款与合同附件有矛盾之处,以合同条款内容为准。如果合同附件之间有矛盾之处,以合同附件三的内容为准。 2 、柴油发电机并网柜合同标的 2.1本合同标的为下列货物及货物安装、调试、售后质量保证及技术支持、培训等服务:详见本合同附件一。 3.2货物名称、数量、技术规格、产品说明、单价、总价、折扣率等详见本合同附件一。 3 、柴油发电机并网柜交货时间、地点 3.1 交货时间:。 3.2 交货地点:。

柴油发电机组购销合同

柴油发电机组购销合同 合同编号:买方: (甲方) 卖方: (乙方) 甲乙双方遵循平等、自愿、公平和诚实信用的原则,经协商达成以下合同条款:一、乙方提供的设备名称、型号、数量、价格如下: 序号机组 型号柴油机型号额定 功率电机单位数量单价 (rmb) 1 备注 合计人民币: 二、合同的价格: 1.合同含税总金额为:。 2.付款货币为人民币。 三、付款方式 a、甲方在合同签订时支付乙方20%货款元整,作为该合同的定金。 b、甲方在货到达工地卸货后7天内支付乙方65%货款元整。 c、机组安装调试经甲方验收合格后7天内支付乙方12%货款元整。 d、余款保修期满后7天内付清3%货款元整。 四、交货时间、地点及包装运输 个工作日通知。7交货时间:具体到货日期由甲方提前1. 2.在履行合同过程中,如果乙方遇到不可抗力原因影响按时交货和提供服务的情况时,应在情况发生后三天内以书面形式将拖延的事实,可能拖延的期限和理由通知甲方。甲方在收到通知后,应尽快对情况进行分析,并确定是否通过修改合同,酌情延长交货时间。 3.交货地点:甲方指定工地内。 4.供货清单:机组设备及基础槽钢、随机自启动控制柜、烟囱、消声器、弯头、散热器(风扇、水箱)、随机工具、使用说明书、质量证书、保修卡等所有资料应齐全。 五、质量保证 ⑴乙方应保证所提供的货物是全新的(产品应为原厂合格产品,不得有使用过或 已维修过产品),并完全符合合同规定的质量、规格和性能要求; ⑵在保修期内:如机组出现故障,乙方应在接到甲方通知后两个小时内到达现场处理;如果乙方在接到甲方通知后不给予维修,每次应支付甲方违约金元,由此造成的损失将由乙方另行赔偿;若24小时无法修复,我方立即提供免费配件更换,更换的质量保证期从更换之日起相应顺延(人为因素除外)。 六、检验 在交货前,双方应对货物质量、规格、数量等进行详细全面的检验及书面记录。

柴油发电机品牌区分

发电机组主要有两部分;柴油机,电机两部分组成,现就这两部分的行业情况,做一简要阐述。 一、柴油机 柴油机是机组的核心部分,按照行业不成文的规则基本划分如下。 1、一类品牌是合资或者独资企业 包括重庆康明斯发动机有限公司、杭州帕金斯发动机有限公司,华柴道依茨发动机有限公司为主,杭州斯太尔发动机有限公司,这些厂家基本采用国外先进技术,国外原厂图纸,工艺,国外技术人员检测,所以这些产品质量要好一点,性价比高一点,但是价位稍高。 2、二类品牌是原机电部几个国营大厂,现在改制后的上市公司产品 包括无锡动力股份有限公司,上海柴油机股份有限公司,南通柴油机股份有限公司,济南柴油机股份有限公司等,这些老国营企业,都是几千人的大厂,这些工厂国家多年投入很多,技术成熟,设备过硬,工人素质高,基本都是上市公司,市场占有率很高,产品价格比合理,国内市场占有率排名靠前。 3、三线品牌是上海的一些小厂 这些小厂基本都在上海,比如上海凯普,上海巨友,上海卡特杰,上海乾能,上海日野,等等,这些小厂有个共同特点A、就是起一个高达上的名字,包装的非常华丽,让客户误以为这是个很好的发动机厂,或者被误认为是原来的上海柴油机股份公司,打

擦边球。B,虚标功率,柴油机拉负载可能拉到500KW就再也拉不上去了,但是这些小厂敢把标牌写上800KW,给用户造成一种虚假印象是买的800KW的,其实到家了500KW一大关了。C,价格便宜的离谱。因为小厂的东西配件不用正品,并且加工设备和检测设备简陋(比如一套正宗形式试验线要上千万,所以小厂不可能投入,而用一套几万元的简陋落后的代替),再加上虚标的功率空档,所以给用户造成虚假的便宜假象。D,这些小厂成立时间短,整个工厂没有大厂的一个车间人多,怎么可能生产过硬的产品。 二、电机 电机机是把油机的机械能转换成电能的核心部分,按照行业不成文的规则基本划分如下。 1、一类品牌是合资或者独资企业 包括无锡康明斯发电机技术中国有限公司斯坦牌、上海革新马拉松电器有限公司马拉松牌,汾西机器厂西门子牌等,这些厂家都是原来的老国企开放后引进基本采用国外先进技术,图纸,工艺,或者许可证后成立的企业,这些产品先进,质量可靠,性价比高,但是价位稍高。 2、二类品牌基本上是原来老国企或者是从一线电机厂出来的技术人员搞的电机厂 包括兰州电机厂、闽东电机集团,广州英格电机厂,无锡法拉第电机厂,无锡星诺电机厂等等,这些厂原来就是国企的底子比如蓝电,或者买国外的图纸生产,客观说这些厂的产品质量也不错。性价比比较合理,市场也认可。

柴油发电机销售技巧

柴油发电机销售技巧

如何让你成为电商销售精英 前言: 技巧与经验是长期积累总结出的,所以任何情况下不要怀疑这些经验的正确性。我们必须得承认,经验与技巧不是在任何情况下都能通用,很多时候在特定情况下甚至会产生错误的结果,但不要怀疑经验与技巧,只要正确率超过70%,就是好的经验与技巧,就值得即使因此错失了客户也坚持下去。 一、报价前必须详细了解客户情况。 1.客户单位情况,采购经手人情况 1.1.客户是国营单位或大型企业,报价须比底价高20%以上,这些单位对产品质量 要求高,对价格不敏感,经手人一般害怕质量不好单位追究责任,对比过价格 之后一般不会考虑低价产品。一定要提醒对方价格中含回扣。 1.2客户是私营企业老板或个人,报价正常报高出底价10%以上,不可提及回扣。 1.3客户是私营企业采购人,报价正常报高出

底价15%以上提醒对方价格中含回扣 1.4客户是经销商,直接报底价,告诉他这是经销商底价。 1.5客户是中间人,正常报高出底价10%以上,表明这种情况很多,我方能充份保证 他能拿到他应得的,打消其不信任。 以上信息可从询问对方单位以及在下面询问具体使用情况时侧面了解。 2.客户发电机组使用情况 2.1客户是常用机,需要长期连续使用发电机,最低档次推荐上柴股份,切不可推荐 低档产品。 2.2客户是备用机,作为停电临时保障使用,可视客户情况灵活推荐。 2.3客户使用地区、环境。有针对性推荐。 3.客户设备具体功率 3.1了解客户设备具体设备功率,计算发电机组启动功率,根据客户具体情况给出建 议,避免出现机组到现场无法使用的情况。 3.2了解客户设备具体功率,为客户推荐机型就可做到心中有数。

20KW柴油发电机报价

Shanghai Ou Bao Industrial Co., Ltd. 报价单 非常高兴能有机会与你建立联系,并祝愿我们以后合作愉快:大泽TOYO 是一家,发电机,发电电焊机专业的制造商, 已经通过3C 认证,通过出口CE 、PCC 认证,属于行业知名品牌,大泽所以产品均走高端路线,产品质量有保证,大泽产品 供一年保修,终身维护。 TO22000ET :大泽发电机系列特点: 1选用享誉全球的日本大泽の OHV 发动机作为原始动力。。 2 配备优质的自激2 极旋转磁场/AVR 自动电压调节发电机。 或配备免维护无刷电机,随时随地提供稳定电压。 3简洁易懂的控制操作面板。 4高效大泽 OHV 发动机四冲程发电机,比对同级油耗减少15%。 大泽動力TO22000ET 详细参数 一、技术规范 额定输出KW 20 22 最大功率KW 24 26 额定频率Hz 50 60 额定电压V 380/220 额定转速rpm 1500 1800 相 数: 单相三相 功率因数: 0.8/1.0 调节方式: A VR (自动电压调节器) 噪音水平 LP7m:65-75db 频率调整: (%):≤±0.5(稳态) 电压波动: (%):≤±0.5 发动机技术参数: 动力型号: YOTOTI2200 品 牌: 大泽の動力 缸 径: 4*101*116MM 气缸排列方式:直列排列 气缸数量: 4缸 冷却方式: 封闭式水循环冷却

供油方式:直喷 调速方式:电子调速 进气方式:自然吸气 机油型号:15W/40CD 燃油型号:0#轻柴油 柴油油箱:120L 机组耗油量:206g/kw?h 润滑油油箱:13L 电机技术参数: 电机型号:TO22000ET 额定功率:20KW 额定电流A 90.9/52.6 接线方式:三相四线、Y形接法 防护等级:IP22 绝缘等级:H级别 其他配置: 机组外形尺寸(L×B×H):1950×850×1100MM 机组重量(kg):580 低油压报警系统可自动关闭发动机。 电启动保证了机组可快速启动。 新型电压自动调节器,保证了电压平稳输出。 二、执行标准: 国际标准认证ISO9001:2000 行业执行标准GB/T2820.5-09 三、配置 a)标准配置 工业用水冷柴油发动机 单轴承防滴式发电机,IP22防护,绝缘等级H 50℃环境温度散热器,双层散热 电启动 标准空气过滤器 出线开关 钢制底座带防震垫 消声器 蓄电池

20KW柴油发电机报价

Shanghai Ou Bao Industrial Co., Ltd. 报价单 非常高兴能有机会与你建立联系,并祝愿我们以后合作愉快:大泽TOYO是一家,发电机,发电电焊机专业的制造商,已经通过3C认证,通过出口CE 、PCC认证,属于行业知名品牌,大泽所以产品均走高端路线,产品质量有保证,大泽产品供一年保修,终身维护。 大泽编号TOYOベスト产品名称数量最低单价 (RMB) 品牌 TO22000ET 20KW静音柴油发电机 1 32600/台大泽の动力 备注:以上价格均为含税17%,不含国内运输费用 TO22000ET:大泽发电机系列特点: 1选用享誉全球的日本大泽の OHV 发动机作为原始动力。。 2 配备优质的自激2 极旋转磁场/AVR自动电压调节发电机。或配备免维护无刷电机,随时随地提供稳定电压。3简洁易懂的控制操作面板。 4高效大泽 OHV发动机四冲程发电机,比对同级油耗减少15%。 大泽動力TO22000ET详细参数 一、技术规范 额定输出KW 20 22 最大功率KW 24 26 额定频率Hz 50 60 额定电压V 380/220 额定转速rpm 1500 1800 相数:单相三相 功率因数:0.8/1.0 调节方式:A VR(自动电压调节器) 噪音水平LP7m:65-75db 频率调整:(%):≤±0.5(稳态) 电压波动:(%):≤±0.5 发动机技术参数: 动力型号:YOTOTI2200 品牌:大泽の動力 缸径:4*101*116MM 气缸排列方式:直列排列 气缸数量:4缸 冷却方式:封闭式水循环冷却

供油方式:直喷 调速方式:电子调速 进气方式:自然吸气 机油型号:15W/40CD 燃油型号:0#轻柴油 柴油油箱:120L 机组耗油量:206g/kw?h 润滑油油箱:13L 电机技术参数: 电机型号:TO22000ET 额定功率:20KW 额定电流A 90.9/52.6 接线方式:三相四线、Y形接法 防护等级:IP22 绝缘等级:H级别 其他配置: 机组外形尺寸(L×B×H):1950×850×1100MM 机组重量(kg):580 低油压报警系统可自动关闭发动机。 电启动保证了机组可快速启动。 新型电压自动调节器,保证了电压平稳输出。 二、执行标准: 国际标准认证ISO9001:2000 行业执行标准GB/T2820.5-09 三、配置 a)标准配置 工业用水冷柴油发动机 单轴承防滴式发电机,IP22防护,绝缘等级H 50℃环境温度散热器,双层散热 电启动 标准空气过滤器 出线开关 钢制底座带防震垫 消声器 蓄电池

柴油发电机购销合同完整版

柴油发电机购销合同完整 版 In the case of disputes between the two parties, the legitimate rights and interests of the partners should be protected. In the process of performing the contract, disputes should be submitted to arbitration. This paper is the main basis for restoring the cooperation scene. 【适用合作签约/约束责任/违约追究/维护权益等场景】 甲方:________________________ 乙方:________________________ 签订时间:________________________ 签订地点:________________________

柴油发电机购销合同完整版 下载说明:本协议资料适合用于需解决双方争议的场景下,维护合作方各自的合法权益,并在履行合同的过程中,双方当事人一旦发生争议,将争议提交仲裁或者诉讼,本文书即成为复原合作场景的主要依据。可直接应用日常文档制作,也可以根据实际需要对其进行修改。 甲方:有限公司 法人代表: 地址: 乙方:有限公司 法人代表: 地址: 甲方依据“X X ”招标采购的要求,与乙方本着自愿、平等、互利、诚实信用的原则,通过友好协商,现授权各自代表按照下述条款签署本合同。 设备名称:柴油发电机并网柜(详见

附件)防护等级均为4级以上。 数量:捌台 2.1下述文件是构成本合同不可分割的部分: (1)本合同条款及其所有附件; 2.2如果乙方的投标文件及质疑解答文件内容违背或低于甲方招标文件要求或任何可能导致影响当次采购目的的情形,均应当被视为乙方自动放弃投标文件及质疑解答文件中相应部分而同意以招标文件相应内容为准。如果乙方的投标文件及质疑解答文件内容高于甲方招标文件要求,则以乙方的投标文件及质疑解答文件内容为准。如果合同条款

柴油发电机组报价书范本

报价文件 位于广东省广州市增城经济技术开发区的柴油发电机组生产基地外貌实景,欢迎您的光临! 项目名称: 报价单位: 工厂地址: 电话传真: 联系人:

目录 1、报价一览表 (3) 1.1、A03栋\一台16缸额定1000KW发电机组及配套工程报价表 (3) 1.2、A03栋\一台12缸额定1000KW发电机组及配套工程报价表 (3) 1.3、A03栋\二台额定500KW发电机组及配套工程报价表 (4) 1.4、A08栋\一台额定400KW发电机组及配套工程报价表 (4) 1.5、A10栋\一台额定400KW发电机组及配套工程报价表 (4) 2、材料及配置清单 (5) 2.1、A03栋\一台额定1000KW发电机房环保消音工程材料清单 (5) 2.2、A03栋\二台额定500KW发电机房环保消音工程材料清单 (6) 2.3、A08栋\一台额定400KW发电机房环保消音工程材料清单 (7) 2.4、A10栋\一台额定400KW发电机房环保消音工程材料清单 (8) 2.5、A03栋\二台额定500KW发电机(全自动并机柜)配置清单 (9) 3、公司简介 (10) 4、报价人资质 (12) 4.1、报价人生产基地实况 (12) 4.2、企业营业执照 (15) 4.3、ISO 9001质理管理认证 (16) 4.4、ISO 14001环境管理体系认证 (17) 4.5、OHSAS 18001职业健康安全管理认证 (18) 5、售后服务介绍 (19) 5.1、售后服务部故障处理流程图 (19) 5.2、售后服务承诺 (20) 5.3、售后服务主要人员介绍 (26) 6、报价人工程案例 (26) 7、控制器介绍 (27) 7.1、功能特点: (27) 7.2、测量和显示数据: (27) 7.3、面板LED指示灯 (28)

相关文档
最新文档