- 博客(169)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
转载 图解kafka的高可用机制
对于一个复杂的分布式系统,如果没有丰富的经验和牛逼的架构能力,很难把系统做得简单易维护,我们都知道,一个软件的生命周期中,后期维护占了70%,所以系统的可维护性是极其重要的, kafka 能成为大数据领域的事实标准,很大原因是因为运维起来很方便简单,今天我们来看下 kafka 是怎么来简化运维操作的。kafka 使用多副本来保证消息不丢失,多副本就涉及到kafka的复制机制,在一个超大规模的集...
2019-12-17 22:00:03 419
转载 hive实现 数据仓库中的拉链表
前言本文将会谈一谈在数据仓库中拉链表相关的内容,包括它的原理、设计、以及在我们大数据场景下的实现方式。全文由下面几个部分组成:先分享一下拉链表的用途、什么是拉链表。通过一些小的使用场景来对拉链表做近一步的阐释,以及拉链表和常用的切片表的区别。举一个具体的应用场景,来设计并实现一份拉链表,最后并通过一些例子说明如何使用我们设计的这张表(因为现在Hive的大规模使用,我们会以Hive...
2019-04-30 14:31:30 428
转载 linux根据端口号查询来源程序
linux根据端口号查询来源程序1.根据端口号查询进程 netstat -tunlp|grep port 2.根据进程查询来源程序ps aux | grep pid上图看出所属进程为2281上图看出占用8083端口的程序为ngnix...
2019-01-31 10:34:32 1620
转载 Kafka基本操作命令
Kafka支持的基本命令位于${KAFKA_HOME}/bin文件夹中,主要是kafka-topics.sh命令;Kafka命令参考页面: kafka-0.8.x-帮助文档 -1. 查看帮助信息bin/kafka-topics.sh --help -2. 创建Topicbin/kafka-topics.sh --create --topic test0 --zoo...
2019-01-30 11:37:24 436
转载 kafka,二:入门篇之常用命令
前言本文所有的操作都是在MacOS系统上使用。如果是在Linux操作系统下进行实验,使用的命令是相同的;如果是在windows操作系统下进行实验,则需要使用对应的bin/windows目录下的bat文件。Broker启动bin/kafka-server-start.sh --daemon config/server.properties启动kafka命令加上–daemon,那么ka...
2019-01-29 17:10:42 268
原创 Kafka,一:集群搭建
Zookeeper集群搭建Kafka集群是把状态保存在Zookeeper中的,首先要搭建Zookeeper集群。1、软件环境(3台服务器-我的测试)192.168.7.100 server1192.168.7.101 server2192.168.7.107 server31、Linux服务器一台、三台、五台、(2*n+1),Zookeeper集群的工作是超过半数才能对...
2019-01-25 14:50:56 258
转载 Kafka常用命令使用说明
一,查看当前Kafka集群中Topic的情况bin/kafka-topics.sh --list --zookeeper127.0.0.1:2181列出该zookeeper中记录在案的topic列表,只有名字二,查看Topic的分区和副本情况命令:bin/kafka-topics.sh --describe --zookeeper 127.0.0.1:2181 --topic t...
2019-01-24 17:33:10 237
转载 Zookeeper的Leader选举
一、前言 前面学习了Zookeeper服务端的相关细节,其中对于集群启动而言,很重要的一部分就是Leader选举,接着就开始深入学习Leader选举。二、Leader选举 2.1 Leader选举概述 Leader选举是保证分布式数据一致性的关键所在。当Zookeeper集群中的一台服务器出现以下两种情况之一时,需要进入Leader选举。 (1) 服务器初始化启动。...
2019-01-09 11:51:17 167
转载 Hadoop面试
1.Hadoop集群可以运行的3个模式?单机(本地)模式伪分布式模式全分布式模式2.单机(本地)模式中的注意点?在单机模式(standalone)中不会存在守护进程,所有东西都运行在一个JVM上。这里同样没有DFS,使用的是本地文件系统。单机模式适用于开发过程中运行MapReduce程序,这也是最少使用的一个模式。3.伪分布模式中的注意点?伪分布式(Pseudo)适用于开发和测试环境...
2018-12-21 14:53:43 563
转载 Kafka到Hdfs的数据Pipeline整理
1> Kafka -> Flume –> Hadoop Hdfs常用方案,基于配置,需要注意hdfs小文件性能等问题.GitHub地址: https://github.com/apache/flume2> Kafka -> Kafka Hadoop Loader ->Hadoop HdfsKafka Hadoop Loader通过为kafka ...
2018-12-21 11:59:12 744
转载 大数据:Hive - ORC 文件存储格式
一、ORC File文件结构 ORC的全称是(Optimized Row Columnar),ORC文件格式是一种Hadoop生态圈中的列式存储格式,它的产生早在2013年初,最初产生自Apache Hive,用于降低Hadoop数据存储空间和加速Hive查询速度。和Parquet类似,它并不是一个单纯的列式存储格式,仍然是首先根据行组分割整个表,在每一个行组内进行按列存储。ORC文件是自描...
2018-12-06 11:54:15 454
转载 csv、parquet、orc读写性能和方式
背景 最近在做一个大数据分析平台的项目,项目开发过程中使用spark来计算工作流工程中的每一个计算步骤,多个spark submit计算提交,构成了一个工作流程的计算。其中使用csv来作为多个计算步骤之间的中间结果存储文件,但是csv作为毫无压缩的文本存储方式显然有些性能不够,所以想要寻找一个存储文件效率更高或者执行效率更高的文件格式作为替代品。 存储方式 csv...
2018-12-05 17:41:03 3763 2
转载 Hive分区表新增字段+重刷历史方法(避免旧分区新增字段为NULL)
1-1.建立测试表hive> CREATE EXTERNAL TABLE table_for_test_add_column( > original_column string COMMENT '原始数据' > ) > COMMENT 'add_column的测试表' > PARTITIONED BY ( &...
2018-12-05 10:15:08 2445 1
转载 Mysql 事务的四种隔离级别介绍
1、未提交读(READ UNCOMMITTED)事务中的修改,即使没有提交,对于其他事务来说也是可见的。也就是说事务可以读取未提交的数据,也就是脏读(Dirty Read).这是最低的隔离级别,实际的应用中一般不用这种隔离级别。下面来模拟看下效果:Session 1 :mysql> show variables like '%isolation%'; 【1】+----...
2018-11-28 11:25:23 238
转载 Hive修改表
Alter Table 语句它是在Hive中用来修改的表。语法声明接受任意属性,我们希望在一个表中修改以下语法。ALTER TABLE name RENAME TO new_nameALTER TABLE name ADD COLUMNS (col_spec[, col_spec ...])ALTER TABLE name DROP [COLUMN] column_name...
2018-11-21 16:10:43 295
转载 Hadoop YARN配置参数剖析—Fair Scheduler相关参数
首先在yarn-site.xml中,将配置参数yarn.resourcemanager.scheduler.class设置为org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler。Fair Scheduler的配置选项包括两部分,其中一部分在yarn-site.xml中,主要用于配置调度器级别的参数,...
2018-11-09 16:09:36 506
转载 Hadoop YARN配置参数剖析—Capacity Scheduler相关参数
Capacity Scheduler是YARN中默认的资源调度器。想要了解Capacity Scheduler是什么,可阅读我的这篇文章“Hadoop Capacity Scheduler分析”。在Capacity Scheduler的配置文件中,队列queueX的参数Y的配置名称为yarn.scheduler.capacity.queueX.Y,为了简单起见,我们记为Y,则每个队列可以配...
2018-11-09 16:07:42 1800
原创 Mongodb数据同步到Hive
思路:利用Mongodb的export工具导出数据成json格式; load该json数据到临时hive表的一个字段; 从该临时hive表解析json落地成最终的表;代码:1. 利用Mongodb的export工具导出数据成json格式$mongo_path/bin/mongoexport -h $host:27017 -u $u...
2018-11-08 15:15:26 2705 1
转载 使用Sqoop job工具同步数据
我们使用的是Sqoop-1.4.4,在进行关系型数据库与Hadoop/Hive数据同步的时候,如果使用--incremental选项,如使用append模式,我们需要记录一个--last-value的值,如果每次执行同步脚本的时候,都需要从日志中解析出来这个--last-value的值,然后重新设置脚本参数,才能正确同步,保证从关系型数据库同步到Hadoop/Hive的数据不发生重复的问题。而且...
2018-11-08 13:47:14 950
转载 sqoop 特殊字符导入问题
Sqoop从MySQL导入数据到hive,示例:sqoop import –connect jdbc:mysql://10.255.2.89:3306/test?charset=utf-8 – username selectuser –password select##select## –table test_sqoop_import \–columns ‘id,content,updateT...
2018-09-30 15:14:28 4662
转载 HDFS——如何将文件从HDFS复制到本地
下面两个命令是把文件从HDFS上下载到本地的命令。get使用方法:Hadoop fs -get [-ignorecrc] [-crc]复制文件到本地文件系统。可用-ignorecrc选项复制CRC校验失败的文件。使用-crc选项复制文件以及CRC信息。示例:hadoop fs -get /user/hadoop/file localfilehadoop fs -get hd...
2018-09-28 08:42:18 23334
转载 拉链表--实现、更新及回滚的具体实现
1 背景 本文前面的内容时参考了'lxw的大数据田地',具体可查看最后的'参考文章',个人加入了'拉链表的回滚'部分的内容sql,如果有实践的,可以互相交流学习,谢谢 在数据仓库的数据模型设计过程中,经常会遇到这样的需求: 1.1 数据量比较大; 1.2 表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等; 1.3 需要查看某一个...
2018-08-24 17:00:56 2720
转载 hive的用户和用户权限
HiverServer2支持远程多客户端的并发和认证,支持通过JDBC、Beeline等连接操作。hive默认的Derby数据库,由于是内嵌的文件数据库,只支持一个用户的操作访问,支持多用户需用mysql保存元数据。现在关心的是HiveServer如何基于mysql元数据库管理用户权限,其安全控制体系与Linux及Hadoop的用户是否存在联系。1)remote方式部署HiveHive中m...
2018-08-24 10:36:31 15904 1
原创 sqoop同步操作实例
1、自由模式查询同步数据 (如下)bin/sqoop import \--connect jdbc:mysql://xxxxxurl、端口、库名xxxxxx?tinyInt1isBit=false \--username 用户名 \--password 密码 \--null-string '\\N' \--null-non-string '\\N' \--query "sel...
2018-08-24 10:28:57 1470
转载 Vim 保存和退出命令
命令 简单说明 :w 保存编辑后的文件内容,但不退出vim编辑器。这个命令的作用是把内存缓冲区中的数据写到启动vim时指定的文件中。 :w! 强制写文件,即强制覆盖原有文件。如果原有文件的访问权限不允许写入文件,例如,原有的文件为只读文件,则可使用这个命令强制写入。但是,这种命令用法仅...
2018-08-02 10:25:51 7994
转载 java 深克隆
浅拷贝(Object类中的clone()方法)是指在拷贝对象时,对于基本数据类型的变量会重新复制一份,而对于引用类型的变量只是对引用进行拷贝。深拷贝(或叫深克隆) 则是对对象及该对象关联的对象内容,都会进行一份拷贝。 实体类:package com.lin.test;import java.io.Serializable;/** * @athor tianlin * * 2015年...
2018-06-26 14:36:25 150
转载 storm定时任务使用实例
1.背景需要在bolt中定时执行某些操作2.方法都是利用系统自带的定时tuple来完成,相当于系统自动发一个带有特殊标记的tuple,然后自己在bolt中判断,若为此特殊tuple,执行定时函数。(1)如果所有bolt都需要定时,可在topology入口处通过config设置(2)如果只有某一类bolt需要定时,可在该bolt内部override getComponetConfiguration方...
2018-06-12 16:39:23 892
转载 Comparable接口 排序
compareTo返回值为-1 、 1 、 0 的排序问题1.什么是Comparable接口此接口强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序 ,类的 compareTo 方法被称为它的自然比较方法 。实现此接口的对象列表(和数组)可以通过 Collections.sort (和 Arrays.sort )进行自动排序。实现此接口的对象可以用作有序映射表中的键或有序集合中的元...
2018-06-11 16:48:21 1167
转载 常用的推荐算法小结
推荐系统的必然互联网发展到现阶段,信息已经不是匮乏,而是爆炸。所以良好的用户体验就是把用户喜欢的,感兴趣的从大量的数据中筛选出来,再呈现给用户,实现千人千面的效果。所以推荐系统的出现就是必然了,他可以推荐每个用户感兴趣的产品,同时也将每个产品呈现到感兴趣的用户面前。实现用户和产品的双赢。推荐系统架构一个常见的推荐系统架构一般如下图: 可以看到分为数据来源、推荐引擎和推荐交互三个方面。 数据 60...
2018-06-05 17:40:50 4763
转载 Redis中PipeLine使用(二)
批量查询的相关问题总结再做测试之前首先向redis中批量插入一组数据1-->12-->23-->34-->45-->56-->6123456现在批量get数据for (Entry<String,String> entry :map.entrySet()) { pipe.get(entry....
2018-06-05 15:55:39 718
转载 Redis中PipeLine使用(一)
(一)简介 Redis客户端与Redis之间使用TCP协议进行连接,一个客户端可以通过一个socket连接发起多个请求命令。每个请求命令发出后client通常会阻塞并等待redis服务处理,redis处理完后请求命令后会将结果通过响应报文返回给client,因此当执行多条命令的时候都需要等待上一条命令执行完毕才能执行,如:get ‘0’,get ‘1’,get ‘2’其执行过程如下图所示:而管道(...
2018-06-05 15:54:49 2987
转载 通过Google的Guava基于callback、LoadingCache两种不同方式实现虚拟机内存缓存Cache机制示例demo
一、前言基于google的guava-19.0.jar开源包基于callback的形式、LoadingCache的形式两种不同的方式实现基于java虚拟机的内存缓存机制(有效生命周期控制expireAfterWrite),主要涉及com.google.common.cache.Cache、com.google.common.cache.CacheBuilder、com.google.commo...
2018-06-01 16:38:32 1122
转载 流计算框架Flink与Storm的性能对比
1. 背景Apache Flink 和 Apache Storm 是当前业界广泛使用的两个分布式实时计算框架。其中 Apache Storm(以下简称“Storm”)在美团点评实时计算业务中已有较为成熟的运用(可参考 Storm 的可靠性保证测试),有管理平台、常用 API 和相应的文档,大量实时作业基于 Storm 构建。而 Apache Flink(以下简称“Flink”)在近期倍受关注,具有...
2018-05-31 17:37:23 3358
转载 IRichBolt和IBasicBolt/BaseBasicBolt对比
storm消息的可靠处理 IRichBolt和IBasicBolt/BaseBasicBolt对比 使用IBasicBolt/BaseBasicBolt不需要总是调用collect.ack,storm会帮我们处理。对于spout,有ISpout,IRichSpout,BaseRichSpout对于bolt,有IBolt,IRichBolt,BaseRichBolt,IBasicBolt,BaseB...
2018-05-31 15:56:23 840
转载 Java中的String,StringBuilder,StringBuffer三者的区别
最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下,便于大家观看,也便于加深自己学习过程中对这些知识点的记忆,如果哪里有误,恳请指正。 这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。首先说运行速度,或者说是执行速度,在这方面运行...
2018-05-21 16:31:59 131
转载 Java学习笔记之LinkedList基本用法
LinkedList简介LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。LinkedList 实现 List 接口,能进行队列操作。LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。ArrayList底层是由数组支持,而LinkedList 是由双向链表实现的,其中的每个对...
2018-05-21 11:06:49 3397
转载 java中ArrayList 、LinkList区别
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList优于LinkedList,因为ArrayList可以随机定位,而LinkedList要移动指针一步一步的移动到节点处。(参考数组与链表来思考) 3.对于新增和删除操作add和remove,LinedList比较占优势,只需要对指针进行修改即...
2018-05-21 11:04:38 2559
转载 java当中的定时器的4种使用方式
对于开发游戏项目的同胞来说,Timer 这个东西肯定不会陌生,今天对以前自己经常使用的定时进行了一番小小的总结!没有写具体实现的原理,只是列举出了其中的四种比较常见的使用方法,相对而言,所以只要按照其所列举的例子仿照即可! 1 import java.util.Calendar; 2 import java.util.Date; 3 import java.util.Timer; 4 imp...
2018-05-21 10:25:38 451
转载 storm每隔一段时间发送tuple
TickTuple可以满足每隔一段时间发送tuple,"__system" component会定时往task发送 "__tick" stream的tuple,发送频率由TOPOLOGY_TICK_TUPLE_FREQ_SECS来配置, 可以在default.ymal里面配置,也可以在代码里面通过getComponentConfiguration()来进行配置。代码里面配置如下public Map...
2018-05-17 23:59:04 404
转载 Guava学习之Lists
Lists类主要提供了对List类的子类构造以及操作的静态方法。在Lists类中支持构造ArrayList、LinkedList以及newCopyOnWriteArrayList对象的方法。其中提供了以下构造ArrayList的函数:下面四个构造一个ArrayList对象,但是不显式的给出申请空间的大小: newArrayList() newArrayList(E... element...
2018-05-17 11:23:08 294
DWR中文的学习文档
2010-05-23
应人事助理HR笔试和答案
2010-05-11
华为java经典面试题大总结
2010-04-28
非常值得下载的java笔试大汇总
2010-04-28
log4j (%F:%L) (%C:%M) 设定的问题
2016-06-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人