- 博客(106)
- 收藏
- 关注
原创 Flume_Channel
事务工作流Flume Channel是事务性的,由于性能的原因总是推荐每个事务有相当大数量的事件,批量写入Channel是很重要的,尤其是持久的Channel。如果sink读取完一个事件,该事件对于其他sink就是不可用的,除非回滚该sink事务。单个事务不能同时写入和读取事件。这保证了source只能往channel中放入事件,sink只能从channel中取走事件。flume自带的channe
2017-12-06 10:33:29
774
原创 Flume_Source
source的生命周期source被命名为像其他任何部件一样通过配置文件进行配置的组件。配置系统一旦验证通过一个source,就会实例化并且由configurationProvider进行配置。source一旦成功配置,flume的生命周期管理系统将会尝试启动source。只有agent自身停止或被杀死、或者agent被用户重新配置,source才会停止。Avro SourceFlume主要的RP
2017-12-06 10:04:05
516
原创 Flume_概述
flume概述flume是分布式的日志收集系统,它将各个服务器中的数据收集起来并送到指定的地方,比如送到HDFS,简单来说flume就是收集日志的。 flume的核心是把数据从数据源(source)收集过来,再将收集到的数据送到指定的目的地(sink)。为了保证输送的过程一定成功,在送到目的地(sink)之前,会先缓存数据(channel),待数据真正到达目的地(sink)后,flume再删除己缓
2017-12-06 09:35:26
1308
原创 Redis_命令
基本命令EXISTS key 判断建key是否存在TYPE key 查看key的值类型set key value EX s 创建键值对key-value,设置生存时间s秒KEYS pattern 查看建 pattern支持通配符:? 匹配一个字符* 匹配任意个(包括0个)字符[] 匹配括号间的任意
2017-12-05 16:38:53
392
原创 Redis_基础
Redis(REmote Dictionary Server远程字典服务器)概述① Redis是单线程应用程序,占用较少的内存。在性能上Redis是单线程模型,而Memcached支持多线程,所以在多核服务器上后者的性能更高一些。如果需要用到高级的数据类型或是持久化等功能,Redis是Memcached很好的替代品当拥有大量不经常使用的数据且无须立即存取时,Redis不是最佳的方案。基于SQL的关系
2017-12-04 16:46:43
372
原创 Redis_集群介绍
Redis介绍redis是一个基于内存的K-V存储数据库。支持存储的类型有string,list,set,zset(sorted set),hash等。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。redis支持各种不同方式的排序。保证效率的情况下,数据缓存在内存中。同时redis提供了持久化策略,不同的策略触发同步到磁盘或者把修
2017-12-04 16:15:47
293
原创 Redis_集群搭建
下载并解压:wget http://download.redis.io/releases/redis-4.0.0.tar.gztar -zxvf redis-4.0.0.tar.gz切换apt源至国外源sudo apt-get update、sudo apt-get upgrade下载编译器:sudo apt-get install gcc && apt-get install make && s
2017-12-04 15:41:13
317
原创 Redis_慢查询日志与简单动态字符串
慢查询日志慢查询日志帮助开发和运维人员定位系统存在的慢操作。慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(慢查询ID,发生时间戳,耗时,命令的详细信息)记录下来。需要注意,慢查询日志只是统计执行命令的时间,所以慢查询并不代表客户端没有超时问题。慢查询的配置参数① 慢查询的预设阀值 slowlog-log-slower-than slowlog-
2017-12-04 15:34:31
353
原创 Cassandra_维护和调优
一、维护日志:log4j-server.properties文件,生产环境下更适宜将日志级别调到WARN或是ERROR,因为过繁琐的输出可能会让服务器变慢很多通过Cassandra自动的Nodetool工具(/bin目录下),可以查看集群、了解其行为并调整集群的功能,查看每个节点负责的区间,在节点间移动数据、退服节点、修复遇到问题的节点命令bin/nodetool -h 192.168.6.1
2017-12-04 14:51:52
1986
原创 Cassandra_架构
System keyspace用于存储关于集群的原数据,以帮助各种操作的顺利进行。不仅存储了本地节点的元数据,也存储了提示切换信息,这些元数据包括: 节点令牌; 集群名; 用于支持动态装载的keyspace和schema的定义; 迁移数据; 节点是否自举成功。 schema的定义存储于两个列族之中:Schema列族保存用户的keyspace和schema的定义;Migrations列族则
2017-12-04 14:27:52
819
原创 Cassandra_基础
关系型数据库①事务、ACID和两阶段提交 数据库事务是一种具有ACID特征的“状态转义过程”。 ACID是原子性(Atomic)、一致性(Consistent)、隔离性(Isolated)和持久性(Durable)的缩写,是验证事务是否正确、是否成功执行的标尺和准则。 为保证事务跨越多主机成功执行,人们提出了两阶段提交(2PC,即two-phase commit),但是因为两阶段提交锁住了所有
2017-12-04 14:05:56
1059
原创 NoSQL_概述
一、关系型数据库的特点关系型数据库① 能够持久保存数据,控制并发访问(事务),同时也提供了一套集成机制 ② 由于关系模型与内存中的数据结构不匹配,所以应用程序开发人员一直为这种阻抗失谐问题所困扰 ③ 数据库领域的迁移趋势是:原来,各个应用程序都把同一份数据库当成共用的集成点;而现在,各个应用程序都会封装自己的数据库,并通过服务彼此继承。 ④ 促使数据存储方式发生变化的重要原因是:需要在集群上
2017-12-04 11:17:56
484
原创 MongoDB_管理
相关命令db.currentOp() 查看正在进行的操作 只要找到了想要终止的操作,就可以将该操作的Opid作为参数,通过执行db.kiilOp()来终止该操作的执行db.setProfilingLevel()系统分析器,记录了特殊操作集合system.profile中的操作,并提供大量有关耗时过长的操作信息。Object.bsonsize()该函数将返回该文档存储在MongoDB中时占用
2017-12-04 09:48:42
281
原创 MongoDB_分片
分片概念:分片是指将数据拆分,将其分散放在不同机器上的过程,有时也用分区来表示这个概念。MongoDB支持自动分片。MongoDB的分片机制允许你创建一个包含许多机器(分片)的集群,将数据分散在集群中,每个分片维护着一个数据集合的子集。在分片之前要先执行mongos进行一次路由过程,这个路由服务器维护着一个“内容列表”,指明了每个分片包含什么数据,应用程序只需要连接到路由服务器就可以了。如果从一个未
2017-12-04 09:43:31
655
原创 MongoDB_副本集
什么是副本集?在MongoDB中创建一个副本集之后就可以使用复制功能了。副本集是一组服务器,其中有一个主服务器(primary),用于处理客户端请求,还有多个备份服务器(secondary),用于保存主服务器的数据副本。如果主服务器崩溃了,备份服务器会自动将其中一个成员升级为新的主服务器。同步MongoDB的复制功能是使用操作日志oplog实现的,操作日志包含了主节点的每一次写操作。oplog是主
2017-12-01 11:45:30
1077
原创 MongoDB_应用程序设计
范式化与反范式化范式化是将数据分散到多个不同的集合,不同集合之前可以相互引用数据。如果要修改某一块数据,只需要修改保存这一块数据的那一个文档就行了反范式化是将每个文档所需的数据都嵌入在文档内部。如果数据发生变化,所有相关文档都需要进行更新。但是在执行查询时,只需要查询一次就可以得到所有数据如果数据更新频繁,那么反范式化更好内嵌数据与引用数据的比较:更适合内嵌
2017-11-30 16:38:59
350
原创 MongoDB_特殊集合&聚合&GridFS
固定集合:需要事先创建好并指定大小,固定集合的行为类似于循环队列,如果集合空间已满,新插入数据时,会将最老的文档删除。 db.createCollection(“my_collection”,{“capped”:true,“size”:100000,“max”:100})以上创建了一个大小为100000字节,最大文档数量100的集合。固定集合的属性不能再被修改,只能将它删除。 可以将已有常规
2017-11-30 16:33:33
574
原创 MongoDB_索引
索引概述① 索引数量: 在一个特定的集合上,不应该拥有两个以上的索引。对于添加的每一个索引,每次的写操作都将耗费更多的时间。② 索引基数: 集合中某个字段拥有不同值的数量。应该在基数比较高的键上建立索引。或者至少应该把基数较高的键放在复合索引的前面。③ 何时不应该使用索引: 结果集在原集合中所占的比例越大(30%),索引的速度就越慢,这时应该考虑不使用索引。索引类型① 唯一索引: 可以确保
2017-11-30 16:20:00
350
原创 MongoDB_基础知识
一、MongoDB简介MongoDB扩展功能① 索引 支持通用二级索引,允许多种快速查询,且提供唯一索引、复合索引、地理空间索引、全文索引 ② 聚合 支持“聚合管道”,能够通过简单的片段创建复杂的聚合,并通过数据库自动优化 ③ 特殊的集合类型 支持存在时间有限的集合,适用于那些将在某个时刻过期的数据,如会话。也支持固定大小的集合,用于保存近期数据,如日志。 ④ 文件存储 存储大文件和
2017-11-30 15:58:06
493
原创 MongoDB_Java操作实例
public class MyMongo{ private void test() { // 1.获取连接:MongoClient MongoCredential credential = MongoCredential.createCredential("user","database","password".toCharArra
2017-11-30 15:14:18
515
原创 Hive_基础
Hive是什么Hive是一个构建在Hadoop上的数据仓库框架,提供了一系列用于ETL的工具 Hive是SQL解析引擎,它将SQL语句转译成M/R Job然后在Hadoop执行 Hive的表其实就是HDFS的目录,按表名把文件夹分开。如果是分区表,则分区值是子文件夹,可以直接在M/R Job里使用这些数据。 设计目的: 让精通SQL(但Java编程相对较弱)的分析师能够以类SQL的方式查询存
2017-11-30 14:03:02
405
转载 Hive_Spark相关错误
【原文】https://www.cnblogs.com/qifengle-2446/p/6424377.html 一. 经验Spark Streaming包含三种计算模式:nonstate .stateful .windowSpark一切操作归根结底是对RDD的操作kafka的log.dirs不要设置成/tmp下的目录,貌似tmp目录有文件数和磁盘容量限制ES的分片类似kafka的part
2017-11-30 11:51:24
2010
原创 Hive_配置参数
hive.jobname.length 当前 job name 的最大长度,hive 会根据此长度省略 job name 的中间部分。 默认值:50 hive.jar.path 通过单独的 JVM 提交 job 时,hive_cli.jar 所在的路径 默认值:” hive.aux.jars.path 各种由用户自定义 UDF 和 SerDe 构成的插件 jar
2017-11-30 10:35:44
945
原创 Hive_表操作
Hive架构 The Hive metadata store (or called metastore) can use either embedded,local, or remote databases. Hive servers are built on Apache Thrift Server technology.Hive适用derbe作为默认元数据存储(仅支持一个客户端在线),以下方
2017-11-30 10:05:47
541
原创 Hive_应用设计
理解Hive① Hive类似于HDFS客户端,Hive所有表数据均存放在HDFS中,元数据信息存放于Mysql。Hive表结构设计,实际设计的是对HDFS数据的访问方式,或者数据组织方式。对Hive表数据的操作最终以MapReduce任务的形式提交到集群,并返回任务执行的结果。② Hive作为架构于HDFS之上的数据操作框架,其分布式特性来自于HDFS和MapReduce而并非自身,因此,Hive以
2017-11-30 09:16:56
817
原创 Hive_命令
创建表Hive> CREATE TABLE pokes (foo INT, bar STRING); 创建一个新表,结构与records表一样hive> create table new_table like records;创建分区表hive> create table logs(ts bigint,line string) partitioned by (dt String,country
2017-11-28 15:25:07
455
原创 集群调优
系统调优① Nproc:单个用户同一时刻可用的最大进程数量② Ulimit:单个用户同时打开的最大文件数,调整ulimit上限 修改limits.conf文件,执行ulimit -a命令可以检查这个文件的内容。③ 禁用JVM的自适应堆大小,固定堆内存的上下限④ 启用JVM重用,可以设置mapred.job.reuse.jvm.num.tasks参数为我们想重用的JVM的个数⑤ atime和noat
2017-11-27 17:13:28
657
原创 Hbase_应用
HBase使用场景:什么时候使用HBase: ①数据总量:如果只有数百万行和一些读写操作,是不需要HBase的。而如果有数十亿列,同时在很短时间内有数以千计的读写操作,这时就应该考虑HBase ② 如果数据模式是动态的或者可变的 ③ 如果很多列包含很多null值 ④ 当有大量的动态行 ⑤ 如果数据包含不定数量的列 ⑥ 如果需要维护数据的版本 ⑦ 如果需要高扩展性 ⑧ 如果需要在记录中
2017-11-27 17:04:09
455
原创 Hbase_架构与运行机制
HBase的组件和功能·Zookeeper用来选举集群主节点,以便跟踪可用的在线服务器,同时维护集群的元数据。 Zookeeper以树形维护Zookeeper数据znode,它有两种形式: ①临时节点,适合应用程序检验某个分布式系统资源是否可用 ②持久节点,保存了应用程序的一些数据·HMaster 管理运行在不同服务器上的RegionServer,也为客户端操作HBase的所有元数据提供接口
2017-11-27 16:25:49
2152
原创 Hbase_列式数据库特性
HBase概述HBase是一个建立在HDFS上的列式存储数据库,具有支持线性扩展(横向扩展)、自动故障转移、自动分区及模式自由等特性 HBase与HadoopHDFS属于非结构化的文件格式,HBase则提供了在HDFS之上的结构化存储方式。HBase特征① 自动故障处理和负载均衡:HBase运行在HDFS上,HDFS的多副本存储让HBase在内部就支持了分布式和自动恢复。另外HMaster和Reg
2017-11-27 16:02:24
2463
原创 Hbase_配置说明
通用和master配置hbase.rootdirregionserver的数据根目录,用来持久化HBase。例如,要表示hdfs中的’/hbase’目录,namenode 运行在debug01的8020端口,则需要设置为hdfs:// debug01:8020/hbase。这个是必须要设置的项目,默认值本地文件系统的/tmp只能在单机模式使用。hbase.master.port默认: 60000
2017-11-27 15:42:44
1588
原创 Hbase_JAVA api
【概述】几个相关类与HBase数据模型之间的对应关系 java类 HBase数据模型HBaseConfiguration、HBaseAdmin 数据库(DataBase) HTable 表(Table)HTableDescriptor
2017-11-27 15:08:11
285
原创 Hbase_命令
查看数据库状态status 查看数据库版本信息version 创建表:表scores 具有两个列族grad 和coursecreate 'scores','grade', 'course' 查看当前HBase中具有哪些表list查看表的构造describe 'scores'使表在线enable ‘表名’ 查看表是否存在 exits ‘表名’ 查看表是否在线is_enable ‘表名’
2017-11-27 14:36:27
513
原创 Hbase_HA配置
概述HBase中可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行。所以配置HBase高可用,只需要启动两个HMaster,让Zookeeper自己去选择一个Master Acitve。HBase配置:① hbase-env.shexport HBASE_OPTS="$HBASE_OPTS -XX:+HeapDumpOnOutOfMe
2017-11-27 14:14:45
497
原创 Storm_原理
Storm集群架构主节点:Nimbus(进程),分发代码、分配工作给从节点、监控从节点状态。 从节点:Supervisor(进程),监听分配到本机的工作、启动和关闭Worker进程。Storm作业执行① 一个具体的Topology对应多个Worker进程(但一个Worker进程只能对应一个Topology),多个Worker进程分布在多个不同的节点,一个Worker可以启动多个Executor执
2017-11-27 11:39:18
400
原创 Storm_应用设计
理解Storm① storm中的spout、bolt都可以是并行的,它将逻辑上不相互依赖的同一层处理关系复制成多份同时执行,并且,多个执行间的相互协调由storm框架本身提供。② 对于前后依赖的层级间关系,storm提供的强关联性保证只有前面的处理顺利执行完毕,后面的逻辑才能得到执行。③ Storm的实时性一方面源于不对历史数据作过多关注,也正因此,storm作为数据处理框架不提供对历史数据的保存。
2017-11-27 11:14:16
404
原创 常用命令
进入/关闭安全模式hdfs dfsadmin -safemode enter/leave上传文件到hdfsbin/hadoop fs -put /home/hadoop/spark-1.6.2/lib/*.jar查看hdfs中的文件bin/hadoop fs -ls /查看hbase元数据状态hbase hbck修复hbase元数据表hbase hbck -fixMeta重新将hbase元
2017-11-24 21:17:21
437
原创 Ubuntu_网络
一、网络基础知识TCP/IPTCP/IP是用于计算机通信的一组协议,将网络分为4层模型: 网络接口层:负责数据帧的发送和接收 互连层:互连协议将数据报封装成IP package,并运行必要的路由算法 传输层:传输协议在主机之间提供通信会话。主要有TCP(传输控制协议)和UDP(用户数据包协议) 应用层:应用程序通过这一层访问网络,主要包括http,ftp,dns,telnet等IP地址在逻
2017-11-24 19:26:46
554
原创 Linux_文件系统
Linux文件系统接口实现为分层的体系结构,从而将用户接口层、文件系统实现和操作存储设备的驱动程序分隔开。Windows文件系统的挂载原理是将磁盘分成若干个分区,在各个分区中挂载文件系统。而Linux是将磁盘空间挂载在一个目录下。Linux自己的文件系统包括:ext2、ext3、ext4、reiserfs等ext2文件系统:ext2是ext3、ext4的基础。ext2支持反删除,如果误删了文件,
2017-11-24 15:50:44
374
原创 Ubuntu_下载工具
Linux文件系统接口实现为分层的体系结构,从而将用户接口层、文件系统实现和操作存储设备的驱动程序分隔开。Windows文件系统的挂载原理是将磁盘分成若干个分区,在各个分区中挂载文件系统。而Linux是将磁盘空间挂载在一个目录下。Linux自己的文件系统包括:ext2、ext3、ext4、reiserfs等ext2文件系统:ext2是ext3、ext4的基础。ext2支持反删除,如果误删了文件,
2017-11-24 15:50:22
779
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