inotify

大型分布式网站架构设计与实践5

不打扰是莪最后的温柔 提交于 2020-03-28 17:42:30
第5章 数据分析 5.1 日志收集 5.1.1 inotify机制 通过inotify机制,能够对文件系统的变化进行监控,如对文件进行删除,修改等操作,可以及时通知应用程序进行相关事件的处理。 5.1.2 ActiveMQ-CPP C++接口的消息订阅系统 5.1.3 架构和存储 数据需要经过inotify客户端,经由ActiveMQ进行转发,通过storm进行实时处理,再存储到Mysql、HDFS、Hbase或者Memcache这些存储系统当中,最后再进行深度分析或者实时的展现 5.1.4 Chukwa 5.2 离线数据分析 5.2.1 Hadoop项目简介 Hadoop:HDFS,MapReduce,Zookeeper、Hbase、Hive、Pig、Mahout 5.2.2 Hadoop环境搭建 略 5.2.3 MapReduce编写 5.2.4 Hive的使用 略 5.3 流式数据分析 5.3.1 Storm的介绍 1、Storm是一个开源的分布式实时计算系统,可以简单,可靠地对大量的流式数据进行分析。 2、通过zeroMQ作为底层的消息队列,可以保证消息能得到很快的处理 5.3.2 安装部署storm 略 5.3.3 storm的使用 5.4 数据同步 在线的OLTP 或 日志系统-----OLAP系统----->多维度复杂的数据分析和汇总操作 5.4.1 离线数据同步 1

inotify+rsync实现实时同步部署

若如初见. 提交于 2020-03-19 12:54:00
1.1.架构规划 1.1.1架构规划准备 服务器系统 角色 IP Centos6.7 x86_64 NFS服务器端(NFS-server-inotify-tools) 192.168.1.14 Centos6.7 x86_64 rsync服务器端(rsync热备服务器) 192.168.1.17 1.1.2架构图 2.1 部署前检查 2.1.1 检查rsync热备服务器daemon是否起来 1 [root@backup data]# lsof -i:873 2 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME 3 rsync 3071 root 3u IPv4 18684 0t0 TCP *:rsync (LISTEN) 4 rsync 3071 root 5u IPv6 18685 0t0 TCP *:rsync (LISTEN) 5 [root@backup data]# ps -ef|grep rsync|grep -v grep 6 root 3071 1 0 Dec02 ? 00:00:00 rsync --daemon 7 [root@backup data]# 2.1.2 NFS服务器相对于rsync服务器来说是客户端,所以要配置一个客户端密码 1 [root@nfs-server ~]# echo "zhurui"

inotify+rsync实时同步服务部署

淺唱寂寞╮ 提交于 2020-03-11 19:52:05
环境:服务端 192.168.6.30(安装 rsync) /data/share   :客户端 192.168.6.38(安装 inotufy+rsync)/nfsbackup 主流程: https://www.cnblogs.com/clsn/p/7707822.html#auto_id_28     客户端安装 inotify 下面开始安装inotify-tools [root@static-img ~]# yum install make gcc gcc-c++ #安装编译工具 [root@static-img ~]# cd /usr/local/src [root@static-img src]# wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz [root@static-img src]# tar zxvf inotify-tools-3.14.tar.gz [root@static-img src]# cd inotify-tools-3.14 [root@static-img inotify-tools-3.14]# ./configure --prefix=/usr/local/inotify [root@static-img inotify

inotify配合rsync实现实时监控同步备份文件数据

感情迁移 提交于 2020-03-01 03:23:22
实时同步数据服务原理/概念 1)需要部署好 inotify 服务,实现目录中的数据变化监控 2)需要部署好 rsync 守护进程服务,实现数据的传输 3)将 inotfy 服务和 rsync 服务建立联系,将变化的数据进行实时备份 下面是架构部分,我们现在操作的是备份服务器,作为rsync服务端,需要监控存储服务器上某一个目录的数据变化。 部署rsync守护进程服务(服务端部署: 备份服务器 ) 第一步:安装rsync服务 yum -y install rsync 第二步:编辑配置文件(/etc/rsyncd.conf,如果没有该文件,手动创建) centos7安装好了rsync之后,就创建好了该配置文件,默认是情况下,打开如下图: vim /etc/rsyncd.conf # 配置参数详解如下: uid = rsync --- 指定管理备份目录的用户 gid = rsync --- 指定管理备份目录的用户组 port = 873 --- 定义rsync备份服务的网络端口 #fake super = yes --- 将rsync用户伪装成一个超级管理员用户,除去备份文件时的报错提示 use chroot = no --- 和安全相关的配置 max connections = 200 --- 最大连接数 (同时只能有200个客户连接备份服务器) timeout = 300 ---

在 linux 中遇到 OSError: inotify watch limit reached 错误

孤者浪人 提交于 2020-02-28 14:37:01
检查系统当前限制,默认应该是 8192: cat /proc/sys/fs/inotify/max_user_watches 可根据需要调整系统限制,但是目前还不知道如何查看每个进程对 watch 的消耗 方法1(重启后失效): https://www.jianshu.com/p/44344931d67a echo 81920 > /proc/sys/fs/inotify/max_user_watches 方法2(永久): https://www.cnblogs.com/jincon/p/3702545.html 在 /etc/sysctl.conf 中添加一行: fs.inotify.max_user_watches=99999999 修改后保存即可 来源: https://www.cnblogs.com/xwgli/p/12376806.html

rsync

