主页

安装Spark1.5.2与Hadoop2.6.2

build spark 1.5.212./dev/change-scala-version.sh 2.11./make-distribution.sh --name hadoop2.6-scala2.11 --tgz -Phadoop-2.6 -Pyarn -Phive -Phive-thriftserver -Dscala-2.11 1.6+可以添加:-Psparkr以支持 Spark R。 创

Cassandra用户认证

Cassandra默认是不需要用户名和密码登录的,这样其实并不安全。 修改配置文件:conf/cassandra.yaml 启动用户名密码登录: 12authenticator: PasswordAuthenticatorauthorizer: CassandraAuthorizer 重新启动Cassandra,再次使用 bin/cqlsh 登录会提示 AuthenticationFailed(‘

Linux系统运维常用工具

本文记录一些 Linux 日常运维相关工具使用方法。 (注:未做特殊说明,以下设置均指:Ubuntu Server 14.04,并测试通过。) 系统设置更改系统默认字符集 Ubuntu Server下,需要修改 /etc/default/locale 文件使配置生效(需要重启系统)。也可以在每个用户的登录 .bashrc 或 .bash_profile中设置LANG、LANGUAGE等环境变量。

Mongodb 3.x 用户认证

Mongodb 3.x 的用户认证和 2.x 方式不一样,创建用户的语法已由 addUser 成成 createUser 了。 创建账号首先不使用 --auth 参数启动Mongodb, 1/opt/local/mongodb/mongodb-3.0/bin/mongod -f /opt/local/mongodb/etc/mongod.conf 此时登陆Mongodb并执行 show dbs 命

Nginx(Tengine)使用

用了一段时间Tengine了,主要用于静态资源、后端服务的反向代理、负载均衡方面。也有了一些使用经验,现在将一些配置及心得记录于此。 Tengine的安装Tengine的安装非常简单,就是: 123$ ./configure$ make$ sudo make install 官方有更详细的说明:http://tengine.taobao.org/document_cn/install_cn.htm

Linux下对大文件(日志)进行分割

logrotate是Linux系统自带的一个做文件(日志)分割的任务,可以很灵活的对文件做分割任务。由crontab定时执行。 一个典型的logrotate配置如下: 123456789101112yangjing:~$ more /etc/logrotate.d/nginx /usr/local/nginx/logs/*.log { notifempty daily

2015总结暨2016展望

2015已过去,2016到来。展望未来也总结过去。 20152015年到了一家新的公司,是一家做大数据服务的创业公司(准备说是2014年底)。刚到公司时我们只有几人,到现在已经成为一家50人左右的中小型互联网公司了。上半年我们尝试过个人社交、电商、招聘、监控等方向,到现在确定到了企业数据服务上。一路走来,从快速试错到确定目标,还是颇为不易的。 说完公司,再来谈谈个人吧。对于我自己来说,今年还是很有

Akka实战:开发一个多线程新闻爬虫

代码:https://github.com/yangbajing/crawler-service 使用Scala开发一个多线程爬虫,利用Akka库来管理多个爬虫任务的分散和聚合操作。同时使用scheduleOnce来设置爬取任务在指定时间内完成。详细需求如下: 可同时从多个新闻源(搜索引擎)检索新闻 已爬取过的新闻存库,第二次访问时直接从库里读取 提供duration参数,调用方可设置调用超时。

写给Python程序员的Scala入门教程

随着业务和数据的需要,我们引入了Spark。Spark对Python的支持还是挺好的,但毕竟它还是使用Scala开发的,且现有的API并没有100%覆盖Python。所以就有了这篇文章,让Python程序员可以接触Scala这门更高(级)、更快(速)、更强(大)的(奥运精神)语言。 Scala兼具Python样的开发效率,但又有Java般的执行性能,真是一不可多得的神器!(当然,鱼和熊不可兼得,S

Scala实战:并发-Future和Promise

并发编程是很困难的,特别是在你没有很好的设计与抽像你的功能层次时。传统的并发解决方案是采用多线程和共享变量,这使得随着代码的增加你很难找到错误根源。 Scala中采用了更好的方案,它不是只基于更低层次的线程的。Scala为用户提供了更高级的抽象:Futures和Promises(Akka还提供了基于actor模式的编程范式,是一种更高层次的并发编程抽象。本文主要讲解Futures和Promises

Akka实战:构建REST风格的微服务

使用Akka-Http构建REST风格的微服务,服务API应尽量遵循REST语义,数据使用JSON格式交互。在有错误发生时应返回:{"errcode":409,"errmsg":"aa is invalid,the ID is expected to be bb"}类似的JSON错误消息。 代码: https://github.com/

Akka实战:分散、聚合模式

分散、聚合模式:简单说就是一个任务需要拆分成多个小任务,每个小任务执行完后再把结果聚合在一起返回。 代码 https://github.com/yangbajing/akka-action 实例背景本实例来自一个真实的线上产品,现将其需求简化如下: 传入一个关键词:key,根据key从网上抓取相关新闻 可选传入一个超时参数:duration,设置任务到期时必须反回数据(返回实际已抓取数据) 若

JVM程序员书单

JVM程序员书单 为什么是JVM程序员书单,因为现在Java已经不再单指Java编程语言了,而是说整个Java生态环境和基于JVM平台的各种虚拟机语言。如:Scala、Clojure、Groovy等。 《软件框架设计的艺术》 这是Netbeans的创始人写的一本很有价值的书,里面的边角细节也很有料。国内市场上没有对这本书给予应给的赞誉。 《Effective Java 第二版》 被称为Java领域

Nginx负载均衡与反向代理

一般在应用部署中都不会直接把Web Server(如:Tomcat、Jetty等)暴露给用户,我们会在Web Server前面再加一个反向代理。这篇文章介绍的就是怎样设置Nginx来做反向代理。 Nginx安装以Ubuntu 14.04为例(其它系统请自行查找安装方法)。官方安装文档在:http://nginx.org/en/download.html 1234567curl http://ng

Elasticsearch初步使用

集群安装安装一个两个结节的简单集群,其中一个Master,一个Slave。两台机器的网络分别是: 12192.168.31.101 sc-007192.168.31.48 scdev-001 Master配置 123456789cluster: name: sc0node: name: sc-007 master: truenetwork: host: 192.168.31.101d

Canssandra开始

Install Cassandra1234567sudo mkdir -p /usr/app/cassandrasudo chown -R $(whoami) /usr/appcd /usr/app/cassandrawget http://apache.fayea.com/cassandra/2.1.11/apache-cassandra-2.1.11-bin.tar.gztar zxf apa