测试:使用scalatest
ScalaTest通过简单、清晰的测试和可执行的规范来提高团队的生产力,同时改进代码和沟通效率。 ScalaTest是Scala生态系统中最灵活、最流行的测试工具。支持测试:Scala、Scala.js(Javascript)和Java代码。可与JUnit、TestNG、Ant、Maven、sbt、ScalaCheck、JMock、EasyMock、Mockito、ScalaMock、Seleni
ScalaTest通过简单、清晰的测试和可执行的规范来提高团队的生产力,同时改进代码和沟通效率。 ScalaTest是Scala生态系统中最灵活、最流行的测试工具。支持测试:Scala、Scala.js(Javascript)和Java代码。可与JUnit、TestNG、Ant、Maven、sbt、ScalaCheck、JMock、EasyMock、Mockito、ScalaMock、Seleni
最近公司给客户做的系统遇到大量爬虫爬取,造成系统资源消耗增高、系统响应降低…… 因为项目时间比较紧,没有更多时间在功能和代码层面上进行修改来上一套反爬虫系统。权衡以后决定使用Nginx提供的请求限流功能来实现一个简单的反爬虫机制。待以后再详细规划、设计反爬虫系统。 我们一直使用的是阿里发布的Nginx重发行版:Tengine,本文也将基于Tengine来介绍Nginx的限流控制。 ngx_http
ETL里的38种子系统和ETL里的34种子系统Ralph Kimball和Joe Caserta于2004年编写的《The Data Warehouse ETL Toolkit》一书系统的阐述了ETL这一概念及建设ETL系统的要点,将ETL从BI的一部分抽离了出来。随后,这本书里的一些思想形成了一篇文章《ETL里的38个子系统》,系统总结了ETL项目要面临的不同任务。我们还可以在网上找到原始的这篇
本文介绍在 CentOS 7 环境下使用 Ambari2.5 (HDP2.6) 搭建大数据环境。 推荐使用如下脚本将 Ambari/HDP 相关软件包下到本地后配置 yum 源安装,在线安装速度太慢会经常遇到包找不到情况。 1234567891011nohup wget -c http://public-repo-1.hortonworks.com/ambari/centos7/2.x/
Linux,你必需知道的磁盘、进程、内存 保存数据的磁盘 实际处理数据的进程 存储各种运行信息的内存 磁盘和文件Linux系统没有盘符的概念,它和所有类UNIX系统一样,有一个树型结构的文件系统。 123456789101112131415161718192021$ tree -d -L 1 //├── bin -> usr/bin├── boot├── dev├── etc├── ho
《PostgreSQL 从入门到不后悔》 《PostgreSQL 高可用:逻辑复制》 《PostgreSQL 高可用 - PG 11 集群》 安装 PostgreSQL 10下载 PostgreSQL 10,postgresql-10.1-3-linux-x64-binaries.tar.gz。下载地址:https://get.enterprisedb.com/postgresql/postg
备份和数据恢复关于镜像Cassandra 通过直接保存所有在data目录中的磁盘数据文件(SSTable file)的镜像来备份数据。当系统还在线的时候,你可以保存所有的keyspace数据或者单个keyspace数据,或者某一张表的数据。 使用并行的ssh工具,比如pssh,你可以给整个集群做镜像。这提供一种最终一致性备份。虽然没有一个节点可以在镜像制作过程中保证他和备份节点数据的一致性,Cas
迁移注意事项 保证 ES 集群不再接受新的数据(如果是备份的话,这一点可以不考虑,但是做数据迁移的话,建议这样做)。同一个 repository 只应有一个集群可写,其它集群都应以 readonly 模式连接。 不建议直接在生产环境做这些操作,最好是先在本地搭建一个和生产环境一样的集群环境,创建一些测试数据,把整个过程先跑一遍,然后再到生产环境操作。 dn126 为要备份的源数据节点,而 loc
高可用性:数据库服务器可以一起工作, 这样如果主要的服务器失效则允许一个第二服务器快速接手它的任务 负载均衡: 允许多个计算机提供相同的数据 本文使用的主要技术有: CentOS 7 x86_64 PostgreSQL 9.6.5 系统安装、配置CentOS 7 安装12[hldev@centos7-001 ~]$ sudo yum -y install https://download
在本章中,你将学到如何从零使用Sbt来搭建一个Scala工程,如何将Scala工程导入Intellij IDEA集成开发环境。同时,我们将使用scalatest以TDD的方式来编写代码。 本章的要点包括: 下载并使用sbt: http://www.scala-sbt.org/ 使用Intellij IDEA编写Scala:https://www.jetbrains.com/idea/ 使用sca
在日常工作中,写电子文档是个很普遍的事情。之前一直用Microsoft Word、Libreoffice Writer来写,但总感觉不方便,很多的精力都浪费在了调整格式上。而使用 Sphinx 来写电子文档,则可以把你从调整格式的泥潭中解放出来。Sphinx 是一款基于 Python的文档处理工具,Python官方的文档就是使用它来写的。Sphinx 使用reStructuredText 格式来定
Elasticsearch 是一个优秀的全文检索和分析引擎,由 Shay Banon 发起的一个开源搜索服务器项目,2010 年 2 月发布。具有分布式性质和实时功能。 本文基于 5.x 版本,需要使用 Java 8 update 20 或更新版。 配置Elasticsearch 使用很方便,默认开箱即用。不过做为一个集群,还是需要稍做一些配置。整个配置都位于 config 目录,可以看到两个文件
hanlp-ext 插件源码地址:https://github.com/hualongdata/hanlp-ext Elasticsearch 默认对中文分词是按“字”进行分词的,这是肯定不能达到我们进行分词搜索的要求的。官方有一个 SmartCN 中文分词插件,另外还有一个 IK 分词插件使用也比较广。但这里,我们采用 HanLP 这款 自然语言处理工具 来进行中文分词。 Elasticsear
Akka Http 是Akka社区提供的一个 Http服务端/客户端通用工具包,支持 Http 1.0/1.1标准及WebSocket,现在 Http 2 的支持也在紧锣密鼓的实现中。 这篇文章将介绍Akka HTTP Server,我们将介绍Akka Http的常用功能模块及使用方式。Akka Http提供了一套强大、易用、易扩展的route dsl来构建路由。Akka Ht
本文介绍在 CentOS 7 环境下使用 Ambari2.5 (HDP2.6) 搭建大数据环境。 推荐使用如下脚本将 Ambari/HDP 相关软件包下到本地后配置 yum 源安装,在线安装速度太慢会经常遇到包找不到情况。 12345wget -c http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.5.1.
操作系统修改操作系统的 TCP keepalive 1sudo /sbin/sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_intvl=60 net.ipv4.tcp_keepalive_probes=5 集群机制一致性哈希 Gossip 协议:用于在环内节点之间传播 Cassandra 状态信息 Snitch:支
安装 Oracle 数据库本文基于 RHEL6/Centos6/Neokylin6,其它发行版请注意区别。 安装依赖软件包 1sudo yum install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 gcc-c++ glibc glibc.i686 glibc-devel glib
本文将以Spring Boot为例,介绍下实际工作中的Java/Scala互操作。在提高个人效率、满足自我追求的情况下更多的照顾到团队不同人的实际。同时也是想说明,在同一个工程里混用Java和Scala语言是可能的。 本文源代码在:http://git.oschina.net/hualongdata/spring-starter 对于Scala不熟悉的Java程序员可以先看看:《写给J
(这是一篇迟来的文章,从3月份计划到成文花了5个月多……以后需要避免这样的低效率。) 之前写第一篇文章时,只是想试试在Spring中使用Scala。但现在随着工作的需要,已经决定在应用层基于Spring boot进行开发。后面的数据服务和数据整合部分将采用Akka。作者是一个Scala粉,但不脑残。鉴于团队、招人及社区生态多方面考虑,整体使用Scala技术栈还是比较困难的。之前就有考虑过把Spri
输入法(fcitx)解决某些软件不能使用问题,如:Idea, Emacs 设置如下环境变量到/etc/bash.bashrc或~/.bashrc配置文件,重启系统或注销后重新登录即可。 1234export XMODIFIERS="@im=fcitx"export QT_IM_MODULE="fcitx"export QT4_IM_MODULE="