python搭建分布式集群_利用python的dask搭建分布式集群
一、dask介绍
优势:dask内部自动实现了分布式调度、无需用户自行编写复杂的调度逻辑和程序;通过调用简单的方法就可以进行分布式计算、并支持部分模型的并行化处理;内部实现的分布式算法:xgboost、LR、sklearn的部分方法等
用一句话说:dask就是python版本的spark,是一个用Python 语言实现的分布式计算框架
二、dask安装
1.环境
建议使用:Anaconda3工具包
系统:windows、linux
2.安装
1.conda安装:conda install dask
2.pip 安装:pip install dask
3.source安装:
git clone dask/dask
cd dask
python setup.py install
3.分布式版安装
1.conda安装:conda install dask distributed-cconda-forge
2.pip 安装:pip install dask distributed --upgrade
3.source安装:
git clone https://github.com/dask/distributed.git
cd distributed
python setup.py install
三、dask集群搭建
1.启动主节点(类似注册中心)
本人实验环境:一台windows机器+3台虚拟化linux服务器,并4台机器均已按照上面步骤安装配置dask
选择Windows机器作为主节点,启动命令:
$ dask-scheduler
控制台显示信息如下:
distributed.scheduler - INFO - -----------------------------------------------
distributed.scheduler - INFO - Clear task state
distributed.scheduler - INFO - Scheduler at: tcp://192.168.1.42:8786
distributed.scheduler - INFO - :8787
distributed.scheduler - INFO - Local Directory: C:\Users\User\AppData\Local\Temp\scheduler-gd9uk980
distributed.scheduler - INFO - -----------------------------------------------
2.启动工作节点
在其他每台linux机器命令行输入:
$ dask-worker 192.168.1.42:8786
注意:后面跟的ip和端口是主节点的ip和对应服务的端口
工作节点启动成功后,此时主节点会显示多出信息:
distributed.scheduler - INFO - Register tcp://192.168.1.184:45772
distributed.scheduler - INFO - Starting worker compute stream, tcp://192.168.1.184:45772
distributed.core - INFO - Starting established connection
distributed.scheduler - INFO - Register tcp://192.168.1.183:43405
distributed.scheduler - INFO - Starting worker compute stream, tcp://192.168.1.183:43405
distributed.core - INFO - Starting established connection
distributed.scheduler - INFO - Register tcp://192.168.1.188:38095
distributed.scheduler - INFO - Starting worker compute stream, tcp://192.168.1.188:38095
distributed.core - INFO - Starting established connection
四、 dask集群使用
1.单机使用示例
"""单机dask"""
import time
from dask.distributed import Client
client = Client(asynchronous=True)
def square(x):
return x ** 2
def neg(x):
return -x
ts = time.time()
A = client.map(square, range(10000))
B = client.map(neg, A)
total = client.submit(sum, B)
print(total.result())
print('cost time :%s'%(time.time()-ts))
cost time :8.507587909698486
2.分布式版使用示例
"""分布式dask"""
import time
from dask.distributed import Client
client = Client('192.168.1.42:8786' ,asynchronous=True)
ts = time.time()
A = client.map(square, range(10000))
B = client.map(neg, A)
total = client.submit(sum, B)
print(total.result())
print('cost time :%s'%(time.time()-ts))
cost time :3.793848991394043
通过官网提供的测试例子可以看出dask的确体现了分布式的优势。
如果您觉得有帮助的话,可以扫码,赞赏鼓励一下!谢谢!
python搭建分布式集群_利用python的dask搭建分布式集群相关推荐
- python实现批量下载视频_利用Python实现批量下载腾讯视频!
原标题:利用Python实现批量下载腾讯视频! 导语 利用Python下载腾讯非VIP视频,也就是可以免费观看的视频.做这个的起因是最近在看一个叫"请吃红小豆吧"的动漫,一共三分钟 ...
- 利用python从网页查找数据_利用Python模拟淘宝的搜索过程并对数据进行可视化分析...
数据挖掘入门与实战 公众号: datadw 本文讲述如何利用Python模拟淘宝的搜索过程并对搜索结果进行初步的数据可视化分析. 搜索过程的模拟:淘宝的搜索页面有两种形式, 一种形式是, 2019/2 ...
- python 翻译库本地库_利用python爬取并翻译GEO数据库
原标题:利用python爬取并翻译GEO数据库 GEO数据库是NCBI创建并维护的基因表达数据库,始于2000年,收录了世界各国研究机构提交的高通量基因表达数据,现芯片集数据量高达12万以上.想要从这 ...
- python自动生成word报告_利用Python实现报告自动生成
前几天,在网上看到一篇介绍利用Python组件实现MS word内容生成的文章.可能是很久没接触编码,感觉在技术领域变得有点孤陋寡闻了,看见一些实用的功能都觉的屌屌的.以前经常通过代码写Excel文件 ...
- 钉钉python 自动发消息软件_利用Python自动发送钉钉数据消息,一个简单的上手小项目...
现在大部分公司都使用钉钉作为内部的主要沟通工具,钉钉消息基本都上都能快速有效的被阅读,打开率会比邮件高上不少.所以准备使用钉钉来播报平台每日的成交额,并附上一些鼓励的话和图片.起到一个激励团队的作用 ...
- python怎么去掉视频字幕_利用Python实现字幕挂载(把字幕文件与视频合并)思路详解...
其实超简单超简单!python好现成的库,一下子省略了好多步骤! 本文在Windows环境下!linux只是不需要手动输入imagicmagick的位置! 需要用到的环境 python(基本上只要不是 ...
- python制作心形照片墙_利用python生成照片墙的示例代码
PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...
- python怎么做面板数据分析_利用python进行数据分析之准备(一)
原标题:利用python进行数据分析之准备(一) 欢迎关注天善智能微信公众号,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区. 对商业智能BI.大数据分析挖掘.机器学习,python,R等数 ...
- python 物理学中的应用_利用python求解物理学中的双弹簧质能系统详解
前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...
最新文章
- 百度编辑器修改,不让它自动替换html标签
- 如何将自己写的verilog模块封装成IP核(二)
- 数据结构基础-Hash Table详解
- ASP.NET MVC 上传文件
- 【MATLAB教程案例1】通信系统中成形滤波器原理的MATLAB设计实现
- python简笔画怎么画_怎样用tk语句在Python下画一棵树
- 数据结构-图及其遍历
- 唏嘘!暴风影音官网、APP挂掉,办公地人去楼空,官方心酸回应...
- hadoop的部署以及应用
- C++编程语言中整型转换为字符串类型的方法
- 用Delphi在客户端执行Unix主机命令
- 安装mysql2005出错_SQL Server 2005 安装遇到的错误提示和解决方法
- html5设计基础报告,《网页设计与制作基础》实验报告.doc
- 使用Easy CHM制作java API chm文件
- 复数基础——二次公式的复根,复平面上标复数值点_7
- 使用观察者模式进行短信通知、预警日志记录
- 金字塔原理(pgn 项目计划、方案、汇报、总结、PPT等)
- 深度解析 ORA-01555 原因及解决方法
- ROS机器人Diego 1#制作(十四)机械臂的控制---arduino驱动
- 37 | 什么是SLI、SLO、SLA