python dask_利用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 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搭建分布式集群相关推荐
- python搭建分布式集群_利用python的dask搭建分布式集群
一.dask介绍 优势:dask内部自动实现了分布式调度.无需用户自行编写复杂的调度逻辑和程序:通过调用简单的方法就可以进行分布式计算.并支持部分模型的并行化处理:内部实现的分布式算法:xgboost ...
- Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境
Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境 一.环境说明 个人理解: zookeeper可以独立搭建集群,hbase本身不能独立搭建集群需要和hado ...
- 使用VirtualBox搭建分布式集群环境记录
针对集群环境,工作中基本上都是直接申请真实的物理机,或者干脆让运维给一套多机.自己之前个人研究的时候也是使用之前从二手市场淘来的多台物理机组成的分布式集群,但是最近一不小心把其中两台搞坏了,加之确实比 ...
- VMware搭建分布式集群基础环境
VMware搭建分布式集群基础环境 1. 前言 在日常学习.工作当中,我们经常需要用到分布式集群环境,如zookeeper集群.redis集群.大数据集群等,而通常并没有那么多的物理机器可以使用,因此 ...
- 【干货】Dask快速搭建分布式集群(大数据0基础可以理解,并使用!)
非常开心,解决了很久都没有解决的问题 使用的语言: Python3.5 分布式机器: windows7 注意到,其实,通过这工具搭建分布式不需要管使用的电脑是什么系统. 分布式使用流程 Created ...
- Zookeeper3.4.11+Hadoop2.7.6+Hbase2.0.0搭建分布式集群
2019独角兽企业重金招聘Python工程师标准>>> 有段时间没更新博客了,趁着最近有点时间,来完成之前关于集群部署方面的知识.今天主要讲一讲Zookeeper+Hadoop+Hb ...
- redis3.0搭建分布式集群
redis高版本使用ruby实现了集群,所以需要ruby环境,安装ruby环境和redis的gem接口后,就可以使用redis的redis-trib.rb脚本创建集群. 先列一下大的步骤. 1.修改配 ...
- 利用闲置电脑安装虚拟机搭建hadoop集群
文章目录 前言 一.虚拟机环境的准备 二.连接虚拟机上的集群 1.整理需要连接的端口 2.配置VMware上虚拟机的端口转发 3.测试连接 总结 前言 本人刚开始学习大数据,记录自己的一些学习笔记.大 ...
- centos8搭建分布式集群
目录 1.1 前言 2.1 环境配置清单 2.2 CentOS8服务器配置静态ip 2.2.1 配置个人电脑的网络设置 2.2.2 配置VMware 2.2.3 配置服务器[电脑ip变更,则需重新配置 ...
最新文章
- 关于ubuntu 14.04 dpkg 问题
- 安卓开发怎么调用photopicker_谷歌出手整顿安卓应用程序乱象:无良权限的APP们再见了!...
- np.stack()函数详解 ==>堆叠 【类似于torch.stack()】
- 华大基因辟谣“基因编辑58个婴儿”;苹果发布头戴式耳机AirPods Max;Debian 10.7发布|极客头条...
- java抽奖_Java实现抽奖功能
- 无所不能java人_无所不能的java
- Linux gtk开发教程,使用GTK+和Glade快速开发Linux图形界面
- 归纳整理一些工作学习中发现的不错的网站、博客地址等(转载)
- Dijkstra算法,起点到当前点的最短距离及路径 C++实现
- 车牌号识别 python + opencv
- 接口文档神器---Swagger注解使用与实例
- canvas 角度 弧度 换算
- 【python--爬虫】彼岸图网高清壁纸爬虫
- 仿知乎悬浮功能按钮FloatingActionButton
- OpenCV的Masking操作
- 【算法练习】CodeVs1391 伊吹萃香(分层图最短路)
- 从万物归零到虚拟与现实交错
- 国腾GM7123C:功能RGB转VGA芯片方案简介
- 灵魂拷问:缓存与数据库的双写一致性如何保证?
- 什么是模块化?及其优缺点