cheap medications premarin 1.25mg tablets estrogen contents, cheap medications buy wellbutrin no rx needed, cheap online buy baclofen online, cheap online order flagyl er pay pal online without prescription, pharmacy cheapest where to buy buy doxycycline online, online cheap medications buy overnight delivery lasix fedex, buy cheap purchase diflucan, cheap online buy neurontin online overnight cod, cheap pharmacy fedex acyclovir overnight without a rx, order cheap what is norvasc, buying cheap buy arimidex free consultation,

存档

2018年7月 的存档

基于Mesos的网页爬虫框架RENDLER

2018年7月10日 没有评论

RENDLER是一个基于Apache Mesos的分布式爬虫框架,有很多值得借鉴的东西,大家可关注下。

Mesos-RENDLER-01

Mesos-RENDLER-02

https://github.com/mesosphere/RENDLER
http://mesosphere.github.io/presentations/hack-week-2014

安装 vagrant ssh

先运行 https://github.com/mesosphere/RENDLER/blob/master/cpp/README.md

Mesos-RENDLER-03

Mesos-RENDLER-04

分配的CPU和内存

Mesos-RENDLER-05

mv result.dot ../

cd /home/vagrant/hostfiles/bin

./make-pdf

Generating ‘/home/vagrant/hostfiles/result.pdf’


分类: Mesos & DC/OS 标签:

DC/OS的HDFS持久化管理

2018年7月9日 没有评论

DC/OS除了高效、低成本集群/数据中心管理外,在大数据分析和有状态服务有明显优势。

而有状态服务主要通过 dcos-commons 提供。

如:http://192.168.0.250/metadata

dcos-commons Simplifying stateful services for Kafka, Cassandra, HDFS, Spark, and TensorFlow with DC/OS. dcos-commons文档

DC/OS HDFS版本迭代更新也是放在dcos-commons仓库里的。

dcos-hdfs-01

因为HDFS是DC/OS官方支持的持久化存储方案,所以采用解决容器和状态持续化服务。

实施这套部署方案

dcos-hdfs-02

DC/OS HDFS 提供以下功能:

  • Single-command installation for rapid provisioning
  • Persistent storage volumes for enhanced data durability
  • Runtime configuration and software updates for high availability
  • Health checks and metrics for monitoring
  • Distributed storage scale out
  • HA name service with Quorum Journaling and ZooKeeper failure detection。

HDFS节点配置信息

    "journal_node": {
		"cpus": 0.5,
		"mem": 4096,
		"disk": 10240,
		"disk_type": "ROOT",
		"strategy": "parallel"
	},
    "name_node": {
		"cpus": 0.5,
		"mem": 4096,
		"disk": 10240,
		"disk_type": "ROOT"
	},
    "zkfc_node": {
		"cpus": 0.5,
		"mem": 4096
	},
	"data_node": {
	    "count": 3,
		"cpus": 0.5,
		"mem": 4096,
		"disk": 10240,
		"disk_type": "ROOT",
		"strategy": "parallel"
	}

HDFS的一些端口信息,三类:名字节点、日志节点、数据节点

{
    "hdfs": {
		"name_node_rpc_port": 9001,
		"name_node_http_port": 9002,
		"journal_node_rpc_port": 8485,
		"journal_node_http_port": 8480,
		"data_node_rpc_port": 9005,
		"data_node_http_port": 9006,
		"data_node_ipc_port": 9007,
		"permissions_enabled": false,
		"name_node_heartbeat_recheck_interval": 60000,
		"compress_image": true,
		"image_compression_codec": "org.apache.hadoop.io.compress.SnappyCodec"
   }
}

HDFS部署时可能出现的错误,主要是SSL配置问题:

2018/04/23 14:21:26 No $MESOS_SANDBOX/.ssl directory found. Cannot install certificate. Error: stat /var/lib/mesos/slave/slaves/e1d2e6c5-6a6e-455d-96cc-f2b17213c33f-S2/frameworks/e1d2e6c5-6a6e-455d-96cc-f2b17213c33f-0000/executors/hdfs.6e37052e-46be-11e8-83f7-16e3007733d8/runs/ac880e14-2b5e-4dda-b6ab-f1b784264f8b/.ssl: no such file or directory
2018/04/23 14:21:26 SDK Bootstrap successful.
Exception in thread "main" java.lang.NullPointerException
	at java.util.Base64$Decoder.decode(Base64.java:549)
	at com.mesosphere.sdk.hdfs.scheduler.Main.getHDFSUserAuthMappings(Main.java:122)
	at com.mesosphere.sdk.hdfs.scheduler.Main.createSchedulerBuilder(Main.java:61)
	at com.mesosphere.sdk.hdfs.scheduler.Main.main(Main.java:49)
