Apache Flume

Kafka Connect HDFS

Deadly 提交于 2021-02-07 06:50:47
概述 Kafka 的数据如何传输到HDFS?如果仔细思考,会发现这个问题并不简单。 不妨先想一下这两个问题? 1)为什么要将Kafka的数据传输到HDFS上? 2)为什么不直接写HDFS而要通过Kafka? HDFS一直以来是为离线数据的存储和计算设计的,因此对实时事件数据的写入并不友好,而Kafka生来就是为实时数据设计的,但是数据在Kafka上无法使用离线计算框架来作批量离线分析。 那么,Kafka为什么就不能支持批量离线分析呢?想象我们将Kafka的数据按天拆分topic,并建足够多的分区,然后通过Spark-Streaming,Flink,又或者是KSql等来处理单个topic中的所有数据--这就相当于处理某一天的所有数据。这种计算的性能从原理上来说是不比Spark或者Hive离线计算差的。 而且更好的是,这样我们就不用将kafka中的数据翻来覆去的导到hdfs,而是直接在kafka上作计算。 后面我们将对此展开更多的讨论,这里先回归正题,在常见的大数据系统架构(lambda)中,通常会将kafka中的数据导入到HDFS来作离线的数据分析。在Kafka的官方wiki中提到了这样的一些方式来对接Hadoop生态。 https://cwiki.apache.org/confluence/display/KAFKA/Ecosystem 其中最常用的是Flume

Golang实战群:日志的处理机制

懵懂的女人 提交于 2021-02-04 09:32:01
日志的处理机制 1 golang日志库可以考虑 tmlog https://github.com/heiyeluren/go-tmlog --黑夜路人@北京 2 老谢,你这个是异步库,一旦log gr 出问题不就坑爹了 可以考虑加上阻塞方式的,效率低点,但是安全 log库不必也没必要追求效率 --于雨@北京 3 行啊,回头再考虑实时写入临时日志 --黑夜路人 @北京 4 一般的逻辑处理,瓶颈不可能在log上,务求不丢不乱就行了 --于雨@北京 5 前阵子看过一篇文章,一个老外做的分析,系统性能消耗有不少的部分浪费在同步log上 --郭军@360 6 主要是磁盘io慢啊慢 --黑夜路人 @北京 9 确实,我们client的log都出于效率原因从同步实时改成异步分批写入了 --类库@上海-意励 8 log太多了吧,会对io造成压力 --kyle@成都-风际游戏 9 异步的本质都是为了不阻塞当前执行协程 --黑夜路人 @北京 10 瓶颈还真有可能在log上 --Xargin@北京-didi 11 可以开启raid卡wb,对比下,如果差异巨大,可能是log导致的 --谭俊青@途牛 12 去年写proxy 日志info级别性能下降蛮多的 还是要少打日志的。业务对性能要求不苛刻就无所谓了 --董泽润@北京-nice 13 不要用文本日志,改成二进制代号 --kingsword@广州-kg 14

spark项目实践

回眸只為那壹抹淺笑 提交于 2021-02-04 08:29:34
实践目的 通过操作一个开源例子,学习大数据的架构 及基本的使用,各种概念。不涉及自编码与创新。 环境搭建 需要建立 hadoop,hbase ,spark 等大数据环境 在10.30.2.5上建立六个docker , 分别对应 s141~s146 分别用于装大数据环境,具体操作步骤 参考本人 hadoop-spark https://blog.csdn.net/dualvencsdn/article/details/112007643?spm=1001.2014.3001.5501 habase https://blog.csdn.net/dualvencsdn/article/details/112905925?spm=1001.2014.3001.5501 学会操作hbase https://blog.csdn.net/dualvencsdn/article/details/113309385?spm=1001.2014.3001.5501 flume初步学习与使用 https://blog.csdn.net/qq_1018944104/article/details/85462011 /usr/local/flume/do.sh kafka与zookeeper的使用与编程 https://blog.csdn.net/dualvencsdn/article/details

微服务之分布式文件系统

