
大数据+高并发
NIO 、BIO、AIO等、大数据
32224047_yw
anyway
展开
-
pycurl-7.43.0.3-cp27-cp27m-win_amd64.whl is not a supported wheel on this platform
记一次通过pip 安装 pycurl 报错pycurl-7.43.0.3-cp27-cp27m-win_amd64.whl is not a supported wheel on this platform 的问题我遇到的这个错是因为安装了python2 和python3 这2个版本导致的问题;解决办法:将命令:pip install pycurl-7.43.0.3-cp27-cp27m-win_amd64.whl改写为(即切换到python2)pip2 install pycu.原创 2020-10-10 17:09:06 · 1077 阅读 · 0 评论 -
Zero Copy零拷贝技术
1.概述零拷贝是指计算机操作的过程中,CPU不需要为数据在内存之间的拷贝消耗资源。而它通常是指计算机在网络上发送文件时,不需要将文件内容拷贝到用户空间(User Space)而直接在内核空间(Kernel Space)中传输到网络的方式。2.内核态和用户态就像世界上的人并不平等一样,并不是所有的程序都是平等的。世界上有的人占有资源多,有的人占有资源少,有的人来了,别人出资源,有的人专门为别人让出资源。程序也是这样,有的程序可以访问计算机的任何资源,有的程序则只能访问非常受限的少量资源。而操作原创 2020-09-30 23:36:05 · 336 阅读 · 0 评论 -
Kafka的消息系统语义
1.概述在一个分布式发布订阅消息系统中,组成系统的计算机总会由于各自的故障而不能工作。在Kafka中,一个单独的broker,可能会在生产者发送消息到一个topic的时候宕机,或者出现网络故障,从而导致生产者发送消息失败。根据生产者如何处理这样的失败,产生了不同的语义。2.各种不同的语义至多一次语义(At most once semantics):如果生产者在ack超时或者返回错误的时候不重试发送消息,那么消息有可能最终并没有写入Kafka topic中,因此也就不会被消费者消费到。但是为了原创 2020-09-30 22:57:39 · 305 阅读 · 0 评论 -
Spark单机模式的安装步骤
单机模式的安装1.下载安装包2.解压安装包tar -xvf spark-2.0.1-bin-hadoop2.7.tgz3.进入conf目录4.修改文件名mv spark-env.sh.template spark-env.sh5.编辑文件vim spark-env.sh6.放开注释,添加当前主机名,保存退出7.启动进入bin执行命令:sh spark-shell --master=local可以看到是用scala语言,...原创 2020-09-21 11:00:24 · 855 阅读 · 0 评论 -
Hbase中通过代码API查询删除添加遍历示例
1.说明Hbase这里采用的是完全分布式,hadoop中测试用到的是hdfs的存储,因为没有用到相关的计算,可以不用开启yarn使用了3个Zookeeper、3个Hbase、1个hadoop在本地电脑中先配置hosts文件格式:ip ip对应的主机名2.代码示例import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.原创 2020-09-14 09:42:44 · 184 阅读 · 0 评论 -
HBase简介与常用命令
1.概述HBase是Apache提供的一套基于HDFS的、分布式的、可扩展的、能够存储大量数据的、NOSQL(Not Only SQL)的非关系型数据库 HBase是Doug Cutting根据Google的论文<The Big Table>实现的,HBase和BigTable的设计思想一模一样,只不过BigTable是用C语言实现的,HBase是用Java实现的 HBase允许对大量的数据进行随机且实时读写 HBase能够管理非常大的表:billions of rows X m...原创 2020-09-14 09:32:41 · 281 阅读 · 0 评论 -
Hive数据仓库工具常用的sql操作语句
1.创建一个库create database demo;每一个database 在HDFS上都对应了一个目录2.查看库show databases;3.删除库drop database 库名4.建表hive中没有主键use demo; create table person(id int ,name string,age int);hdfs上出现对应的目录5.插入数据insert into table person v...原创 2020-09-08 13:25:02 · 774 阅读 · 0 评论 -
Hadoop之MapReduce简介与统计字符个数demo
1.概述MapReduce是Hadoop提供的一套基于YARN的,用于进行分布式计算的框架 MapReduce是Doug根据Google的MapReduce来实现的 MapReduce将整个计算过程拆分为2个阶段:Map(映射)阶段和Reduce(规约)阶段2.MapReduce的执行流程Map阶段2.1需要处理的文件在MapReduce中会先进行切片,每一个切片会交给一个MapTask来处理2.2MapTask拿到切片之后,默认会对这个切片进行按行读取并按行处理2.3所有的.原创 2020-08-31 20:15:56 · 1559 阅读 · 0 评论 -
通过一个形象的例子描述java中的指令重排
1.概述指令重排实际上是对指令的"优化"。指令重排指的是给定的顺序和实际上执行的顺序不一致。在程序执行过程中,有不到万分之一的概率会产生指令重排。指令重排不能违背"happen-before"(先发生 - 要想使用这个东西,之前必须先有这个东西)原则。在多线程执行相同代码的前提下,如果产生指令重排,就会导致多个线程获取到了不同的结果 - 结果产生了二相性 - 在多线程条件下,一般会禁止指令重排2.描述说明例如:做题顺序,希望的顺序是按照题号顺序做,但是在实际中先做会做的-------类似指令重排原创 2020-08-29 15:44:10 · 1118 阅读 · 0 评论 -
Hadoop中HDFS(Hadoop Distributed File System)细节归纳
一、概述HDFS(HadoopDistributedFileSystem)是Hadoop提供的一套用于进行分布式存储的文件系统HDFS是Doug仿照Google的GFS来实现的二、细节归纳一、基本概述1.HDFS本身是一个典型的MS结构的框架:主节点NameNode,从节点DataNode-通过slaves文件来指定从节点,HDFS的主节点通过hdfs-site.xml来指定2.HDFS对会上传的数据进行切分,切成数据块(Block)来存储到不同的DataNode上3.HD...原创 2020-08-28 19:31:18 · 569 阅读 · 0 评论 -
Hadoop伪分布式的安装配置步骤
1.配置步骤1. 安装JDK2. 关闭防火墙3. 修改主机名。Hadoop要求主机名中不能出现 - 或者_ 等特殊字符vim /etc/sysconfig/network修改HOSTNAME,例如HOSTNAME=hadoop01保存退出,然后重新生效source /etc/sysconfig/network4. 需要将主机名和IP进行映射vim /etc/hosts将之前的内容全部删除添加IP 主机名映射,例如127....原创 2020-08-28 19:16:45 · 4234 阅读 · 0 评论 -
ZookeePer的常用命令---单机版本的安装与节点的创建
1.概述Zookeeper是Yahoo!(雅虎)开发后来贡献给了Apache的一套用于分布式管理和协调的机制 Zookeeper早期是Hadoop的组件,后来独立出来形成了单独的项目 Zookeeper本身提供了中心化服务:统一配置、统一命名、提供分布式锁、提供组服务官方地址:https://zookeeper.apache.org/2.安装单机模式:在一台服务器上安装,启动这个框架的部分功能 伪分布式:在一台服务器上安装,利用多个进程来模拟集群环境,启动这个框架的大部分甚至全部...原创 2020-08-27 23:53:39 · 634 阅读 · 0 评论 -
序列化和RPC的框架之AVRO创建对象的6种方式与序列化和反序列化
1.概述AVRO是Apache提供的一套用于进行序列化和RPC的框架 AVRO原本是Hadoop的子工程之一,后来被独立出来成为了单独的顶级工程官网:http://avro.apache.org/2.AVRO创建对象的6种方式1.创建maven工程,引入pom依赖 <dependencies> <dependency> <groupId>org.apache.avro</groupId&g.原创 2020-08-27 18:25:06 · 626 阅读 · 0 评论 -
Failed to execute goal org.apache.avro:avro-maven-plugin:1.8.2:schema (default) on project AVRO1: Ex
Failed to execute goal org.apache.avro:avro-maven-plugin:1.8.2:schema (default) on project AVRO1: Execution default of goal org.apache.avro:avro-maven-plugin:1.8.2:schema failed: Type not supported: recode编写avro工程是在compile时,出现如下错误我的jdk版本等都是正确的,检查发现是.原创 2020-08-27 13:49:59 · 1280 阅读 · 0 评论 -
通过一个详细例子引入重入锁ReentrantLock、ReadWriteLock读写锁
1.概述ReentrantLock是可重入的独占锁。比起synchronized功能更加丰富,支持公平锁实现,支持中断响应以及限时等待等等。可以配合一个或多个Condition条件方便的实现等待通知机制。2.代码示例Demo1:并发安全会存在抢占问题package com.company.lock;public class MyLockDemo { static int i = 0; public static void main(String[] args)原创 2020-08-24 20:40:42 · 271 阅读 · 0 评论 -
高并发之JUC---ConcurrentMap(并发映射)
1.概述ConcurrentMap是JDK1.5提供的一套用于应对并发且能保证线程安全的一套映射机制 ConcurrentMap主要包含2部分内容:ConcurrentHashMap和ConcurrentNavigableMap2.ConcurrentHashMap - 并发哈希映射底层是基于数组+链表结构来进行存储,数组的每一个位置都称之为是一个桶,每一个桶中维系一个链表 数组默认初始容量是16,默认加载因子是0.75,每次扩容(桶数)默认增加一倍 ConcurrentHashMap的最大原创 2020-08-21 19:43:29 · 387 阅读 · 0 评论 -
高并发之JUC---BlockingQueue (阻塞式队列)
1.JUC简介JUC(java.util.concurrent)是JDK1.5提供一套用于应对高并发的包:java.util.concurrent java.util.concurrent.atomic java.util.concurrent.lockJUC包含5部分内容:BlockingQueue ConcurrentMap ExecutorService Lock Atomic2.BlockingQueue2.1 概述:特征:阻塞,FIFO 阻塞式队列往往是有界.原创 2020-08-21 18:51:12 · 372 阅读 · 0 评论 -
浅析Java 中的流--BIO、NIO、AIO及NIO中的三大组件Buffer,Channel,Selector
1.概述流的作用:传输数据概念回顾a.同步:某一个对象或者某一段逻辑在一个时间段内只能被一个线程使用b.异步:一个对象或者一段逻辑在这个时间段内能被多个线程抢占c.阻塞:当一个线程在获取到结果之前会持续等待d.非阻塞:一个线程无论是否拿到结果都会继续往下执行或者报错补充:1.同步也会出现抢占问题(文件被一个流占用就不能再被另外一个流操作)2.阻塞:如UDP、TCP 传输数据 写入时while(true) 那么服务端读取时会一直保持等待状态Java中IO的...原创 2020-08-21 13:37:25 · 520 阅读 · 0 评论