ZooKeeper

大数据技术之Hadoop(HDFS)

﹥>﹥吖頭↗ 提交于 2020-11-26 16:27:24
第1章 HDFS概述 1.1 HDFS 产出背景及定义 1.2 HDFS 优缺点 1.3 HDFS 组成架构 1.4 HDFS 文件块大小(面试重点) 第2章 HDFS的Shell操作(开发重点) 1 .基本语法 bin/hadoop fs 具体命令 OR bin/hdfs dfs 具体命令 dfs是fs的实现类。 2 .命令大全 [atguigu@hadoop102 hadoop-2.7.2]$ bin/hadoop fs [-appendToFile <localsrc> ... <dst>] [-cat [-ignoreCrc] <src> ...] [-checksum <src> ...] [-chgrp [-R] GROUP PATH...] [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...] [-chown [-R] [OWNER][:[GROUP]] PATH...] [-copyFromLocal [-f] [-p] <localsrc> ... <dst>] [-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>] [-count [-q] <path> ...] [-cp [-f] [-p] <src> ... <dst>] [

2020最全的Java架构面试指南:这个GitHub上的开源项目,助我拿下大厂月薪30K*offer

生来就可爱ヽ(ⅴ<●) 提交于 2020-11-26 11:25:08
前言 学习如逆水行舟,尤其是IT行业有着日新月异的节奏。 而且现在这个浮躁而又拜金的社会,我相信很多人做技术并非出于热爱,只是被互联网的高薪吸引,毕竟技术岗位非常枯燥,不仅要面对奇奇怪怪的需求,还要不停的充实自己避免被淘汰。所以,我们更要抓紧每一次可以学习和进步的机会。没有撤退可言! 即使是面试跳槽,那也是一个学习的过程。只有全面的复习,才能让我们更好的充实自己,武装自己,为自己的面试之路不再坎坷! 今天就给大家分享一个Github上全面的Java面试题大全,就是这份面试大全助我拿下大厂Offer,月薪提至30K! 我也是第一时间分享出来给大家,希望可以帮助大家都能去往自己心仪的大厂!为明年的金三银四做准备! 有需要的朋友 点击此处直达 领取 直击目录 一共有20个知识点专题,分别是: Dubbo面试专题 JVM面试专题 Java并发面试专题 Kafka面试专题 MongDB面试专题 MyBatis面试专题 MySQL面试专题 Netty面试专题 RabbitMQ面试专题 Redis面试专题 Spring Cloud面试专题 SpringBoot面试专题 zookeeper面试专题 常见面试算法题汇总专题 计算机网络基础专题 设计模式专题 内容展示: 由于篇幅原因,有需要的朋友 点击此处免费获取资料 ,希望能给您找工作提供很好的帮助! 来源: oschina 链接: https:/

kafka如何实现高并发存储-如何找到一条需要消费的数据(阿里)

大憨熊 提交于 2020-11-26 03:35:42
阿里太注重原理了:阿里问kafka如何实现高并发存储-如何找到一条需要消费的数据,kafka用了稀疏索引的方式,使用了二分查找法,其实很多索引都是二分查找法 二分查找法的时间复杂度:O(logn) redis,kafka,B+树的底层都采用了二分查找法 参考:二分查找法 redis的索引底层的 跳表原理 实现 聊聊Mysql索引和redis跳表 ---redis的跳表原理 时间复杂度O(logn)(阿里) 参考:二分查找法 mysql索引原理: 一步步分析为什么B+树适合作为索引的结构 以及索引原理 (阿里面试) 参考:二分查找法: 各种排序算法的时间复杂度和空间复杂度(阿里) 这是答案: 在partition中如何通过offset查找message 例如读取offset=368776的message,需要通过下面2个步骤查找。 第一步查找segment file 上述图2为例,其中00000000000000000000.index表示最开始的文件,起始偏移量(offset)为0.第二个文件00000000000000368769.index的消息量起始偏移量为368770 = 368769 + 1.同样,第三个文件00000000000000737337.index的起始偏移量为737338=737337 + 1,其他后续文件依次类推,以起始偏移量命名并排序这些文件

springboot集成elastic-job

瘦欲@ 提交于 2020-11-26 01:02:05
1、首先添加引用 <!-- https://mvnrepository.com/artifact/com.dangdang/elastic-job-lite-core --> <!-- 有 elastic-job-lite-spring 就不需要下面这个 pom 引用了,因为已经包含了 --> <!-- <dependency>--> <!-- <groupId>com.dangdang</groupId>--> <!-- <artifactId>elastic-job-lite-core</artifactId>--> <!-- <version>2.1.5</version>--> <!-- </dependency>--> <!-- https://mvnrepository.com/artifact/com.dangdang/elastic-job-lite-spring --> <dependency> <groupId> com.dangdang </groupId> <artifactId> elastic-job-lite-spring </artifactId> <version> 2.1.5 </version> </dependency> 2、添加配置文件信息。 server : port : 8081 elasticjob : regCenter :

docker一键部署zookeeper

不打扰是莪最后的温柔 提交于 2020-11-25 18:52:06
version: '3.1' services: zoo1: image: zookeeper:3.4.11 restart: always hostname: zoo1 container_name: zookeeper_1 #domainname: ports: - 2181:2181 environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 zoo2: image: zookeeper:3.4.11 restart: always hostname: zoo2 container_name: zookeeper_2 ports: - 2182:2181 environment: ZOO_MY_ID: 2 ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 zoo3: image: zookeeper:3.4.11 restart: always hostname: zoo3 container_name: zookeeper_3 ports: - 2183:2181 environment: ZOO

Docker安装Zookeeper集群

别来无恙 提交于 2020-11-25 18:51:50
一、 安装Docker (略) 二、 安装Docker Compose (略) 三、 编写docker-compose.yml文件 3.1 新建配置文件 touch cluster.yml vim cluster.yml cluster.yml 配置如下 version: '3.7' services: zoo1: image: zookeeper:3.5.5 restart: always hostname: zoo1 container_name: zookeeper_1 volumes: - /usr/local/use_data/zookeeper/cluster/zoo_1/data:/data - /usr/local/use_data/zookeeper/cluster/zoo_1/log:/datalog ports: - 2181:2181 environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181 zoo2: image: zookeeper:3.5.5 restart: always hostname: zoo2 container_name: zookeeper

弄懂这些redis分布式锁知识点,明天就去跟老板谈涨薪!(建议收藏)

白昼怎懂夜的黑 提交于 2020-11-25 13:47:48
1 介绍 这篇博文讲介绍如何一步步构建一个基于Redis的分布式锁。会从最原始的版本开始,然后根据问题进行调整,最后完成一个较为合理的分布式锁。 本篇文章会将分布式锁的实现分为两部分,一个是单机环境,另一个是集群环境下的Redis锁实现。在介绍分布式锁的实现之前,先来了解下分布式锁的一些信息。 开始之前,记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可以点一点下方链接免费领取 链接: 点这里!!! 799215493 暗号:CSDN 2 分布式锁 2.1 什么是分布式锁? 分布式锁是控制分布式系统或不同系统之间共同访问共享资源的一种锁实现,如果不同的系统或同一个系统的不同主机之间共享了某个资源时,往往需要互斥来防止彼此干扰来保证一致性。 2.2 分布式锁需要具备哪些条件 互斥性:在任意一个时刻,只有一个客户端持有锁。 无死锁:即便持有锁的客户端崩溃或者其他意外事件,锁仍然可以被获取。 容错:只要大部分Redis节点都活着,客户端就可以获取和释放锁 2.3 分布式锁的实现有哪些? 数据库 Memcached(add命令) Redis(setnx命令) Zookeeper(临时节点) 等等 3 单机Redis的分布式锁 3.1 准备工作 3.1.1 定义常量类 public class LockConstants { public static final

docker-compose简介(一)

谁说胖子不能爱 提交于 2020-11-25 07:22:53
一、简介 Compose是用于定义和运行多容器Docker应用程序的工具。 使用compose,可以使用yaml文件配置应用程序的服务。 然后,通过一个命令,可以从配置中创建和启动所有服务。 二、使用 使用compose基本上是一个三步过程: 1. 用dockerfile,或者镜像定义应用程序的环境,以便在任何地方复制。 2. 在docker-compose.yml中定义组成应用程序的服务,以便它们可以在单独的环境中一起运行。 3. 运行docker compose up启动并运行整个应用程序。 三、命令 1. 命令格式 docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...] docker-compose -h|--help -f指定yml文件,如果不指定默认为当前文件夹下的docker-compose.yml文件 2. 创建并且启动containers、启动services、重启services、停止services、删除services - docker-compose up | start | restart | stop | rm 注意:a 第一次使用需要创建containers,因此使用up命令。 docker-compose up b 如果使用自定义的yml文件名,需要加-指定文件:docker

java爬虫简介(一)->实现数据抓取->httpClient请求接口数据

守給你的承諾、 提交于 2020-11-25 04:28:45
背景 现如今,数据成为了越来越重要的网络资源,越来越有价值。无论是数据的分析还是前后端页面的数据交互,都离不开真实有效的数据。项目开发中数据甲方不可能实时提供,我们只能找到目标网站的数据进行抓取入库。 数据作用 决策支持 提升效益 数据的直接变现方式 数据资源交易 行业报告 广告平台 数据抓取的难点 1、目标网站有反爬取策略 2、目标网站模板会进行定时或实时变动 3、目标网站URL抓取失败 4、IP被封禁 解决办法: 购买代理IP库,随机获取IP进行数据抓取 部署多个应用分别进行抓取,降低单位节点访问的频率 设置每个页面抓取的时间间隔 5、用户登录限制 数据抓取的原理 实质上就是java程序模拟浏览器进行目标网站的访问,无论是请求目标服务器的接口还是请求目标网页内容,都是要在java程序中对数据进行解析。最简单的抓取方式有httpclient请求目标服务器接口,jsoup请求目标页面内容,把请求的数据进行解析然后入库。另外要做好爬取的实时监控,如果URL请求失败3次,就放弃该URL的抓取。 总体架构的设计 1、数据流向 1、确定数据爬取目标 2、数据采集 1、下载数据 2、解析数据 3、存取接入库(database,HDFS) 3、分析查询服务 2、模块划分 1、数据采集模块 2、数据分析模块 3、报表管理模块 4、系统管理与监控模块 3、模块解读 技术选型 数据采集层 JSoup

kafka伪集群搭建

主宰稳场 提交于 2020-11-24 20:04:16
一、安装java环境,不再赘述。 二、下载kafka安装包    http://kafka.apache.org/downloads   选择 kafka-2.10-0.10.2.0.tgz 下载 三、搭建集群 3.1在/opt目录下创建kafka/目录 mkdir /opt/kafka 3.2将下载的 kafka-2.10-0.10.2.0.tgz 放到 /opt/kafka/ 目录下 cd /opt/ kafka tar -zxvf kafka- 2.10 - 0.10 . 2.0 .tgz 3.3创建kafka日志目录,这里我创建的伪集群有三台服务器,所以创建三个日志目录 mkdir /opt/kafka/kafkalogs1 kafkalogs2 kafkalogs3 3.4进入kafka-2.10-0.10.2.0.tgz的解压出来的 conf/ 目录,修改配置文件,同样集群的三台服务器分别对应一个配置文件。 cd /opt/kafka/kafka_2. 10 - 0.10 . 2.0 / config cp server.properties server.properties1 cp server.properties server.properties2 cp server.properties server.properties3 修改server