人盡茶涼 提交于 2021-01-30 10:16:57
背景 传统Web应用中所有的功能部署在一起,图片、文件也在一台服务器;应用微服务架构后,服务之间的图片共享通过FTP+Nginx静态资源的方式进行访问,文件共享通过nfs磁盘挂载的方式进行访问,无论是单体架构还是微服务架构下的应用都存在大量图片、文件读写操作,但是昂贵的磁盘空间、高性能服务器无疑增加了运营成本。 所以我们希望文件服务也能微服务、独立化,这样既能降低运营成本,又能对文件进行统一的管理和维护,所以搭建独立的文件服务是解决文件共享、释放业务系统压力的最优选择。于是便诞生了随行付分布式文件系统简称OSS(Object Storage Service),提供的海量、安全、低成本、高可靠的云存储服务。它具有与平台无关的RESTful API接口,能够提供数据可靠性和服务可用性。 文件服务的意义 随着互联网图片、视频时代的到来,对文件的处理成为各个业务系统面临的巨大挑战,没有文件服务器之前,系统之间处理图片的方式大相径庭:FTP、NFS、数据库存储等等,虽然都实现了对文件的存储、访问,但是系统之间很难达到文件共享,所以文件服务可以形成一个统一的访问标准,降低各个系统之间的互相依赖,提高开发效率、释放业务系统压力,所以文件服务的意义如下: 降低WEB服务器压力 分担业务服务器的I0、流程负载,将耗费资源的文件访问、读写操作分离到文件服务器,可以提高服务器的性能和稳定性

微服务和大数据性能指标参考和相关组件

穿精又带淫゛_ 提交于 2021-01-13 10:15:12
发布时间:19-07-1720:12 一、引言 本文题为微服务和大数据性能指标参考,但实际上,无论是单体架构还是分布式架构、数据规模如何,在设计和开发各种功能性模块时,都需要提前考虑高性能需求水平并按需设计,对各种性能指标进行合理评估,从而尽量减少代码重构的可能性。 在完成功能模块的开发以后,还需要使用各种压力测试工具进行性能测试,从而判断代码是否能够满足性能要求,并找出性能瓶颈所在。 为了作出更加合理的性能评估值,我们需要先大概的了解一些常用的计算机操作所消耗的时间,从而心中有数的设计出一个符合需求、且易于实现的系统,减小线上系统失败的风险,并能够做到心中有数。 二、常用应用层性能指标参考标准 以下标准是使用PC X86 桌面机器的经验值,并不代表使用线上生产机器的经验值,仅供参考,评审时应该根据机器的不同进行调整。 2.1 通用标准 容量按照峰值的5倍冗余计算。分库分表后的容量一般可存储N年的数据(根据不同机器调整)。第三方查询接口吞吐量为5000/s。单条数据库记录占用大约1KB的空间。 2.2 MySQL 单端口读:1000/s。单端口写:700/s。单表容量:5000万条。 2.3 Redis 单端口读:40000/s。单端口写:40000/s。单端口内存容量:32GB。 2.4 Kafka 单机读:30000/s。单机写:5000/s。2.5 Flume HDFS

运维人员需要掌握的

杀马特。学长 韩版系。学妹 提交于 2021-01-10 09:24:50
<---------------------摘自老男孩博客-------------------> 操作系统:Centos,Ubuntu,Redhat,suse,Freebsd 网站服务:nginx,apache,lighttpd,php,tomcat,resin 数据 库:MySQL,MariaDB,PostgreSQL DB中间件:maxscale ,MyCat ,atlas,cobar,amoeba,MySQL-proxy 代理相关:lvs,keepalived,haproxy,nginx,heartbeat 网站缓存:squid,nginx,varnish NOSQL库:Redis,Memcached,MongoDB,HBase,Cassandra,CouchDB 存储相关:Nfs,FastDFS,Moosefs(mfs),Hadoop,glusterfs,lustre 版本管理:svn,git 监控报警:nagios,cacti,zabbix,munin,hyperic,mrtg,graphite 域名解析:bind,powerdns,dnsmasq 同步软件:scp,rsync,inotify,sersync,drbd 批量管理:SSH,Ansible,Saltstack,expect,puppet 虚拟 化:kvm,xen 云计 算:openstack,docker

Spark Streaming

痞子三分冷 提交于 2020-12-29 02:33:38
Spark Streaming 一、 介绍 Spark Streaming 是 Spark 核心 API 的一个扩展, 可以 实现高 吞吐 量的、 具备 容错机制的实时 流数据的 处理。 支持 从 多种 数据源获取数据, 包括kafka 、 flume 、 twitter 等。 Spark 的各个 子 框架核心都是 Spark Core 。 Spark Streaming 内部处理机制是:接受实时流的数据, 并 根据一定的时间间隔拆分成一批批的数据,然后通过 Spark Engine 处理这批数据, 最终 得到处理后的一批批结果数据。对应的批数据, 在Spark 内核对应一个 RDD 实例, 因此 , 对应 流数据的 DStream 可以看成是一组 RDDs, 即 RDD 的一个序列。 Spark Streaming 的基本原理是将输入数据流以时间片(秒级)为单位进行拆分,然后以类似批处理的方式处理每个时间片数据,基本原理图如下: 首先, Spark Streaming 把实时输入数据流以时间片Δ t (如 1 秒)为单位切分成块。 Spark Streaming 会把每块数据作为一个 RDD ,并使用 RDD 操作处理每一小块数据。每个块都会生成一个 Spark Job 处理,最终结果也返回多块。 二、 容错 DStream 基于 RDD 组成, RDD 的容错性依旧有效

