partition

Linux中创建软raid方法

流过昼夜 提交于 2019-11-28 19:46:44
raid含义 raid简称“独立冗余磁盘整列”,意思是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。 在Linux中创建软raid 实验环境 一台centos7.2虚拟机,三块硬盘,在此环境创建raid0,raid1,raid5 强调:在生产环境中需要用相同型号规格的硬盘做raid,否则容易出现问题 1:确认系统是否安装了mdadm软件,因为在Linux中是通过mdadm软件来实现做raid的 命令:rpm -qa | grep mdadm 2:查看硬盘信息,对硬盘进行分区,并设置分区类型为raid的 先将sdb1分区格式化掉,然后重新在sdb,sdc,sdd各分两个分区 删除sdb1命令:partx -d --nr 1 /dev/sdb 同步硬盘信息:partx -a /dev/sdb,得到如图所示 开始对sdb,sdc,sdd各分两个分区 命令:fdisk /dev/sdb [root@localhost ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before

mysql03

谁说我不能喝 提交于 2019-11-28 19:23:35
分库分表 数据切分 通过某种特定的条件,将我们存放在同一个数据库中的数据分散存放到多个数据库(主机)上面,以达到分散单台设备负载的效果。 数据的切分(Sharding)根据其切分规则的类型,可以分为两种切分模式。一种是按照不同的表(或者 Schema)来切分到不同的数据库(主机)之上,这种切可以称之为数据的垂直(纵向)切分;另外一种则是根据 表中的数据的逻辑关系,将同一个表中的数据按照某种条件拆分到多台数据库(主机)上面,这种切分称之为数 据的水平(横向)切分。 垂直切分 一个数据库由很多表的构成,每个表对应着不同的业务,垂直切分是指按照业务将表进行分类,分布到不同 的数据库上面,这样也就将数据或者说压力分担到不同的库上面 系统被切分成了,用户,订单交易,支付几个模块。 一个架构设计较好的应用系统,其总体功能肯定是由很多个功能模块所组成的,而每一个功能模块所需要的 数据对应到数据库中就是一个或者多个表。而在架构设计中,各个功能模块相互之间的交互点越统一越少,系统 的耦合度就越低,系统各个模块的维护性以及扩展性也就越好。这样的系统,实现数据的垂直切分也就越容易。 优点 拆分后业务清晰,拆分规则明确。 系统之间整合或扩展容易。 数据维护简单。 缺点 部分业务表无法 join,只能通过接口方式解决,提高了系统复杂度。 受每种业务不同的限制存在单库性能瓶颈,不易数据扩展跟性能提高。

Hive 开窗函数

若如初见. 提交于 2019-11-28 18:29:02
转自: https://blog.csdn.net/wangpei1949/article/details/81437574 开窗函数 普通的聚合函数聚合的行集是组,开窗函数聚合的行集是窗口。因此,普通的聚合函数每组(Group by)只返回一个值,而开窗函数则可为窗口中的每行都返回一个值。简单理解,就是对查询的结果多出一列,这一列可以是聚合值,也可以是排序值。 开窗函数一般分为两类,聚合开窗函数和排序开窗函数。 测试数据 -- 建表 create table student_scores( id int, studentId int, language int, math int, english int, classId string, departmentId string ); -- 写入数据 insert into table student_scores values (1,111,68,69,90,'class1','department1'), (2,112,73,80,96,'class1','department1'), (3,113,90,74,75,'class1','department1'), (4,114,89,94,93,'class1','department1'), (5,115,99,93,89,'class1','department1'),

消息中间件Kafka - 介绍及安装

独自空忆成欢 提交于 2019-11-28 18:22:37
文章目录 Kafka介绍 优势 关键概念 安装 Kafka介绍 优势 高吞吐量 :非常普通的硬件Kafka也可以支持每秒数百万的消息 支持通过Kafka服务器和消费机集群来区分消息 支持Hadoop并行数据加载 关键概念 Broker :Kafka集群中的一台或多台服务器统称为broker。 Topic :Kafka处理的消息源(feeds of messages)的不同分类。 Partition :Topic物理上的分组,一个topic可以分为多个partition,每个partition是一个有序的队列。partition中的每条消息都会被分配一个有序的id(offset)。 Message :消息,是通信的基本单位,每个producer可以向一个topic(主题)发布一些消息。 Producers :消息和数据生产者,向Kafka的一个topic发布消息的过程叫做producers。 Consumers :消息和数据的消费者,订阅topics并处理其发布的消息的过程叫做consumers。 安装 下载 先安装jdk 然后jdk的安装方式在elasticsearch的安装文章中有,这里就不写了 kafka官网 wget https://www-us.apache.org/dist/kafka/2.1.1/kafka_2.11-2.1.1.tgz 解压 tar -xzvf

kafka 调参笔记

江枫思渺然 提交于 2019-11-28 17:53:50
/*--> */ /*--> */ config/server.properties log.dirs 解释:kafka 日志文件保存目录 默认值:安装目录下或/tmp下 设置值:/mnt/data1/kafka/logs /*--> */ /*--> */ num.partitions 解释:topic 默认分区数 默认值:1 设置值:1 (创建 topic 时再定制指定) /*--> */ /*--> */ replica.lag.time.max.ms = 30000 解释:ISR 认定不同步超时时间 默认值:10000 ms 设置值:30000 ms producer.properties consumer.properties topic/partitions 数量 对 topic T,设 producer 吞吐 = a mb/s,consuemer 吞吐 = b mb/s,追求吞吐 = t mb/s: 追求partition数量 = max (t/a, t/b) 设集群 broker 数量 = n, 复制因子 = r partition数量 <= 100 * n * r 单个partition的leader数 <= 100 /*--> */ /*--> */ 来源: https://www.cnblogs.com/PigeonNoir/p/11417717.html

OpenStack kilo版(8) 部署cinder

為{幸葍}努か 提交于 2019-11-28 17:53:00
直接将cinder服务和块设备都部署在controller节点上 在controller节点添加一块100G的块设备/dev/sdb 配置数据库 (root@localhost) [(none)]> CREATE DATABASE cinder; Query OK, 1 row affected (0.02 sec) (root@localhost) [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'cinder'; Query OK, 0 rows affected (0.10 sec) (root@localhost) [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'cinder'; Query OK, 0 rows affected (0.00 sec) (root@localhost) [(none)]> flush privileges ; Query OK, 0 rows affected (0.04 sec) 配置cinder服务认证 创建cinder用户: root@controller:~# openstack user create -

大数据面试题(一)

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-28 16:14:34
一、.hdfs写文件的步骤 答案: (1)client向NameNode申请上传…/xxx.txt文件 (2)NN向client响应可以上传文件 (3)Client向NameNode申请DataNode (4)NN向Client返回DN1,DN2,DN3 (5)Client向DN1,DN2,DN3申请建立文件传输通道 (6)DN3,DN2,DN1依次响应连接 (7)Client向DN1上传一个block,DN1向DN2,DN3冗余文件 二、hdfs读取文件步骤 答案: (1)client向NN请求下载…/xxx.txt文件 (2)NN向client返回文件的元数据 (3)Client向DN1请求访问读数据blk_1 (4)DN1向Client传输数据 (5)Client向DN2请求访问读数据blk_2 (6)DN2向Client传输数据 三、 hadoop的shuffle过程 1.Map端的shuffle Map端会处理输入数据并产生中间结果,这个中间结果会写到本地磁盘,而不是HDFS。每个Map的输出会先写到内存缓冲区中,当写入的数据达到设定的阈值时,系统将会启动一个线程将缓冲区的数据写到磁盘,这个过程叫做spill。   在spill写入之前,会先进行二次排序,首先根据数据所属的partition进行排序,然后每个partition中的数据再按key来排序

Spark 整体感知

余生长醉 提交于 2019-11-28 15:08:38
原文引用 大专栏 https://www.dazhuanlan.com/2019/08/26/5d634faceb33c/ 为了能够深入使用 Spark ,那么必须对 Spark 有更为深入的理解。整体的结构的把握会显得非常重要。整体结构在脑海中成型后,别如同脑海中有了一个 Spark 的地图,后续深入了解的每个模块都能在整体上找到对应的位置,开发对应功能也会更加了然于胸。 网上的结构图非常丰富,但是我觉得都太过抽象,缺少一些细节。我这里尝试做的就是帮助 Spark 新手读者能构建一个 Spark 的直观感受,同时也是我自己知识的一个整理。 小Demo 下面是一段简单的 demo 进程。首先从数据源中取数,这里是从文本中读取数据。然后进行一系列的转换,最终得到自己想要的结果。 public static void main(String[] args) { SparkConf conf = new SparkConf().setAppName("Spark WordCount").setMaster("local"); JavaSparkContext sc = new JavaSparkContext(conf); JavaRDD<String> lines = sc.textFile("your/file/path"); lines.flatMap((String s) ->

Kafka集成SparkStreaming

有些话、适合烂在心里 提交于 2019-11-28 15:04:00
Spark Streaming + Kafka集成指南 Kafka项目在版本0.8和0.10之间引入了一个新的消费者API,因此有两个独立的相应Spark Streaming包可用。请选择正确的包, 请注意,0.8集成与后来的0.9和0.10代理兼容,但0.10集成与早期的代理不兼容。 注意:从Spark 2.3.0开始,不推荐使用Kafka 0.8支持。 Spark Streaming从Kafka接收数据,转换为spark streaming中的数据结构Dstream。数据接收方式有两种 :1 使用Receiver接收的旧方法:2使用Direct拉取的新方法(在Spark 1.3中引入)。 https://spark.apache.org/docs/1.6.3/streaming-kafka-integration.html https://spark.apache.org/docs/2.3.1/streaming-kafka-0-10-integration.html Receiver方式 Received是使用Kafka高级Consumer API实现的。与所有接收器一样,从Kafka通过Receiver接收的数据存储在Spark Executor的内存中,然后由Spark Streaming启动的job来处理数据。然而默认配置下,这种方式可能会因为底层的失败而丢失数据

不用找了,大厂在用的分库分表方案,都在这了!

余生长醉 提交于 2019-11-28 14:02:10
一、数据库瓶颈 不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。 在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。 1、IO瓶颈 第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度 -> 分库和垂直分表 。 第二种:网络IO瓶颈,请求的数据太多,网络带宽不够 -> 分库 。 2、CPU瓶颈 第一种:SQL问题,如SQL中包含join,group by,order by,非索引字段条件查询等,增加CPU运算的操作 -> SQL优化,建立合适的索引,在业务Service层进行业务计算。 第二种:单表数据量太大,查询时扫描的行太多,SQL效率低,CPU率先出现瓶颈 -> 水平分表 。 二、分库分表 1、水平分库 1.概念:以 字段 为依据,按照一定策略(hash、range等),将一个 库 中的数据拆分到多个 库 中。 2.结果: 每个 库 的 结构 都一样; 每个 库 的 数据 都不一样,没有交集; 所有 库 的 并集 是全量数据; 3.场景:系统绝对并发量上来了,分表难以根本上解决问题,并且还没有明显的业务归属来垂直分库。 4.分析:库多了,io和cpu的压力自然可以成倍缓解。 2、水平分表 1.概念:以 字段