一、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 https://github.com/dask/dask.git

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

关于分布式版本安装的注意事项(针对macos)请参考官网:

三、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 dask_利用python的dask搭建分布式集群相关推荐

  1. python搭建分布式集群_利用python的dask搭建分布式集群

    一.dask介绍 优势:dask内部自动实现了分布式调度.无需用户自行编写复杂的调度逻辑和程序:通过调用简单的方法就可以进行分布式计算.并支持部分模型的并行化处理:内部实现的分布式算法:xgboost ...

  2. Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境

    Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境 一.环境说明 个人理解: zookeeper可以独立搭建集群,hbase本身不能独立搭建集群需要和hado ...

  3. 使用VirtualBox搭建分布式集群环境记录

    针对集群环境,工作中基本上都是直接申请真实的物理机,或者干脆让运维给一套多机.自己之前个人研究的时候也是使用之前从二手市场淘来的多台物理机组成的分布式集群,但是最近一不小心把其中两台搞坏了,加之确实比 ...

  4. VMware搭建分布式集群基础环境

    VMware搭建分布式集群基础环境 1. 前言 在日常学习.工作当中,我们经常需要用到分布式集群环境,如zookeeper集群.redis集群.大数据集群等,而通常并没有那么多的物理机器可以使用,因此 ...

  5. 【干货】Dask快速搭建分布式集群(大数据0基础可以理解,并使用!)

    非常开心,解决了很久都没有解决的问题 使用的语言: Python3.5 分布式机器: windows7 注意到,其实,通过这工具搭建分布式不需要管使用的电脑是什么系统. 分布式使用流程 Created ...

  6. Zookeeper3.4.11+Hadoop2.7.6+Hbase2.0.0搭建分布式集群

    2019独角兽企业重金招聘Python工程师标准>>> 有段时间没更新博客了,趁着最近有点时间,来完成之前关于集群部署方面的知识.今天主要讲一讲Zookeeper+Hadoop+Hb ...

  7. redis3.0搭建分布式集群

    redis高版本使用ruby实现了集群,所以需要ruby环境,安装ruby环境和redis的gem接口后,就可以使用redis的redis-trib.rb脚本创建集群. 先列一下大的步骤. 1.修改配 ...

  8. 利用闲置电脑安装虚拟机搭建hadoop集群

    文章目录 前言 一.虚拟机环境的准备 二.连接虚拟机上的集群 1.整理需要连接的端口 2.配置VMware上虚拟机的端口转发 3.测试连接 总结 前言 本人刚开始学习大数据,记录自己的一些学习笔记.大 ...

  9. centos8搭建分布式集群

    目录 1.1 前言 2.1 环境配置清单 2.2 CentOS8服务器配置静态ip 2.2.1 配置个人电脑的网络设置 2.2.2 配置VMware 2.2.3 配置服务器[电脑ip变更,则需重新配置 ...

最新文章

  1. 关于ubuntu 14.04 dpkg 问题
  2. 安卓开发怎么调用photopicker_谷歌出手整顿安卓应用程序乱象:无良权限的APP们再见了!...
  3. np.stack()函数详解 ==>堆叠 【类似于torch.stack()】
  4. 华大基因辟谣“基因编辑58个婴儿”;苹果发布头戴式耳机AirPods Max;Debian 10.7发布|极客头条...
  5. java抽奖_Java实现抽奖功能
  6. 无所不能java人_无所不能的java
  7. Linux gtk开发教程,使用GTK+和Glade快速开发Linux图形界面
  8. 归纳整理一些工作学习中发现的不错的网站、博客地址等(转载)
  9. Dijkstra算法,起点到当前点的最短距离及路径 C++实现
  10. 车牌号识别 python + opencv
  11. 接口文档神器---Swagger注解使用与实例
  12. canvas 角度 弧度 换算
  13. 【python--爬虫】彼岸图网高清壁纸爬虫
  14. 仿知乎悬浮功能按钮FloatingActionButton
  15. OpenCV的Masking操作
  16. 【算法练习】CodeVs1391 伊吹萃香(分层图最短路)
  17. 从万物归零到虚拟与现实交错
  18. 国腾GM7123C:功能RGB转VGA芯片方案简介
  19. 灵魂拷问:缓存与数据库的双写一致性如何保证?
  20. 什么是模块化?及其优缺点

热门文章

  1. .Net的垃圾回收机制
  2. win10家庭版升级专业版操作步骤
  3. 25个故事性网页设计,轻松讲述网页独有的故事!!!
  4. Maven配置文件修改
  5. 旷世神作,腾讯高工手写13万字JDK源码笔记,从底层远吗 带你飙向实战
  6. CPU上下文切换、进程上下文、中断上下文
  7. 不要把希望寄托在别人身上
  8. 小学生朋友,算我一个
  9. 【学习笔记】Half-GCD
  10. 用JCIFS下载windows共享文件