I0423 14:21:30.079073    13 executor.cpp:933] Command exited with status 1 (pid: 15)
I0423 14:21:31.081287    10 checker_process.cpp:244] Stopped HTTP health check for task 'hdfs.6e37052e-46be-11e8-83f7-16e3007733d8'
I0423 14:21:31.082377    14 process.cpp:1068] Failed to accept socket: future discarded

可参考SSL in Mesos



Data Science and Machine Learning on DC/OS

2018年7月8日 没有评论

KNIME和H2O是数据科学和机器学习的两个重要的选择。

KNIMEH2O.ai是两个开源的Data Science和 Machine Learning解决方案,能很好的替代SAS和SPSS等商业软件。

Gartner-2018-Magic-Quadrant-for-Data-Science-and-Machine-Learning

Magic Quadrant for Data Science and Machine-Learning Platforms

KNIME Analytics Platform拥有超过1000个模块,数百个即可运行的示例,全面的集成工具,以及最广泛的高级算法选择,是任何数据科学家的完美工具箱。

KNIME和H2O,大家可持续关注和深入研究。

此外,SMACK也提供了完整的数据平台架构和软件基础设施堆栈参考:

SMACK

数据处理平台架构中的SMACK组合:Spark、Mesos、Akka、Cassandra以及Kafka

我们先在DC/OS上部署数据科学和机器学习软件基础设施,

然后对现有的数据做些分析。

Zeppelin & Spark on DC/OS可以作为初步的分析形态,它能快速切入数据分析领域。

一个参考架构:从搭台到唱戏,电商卷皮BI的实践演进和架构体系

使用了三个主要开源软件:

Saiku提供了一个多维分析的用户操作界面,可以通过简单拖拉拽的方式迅速生成报表,它的主要工作是根据事先配置好的schema,将用户的操作转化成MDX语句提供给Mondrian引擎执行。

Mondrian是一个OLAP分析的引擎,主要工作是根据事先配置好的schema,将输入的多维分析语句 MDX (Multidimensional Expressions )翻译成目标数据库/数据引擎的执行语言(比如SQL)。

Presto是一个分布式SQL查询引擎, 它被设计为用来专门进行高速、实时的数据分析。它支持标准的ANSI SQL,包括复杂查询、聚合(aggregation)、连接(join)和窗口函数(window functions)。

当前这个架构是我们第三个版本的架构。

第一个版本我们是直接用的Mondrian+Mysql,但是我们发现Mondrian的界面太丑了,所以在第二版加入了Saiku。但是随着业务数据量的增加,Mysql的查询性能很快就到瓶颈了,所以在第三个版本用Presto替代了Mysql。

Presto on DC/OS

Jupyter is the new front end for data science and AI.

基于PostgreSQL/Greenplum构建数据仓库(DW/OLAP) + Presto(SQL引擎)组成基础的数据仓库平台。

基于Zeppelin的数据分析和数据交互。

Apache-Zeppelin

修改不能导入超过1M JSON文件的限制,JSON file size cannot exceed 1 MB

docker run -it mesosphere/zeppelin:0.7.3-2-all-2.2.1-1-hadoop-2.6  bash

vim conf/zeppelin-env.sh 可上传4M

export ZEPPELIN_WEBSOCKET_MAX_TEXT_MESSAGE_SIZE="4096000"
./bin/zeppelin-daemon stop
./bin/zeppelin-daemon start

修改的数据没生效,应该是需要为镜像提供持久化服务,需为Zeppelin镜像分配一个持续化卷volume

基于IMDB电影评论的实验,此实验可用于对用户评论的分析。

在这里LDA(Latent Dirichlet allocation)是指隐含狄利克雷分布;另一个LDA缩写是线性判别分析(Linear Discriminant Analysis, LDA)也可一同了解,这是一种降维技术。

参考:线性判别分析LDA原理总结

LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的。我们要将数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大。如:红色和蓝色两类数据,让每一种类别数据的投影点尽可能的接近,而红色和蓝色数据中心之间的距离尽可能的大。

Latent-Dirichlet-allocation-LDA

步骤:

  • 数据读取:为方便可将部分mysql数据导入csv表
  • 数据预处理:
  • 主题检测:使用隐含狄利克雷分布(LDA),每个主题使用4个关键词,共8个主题。
  • 分组:

2000条评论数据,编号从Row0–>Row1999

IMDB