故事扮演 提交于 2020-02-25 22:13:45
Rsync 一款快速增量备份工具 支持远程同步,支持上传和下载 命令: Rsync [选项] 原始位置 目标位置 -a:归档模式,递归并保留对象属性,等同于 -rlptgoD -v:显示同步过程的详细(verbose)信息 -z:在传输文件时进行压缩(compress) -H:保留硬连接文件 -A:保留ACL属性信息 --delete:删除目标位置有而原始位置没有的文件 --checksum:根据对象的校验和来决定是否跳过文件 上传:rsync -avz A(/opt/ ) B(root@目标IP:/root/html) rsync -avz A(/opt/ ) B(root@目标IP::wwwroot) :: 表示连接的是共享文件夹 将A主机的文件上传到主机B 下载:rsync -avz B(root@IP:/root/html) A(/opt/ ) rsync -avz B(root@目标IP::wwwroot) A(/opt/ ) A是客户端,B是服务器 实验:2台linux 服务器:192.168.80.182 客户端:192.168.80.181 客户端:安装rsync工具 服务器: 1 yum install -y rsync 2 vi /etc/rsyncd.conf uid = nobody gid = nobody use chroot = yes address

跟高手学习LINUX笔记--题外话

走远了吗. 提交于 2020-02-25 19:52:21
这些是日常项目中用到的小知识点,希望能为您带来帮助 rsync+inotify操作方法 1.1应用方式:由于客户需要将两台web服务器的/www目录做到同步 应用与改进过程:一开始想到用crond+rsync来实现,但由于客户的文件比较多,此方式占用CPU资源高,因此采用了 rsync+inotify这种触发式同步方式 1.2软件说明: 1.2.1Rsync: rsync是类unix系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步, 支持本地复制,或者与其他SSH、rsync主机同步。 1.2.2Inotify: Inotify 是一个 Linux特性,它监控文件系统操作,比如读取、写入和创建。Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁忙轮询高效得多。学习如何将 inotify 集成到您的应用程序中,并发现一组可用来进一步自动化系统治理的命令行工具。 1.2.3rsync+inotify: 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输。如果文件数量达到了百万甚至千万量级,扫描所有文件将是非常耗时的。而且正在发生变化的往往是其中很少的一部分,这是非常低效的方式。其次

SUSE系统UNISON+inotify数据的双向实时同步

一曲冷凌霜 提交于 2020-02-21 04:12:28
UNISON安装部署手册 操作系统:SUSE12 安装包:inotify-tools-3.13.tar.gz ocaml-4.02.0.tar.gz unison-2.48.4.tar.gz 主机:FH-UMP-PORTAL1 192.168.1.181 FH-UMP-PORTAL2 192.168.1.182 登录用户/密码:root/123456 配置文件:/root/.unison/default.prf Unison双向同步基本原理是:假如有A B两个文件夹,A文件夹把自己的改动同步到B,B文件夹也把自己的改动同步到A,最后A B两文件夹的内容相同,是AB文件夹的合集。 Unison双向同步的一个缺点是,对于一个文件在两个同步文件夹中都被修改时,unison是不会去同步的,因为unison无法判断以那个为准。 一、安装前的准备 1. 查看空间大小 # df -h 2. 创建目录 #mkdir /opt/unison 3. 上传安装包到指定目录 二、解压及安装 4. 解压、编译、安装 (1) 对于ocaml-4.02.0.tar.gz(Linux下通过源码包编译安装Unison时,需要用到Objective Caml compiler) 解压:#tar zxfv ocaml-4.02.0.tar.gz 进入解压目录:#cd ocaml-4.02.0 配置:#.

lsyncd部署

天大地大妈咪最大 提交于 2020-02-19 16:32:33
1.官方地址 [https://github.com/axkibe/lsyncd](https://github.com/axkibe/lsyncd) 2.lsyncd介绍 [https://www.cnblogs.com/zxci/p/6243574.html](https://www.cnblogs.com/zxci/p/6243574.html) lsyncd简介 Lysncd 实际上是lua语言封装了 inotify 和 rsync 工具,采用了 Linux 内核(2.6.13 及以后)里的 inotify 触发机制,然后通过rsync去差异同步,达到实时的效果。我认为它最令人称道的特性是,完美解决了 `inotify + rsync`海量文件同步带来的文件频繁发送文件列表的问题 —— 通过时间延迟或累计触发事件次数实现。另外,它的配置方式很简单,lua本身就是一种配置语言,可读性非常强。lsyncd也有多种工作模式可以选择,本地目录cp,本地目录rsync,远程目录rsyncssh。 实现简单高效的本地目录同步备份(网络存储挂载也当作本地目录),一个命令搞定。 3.安装 [root@nfs01 ~]# yum install lsyncd -y 4.创建配置文件 [root@nfs01 ~]# cat /etc/lsyncd.conf settings { logfile

inotify-tools工具安装配置

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-05 19:08:31
什么是Inotify? Inotify一种强大的、细粒度的、异步文件系统监控机制,它满足各种各样的文件监控需要,可以监控文件系统的访问属性、读写属性、权限属性、删除创建、移动等操作,也就是可以监控文件发生的一切变化。。 inotify-tools是一个C库和一组命令行的工作提供Linux下inotify的简单接口。inotify-tools安装后会得到inotifywait和inotifywatch这两条命令: 一、安装 1.从内核和目录里面查看是否支持inotify [root@yaoji-dev-test ~]# uname -r 3.10.0-693.2.2.el7.x86_64 2.6.13以上版本内核都会支持 ls -l /proc/sys/fs/inotify/ -→主要查看下面有没有三个文件 2.检查是否有安装inotify 如果没有就安装 rpm -qa inotify-tools 安装命令为: yum install inotify-tools -y 二、 参数详解 安装完成后会生成两个命令 /usr/bin/inotifywait /usr/bin/inotifywatch inotifywait命令可以用来收集有关文件访问信息,Linux发行版一般没有包括这个命令,需要安装inotify-tools,这个命令还需要将inotify支持编译入Linux内核