Spark3大数据实时处理-Streaming+Structured Streaming 实战

老子叫甜甜 提交于 2020-12-08 01:29:59
下载: Spark3大数据实时处理-Streaming+Structured Streaming 实战 随着云计算和大数据的快速发展,在企业中大数据实时处理场景的需求越来越多。本课针对企业级实时处理方案进行全方位的讲解,基于Spark3,在同一个项目中,学习两套实时处理的解决方案:Spark Streaming和Structured Streaming。在框架学习的基础上,不仅带你体验完整实时处理方案的全流程,真正所学即所用,还会为你梳理大数据的常见面试题、大厂的实时解决方案,带你跨过面试最后一公里。 适合人群 想转型或者从事大数据开发的同学 对Spark有浓厚兴趣的同学 想掌握大数据实时处理技术的同学 技术储备要求 Linux命令基本操作 Hadoop命令基本操作 Scala基本语法的使用 章节目录: 第1章 【项目启动】项目背景及架构分析 本章将介绍实战项目背景、数据流,并让大家对知晓在实际项目中应如何进行技术的选型以及项目架构的迭代过程。 1-1 课程概览 试看 1-2 ***学前必读***(助你平稳踩坑,畅学无忧,课程学习与解决问题指南) 1-3 课程目录 1-4 项目目的 1-5 项目流程 1-6 技术选型 1-7 项目总体架构 1-8 项目架构V1版本 1-9 项目架构V2版本 第2章 【环境部署】基础开发环境搭建 工欲利其事必先利其器

日志实时收集之FileBeat+Kafka

谁都会走 提交于 2020-11-24 03:15:52
之前,我们的某一个业务用于实时日志收集处理的架构大概是这样的: 在日志的产生端(LogServer服务器),都部署了FlumeAgent,实时监控产生的日志,然后发送至Kafka。经过观察,每一个FlumeAgent都占用了较大的系统资源(至少会占用一颗CPU 50%以上的资源)。而另外一个业务,LogServer压力大,CPU资源尤其紧张,如果要实时收集分析日志,那么就需要一个更轻量级、占用资源更少的日志收集框架,于是我试用了一下Filebeat。 Filebeat是一个开源的文本日志收集器,采用go语言开发,它重构了logstash采集器源码,安装在日志产生服务器上来监视日志目录或者特定的日志文件,并把他们发送到logstash、elasticsearch以及kafka上。Filebeat是代替logstash-forwarder的数据采集方案,原因是logstash运行在jvm上,对服务器的资源消耗比较大(Flume也是如此)。正因为Filebeat如此轻量级,因此不要奢望它能在日志收集过程中做更多清洗和转换的工作,它只负责一件事,就是高效可靠的传输日志数据,至于清洗和转换,可以在后续的过程中进行。 Filebeat官网地址为:https://www.elastic.co/guide/en/beats/filebeat/current/index.html

sudo+syslog日志审计+登陆用户操作统计

梦想的初衷 提交于 2020-11-19 23:54:18
1、查询系统是否已安装sudo、syslog程序 [ root@shangke ~ ] # rpm -qa|egrep "sudo|syslog" rsyslog-5.8.10-10.el6_6.x86_64 sudo-1.8.6p3-19.el6.x86_64 如果没有安装,则用yum安装,yum install -y sudo syslog 2、配置/etc/sudoers 增加配置“Defaults logfile=/var/log/sudo.log”到/etc/sudoers中 [ root@shangke ~ ] # echo "Defaults logfile=/var/log/sudo.log" >>/etc/sudoers [ root@shangke ~ ] # tail -1 /etc/sudoers ##检查操作是否成功 Defaults logfile = /var/log/sudo.log [ root@shangke ~ ] # visudo -c ##检查sudoers文件语法 /etc/sudoers: parsed OK 3、配置系统日志 增加配置local2.debug到/etc/syslog.conf中(Centos5.8中) 增加配置local2.debug到/etc/rsyslog.conf中(Centos6.4中) [ root