主题提取,并行LDA处理。4个关键词,8个主题。

每个评论划分为8个主题,指定分值高的为分配主题。ps:可理解为关键词出现频度,如:欢乐谷、好、很棒、不好等等。

IMDB-LDA

8个主题检测出来,也可以理解8种评论主题检测出来:

IMDB-Group

经典例子:鸢尾花数据集,通过花萼、花瓣的大小进行聚类。

iris-dataset

K-均值聚类算法

聚类是一种无监督的学习,将相似的对象归到同一个簇中。聚类与分类的最大不同在于分类的目标事先已知,而聚类则不知道。

K-均值聚类算法是发现给定数据集K个簇的算法。如下图所示,如果设定的聚类簇数是4,那么理想的K-均值算法可以按照两条黑线将所有数据分为4类:

iris-dataset-02

实战这个例子:

iris-dataset-KNIME

核心关键:Cluster Model,这里使用了 PMML Cluster Model,构建了9个群族。

iris-dataset-KNIME-PMML

通过H2O机器学习对鸢尾花进行分类。

iris-dataset-KNIME-H2O

Deploying a Load-Balanced Data Pipeline

twitter

以Twitter作为数据源(100K tweets),使用Kafka、Cassandra、Marathon-LB、Zeppelin进行数据分析。


分类: AI-BI-ML-DL-NLP, Mesos & DC/OS 标签:

Spring Cloud Data Flow on DC/OS

2018年7月8日 没有评论

Spring Cloud Data Flow构建数据集成和实时数据处理流水线。

主要用于数据处理场景,如:导入/导出事件流和预测分析等。

它有多种实现部署方式:

https://cloud.spring.io/spring-cloud-dataflow/

我们主要关注 Spring Cloud Data Flow for Apache Mesos

spring-cloud-dataflow-arch

spring-cloud-dataflow-server-arch

https://cloud.spring.io/spring-cloud-dataflow-server-mesos/


Tomcat Cluster on DC/OS

2018年7月7日 没有评论

基本思路和做法:

把Tomcat放到Docker里,然后由DC/OS调度Tomcat容器集群运行、管理。

Tomcat 8 集群架构

tomcat-cluster-dcos-01

tomcat-cluster-dcos-02

https://github.com/docker-library/tomcat

https://github.com/dcos/examples/tree/master/tomcat/

先运行三个Tomcat实例

tomcat-cluster-dcos-03

通过Marathon-LB可以实现多个Tomcat节点的负载均衡。在下述示例中,我们部署3个Tomcat应用服务,每个Tomcat应用服务公开8080端口,然后通过Marathon-LB的10010端口统一对外提供服务。

多个Tomcat实例通过端口portDefinitionsHAPROXY_GROUP标签定义与Public Agent节点上的Marathon-LB进行绑定。

tomcat-cluster-dcos-04

现在已有的的HAProxy标签组

tomcat-cluster-dcos-05

给Tomcat加上标签

tomcat-cluster-dcos-06

3个Tomcat实例会重新部署。


分类: Java, Mesos & DC/OS, Web Server 标签:

微服务Microservices框架

2018年7月6日 没有评论

一说到微服务,我们马上会想到:Spring Cloud & Netflix OSS

Microservices

其实,还有一些微服务框架值得更多关注,如Go开发的Go kit、Istio和C++开发的Service Fabric和TSeer 。

https://github.com/go-kit/kit
https://github.com/istio/istio
https://github.com/Microsoft/service-fabric
https://github.com/Tencent/TSeer

TSeer是一套服务注册发现容错的解决方案,是对Tars名字服务功能的轻量化。在腾讯浏览器、应用宝、管家、手机书城、腾讯文学、广点通等众多业务中广泛采用,目前日均承载百亿级别的请求量。

pptseer

此外,ACE也可以作为一个不错的微服务框架使用,通过ACE Service Configurator可以动态地配置以下服务:短时服务、长时服务、内部服务、外部服务、有状态服务、无状态服务、分层式/模块化服务等等。

Microservices-3

Microservices-4

Microservices-5

Java是大多数公司研发的首选,其实,Go语言对构建微服务有天然优势,基于Go、Docker & K8S 和 OpenShift 能快速构建完整的互联网应用基础设施和交付平台。

将Istio分布式集群部署:Istio on Kubernetes on Mesos on AWS

istio-k8s-dcos

个人倾向,通过Go去更多替代Java,且从容器、微服务和持续交付快速入手。

有关微服务的一些信息:Microservices

Microservices-1

Microservices-2

另外,除GitLab外,Gogs也可作为更多Git仓库选择。