Category Archives: Tools

使用supervisord管理容器进程

Docker可以在启动容器的时候通过设置Dockerfile中的CMD条目启动一个进程,但如果要在容器中同时启动多个进程,就需要使用进程管理工具了。supervisord(http://supervisord.org/introduction.html)是一个非常优秀的进程管理工具,使用Python开发。它可以在类UNIX系统的方式让用户来准确地监视和控制后台一定数量的服务进程。并作为一个天使进程让后台进程在当发生内部错误退出、或者进程被意外杀死时自动重启。除此之外,supervisord可以监控TCP端口,让其他主机通过客户端了命令supervisorctl通过HTTP协议直接对Server端进程进行启停,避免让进程/服务器管理者直接接触Shell或root用户。进程之间也有一个优先级和进程组关系,让管理员使用start all和stop all的关系来启动。 Continue reading →

Posted in Ops, Tools, Virtualization.

Nginx基本服务与upstream配置详解

Nginx (“engine x”) 是一个高性能的HTTP 和反向代理 服务器,在大负载的情况下表现十分优秀。本文简单介绍一下安装、web服务和反向代理服务配置方法。 Continue reading →

Posted in Ops, Tools.

Containerized MySQL&Redis by Docker

随着Docker和CoreOS的火爆,服务容器化将称为一种趋势,从而降低操作系统和应用程序的耦合度。本文在ubuntu 14.10下对MySQL和Redis的docker images进行简单测试。 Continue reading →

Posted in Ops, Tools, Virtualization.

Kafka原理和集群测试

Kafka是一个消息系统,由LinkedIn贡献给Apache基金会,称为Apache的一个顶级项目。Kafka最初用作LinkedIn的活动流(activity stream)和运营数据处理管道(pipeline)的基础。它具有可扩展、吞吐量大和可持久化等特征,以及非常好的分区、复制和容错特征。

Kafka的关键设计决策

1). Kafka在设计之时为就将持久化消息作为通常的使用情况进行了考虑。
2). Kafka主要的设计约束是吞吐量,而不是功能。
3). Kafka有关哪些数据已经被使用了的状态信息保存为数据使用者(consumer)的一部分,而不是保存在服务器之上。
4). Kafka是一种显式的分布式系统。它假设,数据生产者(producer)、代理(brokers)和数据使用者(consumer)分散于多台机器之上。
而相比而言,传统的消息队列不能很好的支持(如超长的未处理数据、不能有效持久化)。对于数据的可用性,Kafka提供了两个保证:
(1). 生产者发送到Topic的分区上消息将会按照它们发送的顺序,而消费者收到的消息也是此顺序
(2). 如果一个Topic配置了复制因子( replication facto)为N, 那么可以允许N-1服务器当掉而不丢失任何已经增加的消息 Continue reading →

Posted in BigData, Ops, Tools.

Kafka主要参数详解

原文档地址:http://kafka.apache.org/documentation.html
Continue reading →

Posted in BigData, Ops, Tools.

kerberos安装和管理

Kerberos 服务(kerberos官网)是一种通过网络提供安全验证处理的客户机/服务器体系结构。通过验证,可保证网络事务的发送者和接收者的身份真实。该服务还可以检验来回传递的数据的有效性(完整性),并在传输过程中对数据进行加密(保密性)。使用 Kerberos 服务,可以安全登录到其他计算机、执行命令、交换数据以及传输文件。此外,该服务还提供授权服务,这样,管理员便可限制对服务和计算机的访问。而且,作为 Kerberos 用户,您还可以控制其他用户对您帐户的访问。 Continue reading →

Posted in Ops, Tools.

Cacti原理和配置

Cacti是一个基于PHP,MySQL,SNMP及RRDTool开发的图形监控分析工具。它本身是一个具有强大绘图挂历展示能力的PHP Web应用,监控数据的获取依赖于SNMP(snmpget),对于数据的存储和图形绘制依赖于RRDTool(也就是说数据必须是时间序列相关的数据)。 Cacti 的设计初衷是为了让 RRDTool使用更加方便。此外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。所以要深入了解Cacti,首选需要了解SNMP协议和RRDTool。
Continue reading →

Posted in Ops, Tools.

Cloudera Manager 5离线安装参考

0. 主机规划

Cloudera Manager需要一台单独的主机
debugo01 Cloudera Manager, yum repo
debugo02 NameNode, DataNode, Yarn RM, Spark Master, Spark Worker …
debugo03 DataNode, Spark Worker, Secondery NameNode …
Continue reading →

Posted in BigData, Ops, Tools.

Docker入门

Develop, Ship and Run Any Application, Anywhere.
Docker consists of:
The Docker Engine – our lightweight and powerful open source container virtualization technology combined with a work flow for building and containerizing your applications.
Docker Hub – our SaaS service for sharing and managing your application stacks.
Docker hub(app仓库)也是docker的组成,可以在https://hub.docker.com/ 登录并注册一个docker账户,搜索、下载别人分享的docker app,也可以自己上传和保存自己修改/创建的docker app(即docker image托管)。hub repository上提供了APP非常丰富多彩,基本上囊括了常用的一切应用平台。相关资料参见:
Docker1.0发布—迈入云(DockerHub应用分发平台)端(Docker引擎)时代
http://www.openstack.cn/p1961.html
官方文档:
https://docs.docker.com/
另外官方有个在线模拟的tutorial,10分钟就可以了解docker的基本使用。
http://www.docker.com/tryit/
15个有用的docker技巧
http://www.21ops.com/linux/13512.html
Continue reading →

Posted in Ops, Tools, Virtualization.

使用fio进行I/O性能测试

fio是一个非常灵活的I/O测试工具,支持多线程或进程模拟等I/O操作来进行压力测试,project官网为fio
(1). 安装fio首先要安装异步的I/O支持libaio.x86_64(Linux-native asynchronous I/O access library):
yum install libaio libaio-devel
应用使用IO通常有二种方式:同步和异步。 同步的IO一次只能发出一个IO请求,等待内核完成才返回,这样对于单个线程iodepth总是小于1,但是可以透过多个线程并发执行来解决,通常我们会用16-32根线程同时工作把iodepth塞满。 异步的话就是用类似libaio这样的linux native aio一次提交一批,然后等待一批的完成,减少交互的次数,会更有效率。(摘自参考2) Continue reading →

Posted in Ops, Tools.