Centos版本:Centos6.4,PHP版本:PHP7. 在上一篇文章中使用IP为192.168.9.154的机器安装并开启了Kafka进行了简单测试,充当了Kafka服务器. 本篇文章新开启一台IP为192.16.9.157的机器给PHP开启扩展. 找到github的扩展下载地址,这里是php-rdkafka,虽然php有一个扩展是php-kafka,但是php-rdkafka要比php-kafka强大. https://github.com/arnaud-lb/php-rdkafka /…
Centos下Scala安装 上传Scala到/usr/scala目录下 [root@spark1 scala]# chmod u+x scala-2.11.4.tgz #修改权限 [root@spark1 scala]# tar -zxvf scala-2.11.4.tgz #解压 [root@spark1 scala]# mv scala-2.11.4 scala-2.11 #重命名 [root@spark1 ~]# vim /etc/profile #配置环境变量 export SCALA…
前言 我要在云服务器上做一个asp.net core的webapi应用,使用docker来部署应用,中间用到的任何组件包括nginx和sqlserver 2017都是用docker来装载运行,所以,这大概就是一个DOCKER的踩坑之路了. 这个系列文章会首先记录docker的一些基本操作,然后是实战. CentOS下安装Docker 我使用的是CentOS,所以这一些列的笔记都是基于CentOS来做的.CentOS的版本是7.2. Docker目前支持CentOS7及以后的版本.系统的要求跟Ub…
概述 学习和使用kafka不知不觉已经将近5年了,觉得应该总结整理一下之前的知识更好,所以决定写一系列kafka学习笔记,在总结的基础上希望自己的知识更上一层楼.写的不对的地方请大家不吝指正,感激万分.第一篇介绍消息队列概况和kafka的入门知识. 消息队列系统 首先说一下消息队列的含义,"消息系统"这个词是从英文翻译过来的,英文的名字是"Messaging System",稍微学习过英语基础的都知道要翻译成消息队列,但是也有一些大家觉得并不正确,因为它片面强调了消…
Tip: 环境 windows8.1 64位 + xampp1.8.1 + postgresql 9.3.6-2 第一步: php.ini中开启pgsql扩展  extension=php_pgsql.dll (若pdo连接开启extension=php_pdo_pgsql.dll) 第二步: 配置pgsql的bin文件夹到环境变量 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvV2VwZTIwMTE=/font/5a6L5L2T/fontsize/4…
作为.neter,看到.net core 2.0的正式发布,心里是有点小激动的,迫不及待的体验了一把,发现速度确实是快了很多,其中也遇到一些小问题,所以整理了一些学习笔记: 阅读目录 环境说明 安装CentOS7 安装.NET Core SDK for CentOS7 搭建ftp服务器 安装mysql 部署ASP.NET Core应用程序 配置Nginx 配置守护服务(Supervisor) 环境说明 服务器系统:CentOS 7.3 64位 相关工具:putty.Xftp 服务器软件软件:.n…
了解了什么是kafka( https://www.cnblogs.com/tree1123/p/11226880.html)以后 学习核心api之消费者,kafka的消费者经过几次版本变化,特别容易混乱,所以一定要搞清楚是哪个版本再研究. 一.旧版本consumer 只有旧版本(0.9以前)才有 high-level consumer 和 low-level consumer之分,很多的文章提到的就是这两个:低阶消费者和高阶消费者,低阶消费者更灵活但是需要自己维护很多东西,高阶就死板一点但是不需…
文章更新时间:2020/06/14 一.生产者 当我们发送消息之前,先问几个问题:每条消息都是很关键且不能容忍丢失么?偶尔重复消息可以么?我们关注的是消息延迟还是写入消息的吞吐量? 举个例子,有一个信用卡交易处理系统,当交易发生时会发送一条消息到 Kafka,另一个服务来读取消息并根据规则引擎来检查交易是否通过,将结果通过 Kafka 返回.对于这样的业务,消息既不能丢失也不能重复,由于交易量大因此吞吐量需要尽可能大,延迟可以稍微高一点. 再举个例子,假如我们需要收集用户在网页上的点击数据,对于…
com.alibaba.druid.pool.DruidDataSourceFactory实现了javax.naming.spi.ObjectFactory,可以作为JNDI数据源来配置. 一.下载Druid的jar包 下载地址:http://mvnrepository.com/artifact/com.alibaba/druid/1.0.9,如下图所示:…
新工作以来,博主感觉天天都很忙,博客已经好久没有写了 从昨天开始弄centos服务器中搭建mysql5.6,由于yum最新版本只有5.1的所以折腾到现在 首先看看是否已安装过其他版本的mysql [root@iZ2337trt88Z MySQL]# rpm -qa | grep MySQL // 这个命令就会查看该操作系统上是否已经安装了mysql数据库 有的话,我们就通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉 [root@iZ2337trt88Z MySQL]…
Linux下安装zip解压功能 Linux服务器上一般默认没是没有有安装zip命令 安装zip指令 apt-get install zip 或  yum install zip 输入zip OK linux安装unzip命令:apt-get install unzip 或  yum install unzip 输入unzip OK!完成!…
1.前言 MQ(message queue)是消息队列的简称,可在多个线程.内核和主机盒之间弹性伸缩.ZMQ的明确目标是“成为标准网络协议栈的一部分,之后进入Linux内核”.现在还未看到它们的成功.但是,它无疑是极具前景的.并且是人们更加需要的“传统”BSD套接字之上的一 层封装.ZMQ让编写高性能网络应用程序极为简单和有趣. 2.安装过程 (1)下载最新的ZeroMQ:http://download.zeromq.org/ (2)解压:tar -xvf zeromq-4.1.2.tar.gz…
在Centos6.9上安装Mongodb时候,遇到"No package mongodb-org available"这个报错. 经过查询后,在Centos6.9上需要针对Mongodb针对独立安装,按照如下教程,可以把Mongodb安装成功. 首先更新系统 yum -y update 1.安装Mongodb 编辑Mongodb安装源 vim /etc/yum.repos.d/mongodb-org-3.6.repo 编辑内容如下: [mongodb-org-3.6] name=Mon…
一.Kafka集群 Kafka使用Zookeeper来维护集群成员(brokers)的信息.每个broker都有一个唯一标识broker.id,用于标识自己在集群中的身份,可以在配置文件server.properties中进行配置,或者由程序自动生成.下面是Kafka brokers集群自动创建的过程: 每一个broker启动的时候,它会在Zookeeper的/brokers/ids路径下创建一个临时节点,并将自己的broker.id写入,从而将自身注册到集群: 当有多个broker时,所有br…
PHP 数据对象PDO扩展为PHP访问数据库定义了一个轻量级的一致接口.PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据.最近在我们的建站和OA系统交流群中,有对服务器运维不熟悉的朋友问到关于PHP的PDO扩展安装的问题.本文我们将和大家一起分享如何在服务器上安装PDO扩展. 环境: 服务器系统:Centos6.5 (虚拟机演示) PHP软件包存放目录:/data/php-5.6.14/ PHP安装目录:/usr/local/php/ m…
背景 最近因为项目研究了一下PHP集成Oracle,虽然这个组合很奇葩,但万一用到请勿采坑~ 环境 CentOS Linux release 7.3.1611 (Core) PHP7.1.1 安装oracle组件 下载 http://www.oracle.com/technet...oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpmoracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm…
0x00 概述 filebeat非常轻量级,正常情况下占用的资源几乎都能忽略不计,但是部署后发现资源占用很大,所以怀疑是filebeat本身出了问题. 第一时间查看filebeat日志(默认路径/var/log/filebeat/filebeat,K8S需要在控制台实时查看pod的日志),发现有大量内容输出: 2019-03-20T08:55:02.198+0800 INFO kafka/log.go:53 producer/broker/544 starting up 2019-03-20T0…
AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制.Erlang中的实现有 RabbitMQ等. 主要是两个包    1.rabbitmq-c的包    2.amqp的包 1.下载    首先是rabbitmq-c-0.5.2.tar.gz包,可以访问https://g…
php的mbstring扩展如果没有安装会导致一些问题: 例1:登陆phpMyAdmin的时候会提示没字符串编码和字符串处理库 php_mbstring,有些程序中会用到mb_substr函数没有php的mbstring扩展当这些程序运行的时候通常会提示"Fatal error: Call toundefined function mb_substr()". 例2:安装phpRedisAdmin页面访问为空白. 下面是安装步骤:1.安装mbstring扩展 yum -y install…
2018年05月02日 19:54:42 杨汉松 阅读数:44   1.下载安装xdebug 获取xdebug wget http://www.xdebug.org/files/xdebug-2.3.3.tgz 解压 tar zxvf xdebug-2.3.3.tgz 进入解压模块 cd xdebug-2.3.3 建立外挂模块 /usr/local/php/bin/phpize 配置xdebug ./configure --enable-xdebug --with-php-config=/usr…
一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险.许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕. 3.扩展性: 因为消息队列解耦了你的处理过程,所以增大消息入队和处理的频率是很容易的,只要另外增加处理过程即可. 4.…
一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险.许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕. 3.扩展性: 因为消息队列解耦了你的处理过程,所以增大消息入队和处理的频率是很容易的,只要另外增加处理过程即可. 4.…
一 为什么需要消息系统 1.解耦 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险.许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕. 3.扩展性 因为消息队列解耦了你的处理过程,所以增大消息入队和处理的频率是很容易的,只要另外增加处理过程即可. 4.灵活性…
0x00 简介 现在的公司由于绝大部分项目都采用分布式架构,很早就采用ELK了,只不过最近因为额外的工作需要,仔细的研究了分布式系统中,怎么样的日志规范和架构才是合理和能够有效提高问题排查效率的. 经过仔细的分析和研究,确定下面的架构应该是比较合理的之一(Filebeat也支持直接写到ES),如果可以的话,Filebeat也可以不直接连到Logstash,先写到kafka,然后从kafka写到logstash的kafka插件. 关于ELK的各种架构以及优缺点,可以参考. 首先,不管是不是分布式架…
在上一章< Docker下kafka学习,三部曲之一:极速体验kafka>中我们快速体验了kafka的消息分发和订阅功能,但是对环境搭建的印象仅仅是执行了几个命令和脚本,本章我们通过实战来学习如何编写这些脚本,搭建本地kafka环境: 本次实践会制作docker镜像,所用的材料请在此获取:https://github.com/zq2599/docker_kafka 整个环境涉及到多个容器,我们先把它们全部列出来,再梳理一下之间的关系,如下图: kafka sever提供消息服务; messag…
之前搭建好了Kafka的学习环境,了解了具体的配置文件内容,并且测试了生产者.消费者的控制台使用方式,也学习了基本的API.那么下一步,应该学习一下具体的内部流程~ 1.Kafka的工作流程 大致的工作流程图如下: 如图所示哈,整个工作环境包括:一个生产者(producer),一个消费者组(含有三个消费者),一个主题:A,三个节点(broker),三个分区(partition)和两个副本(副本数=leader数+follower数). 分析一下大致工作流程: Producer是消息的生产者,首先…
kafka集群搭建 下面简单的介绍一下kafka的集群搭建,单个kafka的安装更简单,下面以集群搭建为例子. 我们设置并部署有三个节点的 kafka 集合体,必须在每个节点上遵循下面的步骤来启动 kafka 服务器,kafka集群需要依赖zookeeper集群,上一篇已经说道了zookeeper的搭建,方法请参考:http://www.cnblogs.com/chushiyaoyue/p/5615267.html 1.环境准备 测试服务器(2n+1)奇数台 192.168.181.128 ce…
0x00 概述 在之前的博客中,介绍了Kafka Web Console这 个监控工具,在生产环境中使用,运行一段时间后,发现该工具会和Kafka生产者.消费者.ZooKeeper建立大量连接,从而导致网络阻塞.并且这个 Bug也在其他使用者中出现过,看来使用开源工具要慎重!该Bug暂未得到修复,不得已,只能研究下其他同类的Kafka监控软件. 通过研究,发现主流的三种kafka监控程序分别为: Kafka Web Conslole Kafka Manager KafkaOffsetMonito…
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客之一Docker-Compose CentOS下Docker与.netcore(四)之 三剑客之一Docker-machine+jenkins简单自动化部署 CentOS下Docker与.netcore(五)之 三剑客之一Docker-swarm集群 1.什么是Docker-Compose 上一章我…
由于各Linux开发厂商的不同,因此不同开发厂商的Linux版本操作细节也不一样,今天就来说一下CentOS下JDK的安装: 方法一:手动解压JDK的压缩包,然后设置环境变量 1.在/usr/目录下创建java目录 [root@localhost ~]# mkdir/usr/java[root@localhost ~]# cd /usr/java 2.下载jdk,然后解压 [root@localhost java]# curl -O http://download.Oracle.com/otn-…