自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 JVM内存结构

栈帧:每个方法运行时需要的内存,参数、局部变量、返回地址。每个线程运行时所需要的内存,称为虚拟机栈。每个栈由多个栈帧(Frame)组成,对应着每次方法调用时所占用的内存。每个线程只能有一个活动栈帧,对应着栈顶部那个当前正在执行的方法。

2023-05-10 11:53:56 172

原创 nginx转发实现过程中的问题总结

1、转发单台设备的请求量在十几万QPS,如果不保持长连接,性能会非常差2、转发的后端地址并不是固定的,需要根据请求信息上报给不同的域名。

2023-05-09 10:55:08 1103

原创 CAP理论与ZooKeeper

zookeeper在选举leader时,会停止服务,直到选举成功之后才会再次对外提供服务,这个时候就说明了服务不可用,但是在选举成功之后,因为一主多从的结构,zookeeper在这时还是一个高可用注册中心,只是在优先保证一致性的前提下,zookeeper才会顾及到可用性。也就是说,如果一个客户端将Znode z的值更新为a,在之后的操作中,它又将z的值更新为b,则没有客户端能够在看到z的值是b之后再看到值a(如果没有其他对z的更新)。在此时间段内,任何系统的改变将被客户端看到,或者被客户端侦测到。

2023-05-06 09:46:47 20140

原创 HDFS详解

HDFS,Hadoop Distribute File System(Hadoop分布式文件系统)的简称,它是Hadoop核心组件之一,是大数据生态圈最底层的分布式存储服务。将计算靠近数据,而不是将数据移动到离计算更近的地方,使得应用的计算更有效率。HDFS遵循主从架构(master/slave)。通常包括一个主节点和多个从节点。主节点为NameNode,从节点为DataNode。在内部,文件分块存储,每个块根据复制因子存储在不同的从节点(DataNode)计算机上形成备份。

2023-05-04 17:36:57 7016

原创 Spark的内存模型

stage的task在运行的时候,可能要从一些Executor中去拉取shuffle map output文件,但是Executor可能已经由于内存溢出挂掉了,其关联的BlockManager也没有了,这就可能会报出shuffle output file cannot find,executor lost,task lost,out of memory等错误,此时,就可以考虑调节一下Executor的堆外内存,也就可以避免报错,与此同时,堆外内存调节的比较大的时候,对于性能来讲,也会带来一定的提升。

2023-04-28 17:34:44 520

原创 spark提交任务流程

spark提交代码的两种方式:Standalone、Yarn。

2023-04-28 16:52:35 2118

原创 influxDB调研

1)由Go写成,具有高性能地查询与存储时序型数据的功能;健康度指标数据需要存储字符数据,目前监控使用的openTSDB数据库暂时不支持;另外openTSDB不支持uid动态删除或增加,写满1600w时间线后需要重新申请集群,换数据库。2)关系型数据库与InfluxDB之间的区别InfluxDB是一个时间序列数据库,主要存储的是以时间为序存储的数据。其实,SQL数据库是可以提供时序的功能,只要将时间作为主键,就能够将SQL数据库当作时序数据库来处理。

2023-04-28 16:22:17 202

原创 kafka相关命令

5、表示去获取当前各个分区的最小位移(earliest)。4、查询某topic下各个分区当前最大的消息位移值(注意,这里的位移不是consumer端的位移,而是指消息在每个分区的位置)kafka-console-producer.sh --broker-list ip:9092,另一个IP --topic。启动一个消费者,消费消息,--from-beginning:会把主题中以往所有的数据都读取出来。2、修改某个topic某个组下的消费offset为当前生产者earliest-offset。

2023-04-28 16:08:29 1048

原创 各个消息中间件的对比

1、解耦合:多应用间通过消息队列对同一消息进行处理,避免调用接口失败导致整个过程失败;2、异步处理:多应用对消息队列中同一消息进行处理,应用间并发处理消息,相比串行处理,减少处理时间;3、流量削锋:广泛应用于秒杀或抢购活动中,避免流量过大导致应用系统挂掉的情况;系统分为消息队列、消息生产者、消息消费者,生产者负责产生消息,消费者(可能有多个)负责对消息进行处理;当前使用较多的消息队列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq等,而部分数据库如Redis、M

2023-04-28 15:55:36 1254

原创 Apache Hadoop YARN详解

Yarn 是hadoop2.0后推出的一个资源调度平台,负责为运算程序提供服务器计算资源,相当于一个分布式的操作系统平台,而 MapReduce、Spark、Flink 等运行程序则相当于运行于操作系统平台之上的应用程序。

2023-04-23 22:01:17 722

原创 Spark中driver、executor、master、worker的关系

Spark集群的独立部署环境中,不需要依赖其他的资源调度框架,自身就实现了资源调度的功能,所以环境中还有其他两个核心组件:Master和Worker,这里的Master是一个进程,主要负责资源的调度和分配,并进行集群的监控等职责,类似于Yarn环境中的RM,而Worker也是进程,一个Worker运行在集群中的一台服务器上,由Master分配资源对数据进行并行的处理和计算,类似于Yarn环境中的NM。Spark驱动器节点,用于执行Spark任务中的main方法,负责实际代码的执行工作。

2023-04-21 21:51:36 1381 1

原创 Spark性能调优之Shuffle调优

参数说明:当ShuffleManager为SortShuffleManager时,如果shuffle read task的数量小于这个阈值(默认是200),则shuffle write过程中不会进行排序操作,而是直接按照未经优化的HashShuffleManager的方式去写数据,但是最后会将每个task产生的所有临时磁盘文件都合并成一个文件,并会创建单独的索引文件。那么此时就会自动启用bypass机制,map-side就不会进行排序了,减少了排序的性能开销。该参数就代表了可以重试的最大次数。

2023-04-21 21:51:04 653

原创 spark的分区详解

hdfs中的block是分布式存储的最小单元,类似于盛放文件的盒子,一个文件可能要占多个盒子,但一个盒子里的内容只可能来自同一份文件。partition 是指的spark在计算过程中,生成的数据在计算空间内最小单元,同一份数据(RDD)的partition 大小不一,数量不定,是根据application里的算子和最初读入的数据分块数量决定的,这也是为什么叫“弹性分布式”数据集的原因之一。我们需要注意的是,只有Key-Value类型的RDD才有分区的,非Key-Value类型的RDD分区的值是None的。

2023-04-21 21:37:17 1448

原创 linux stat函数

1.表头文件:  #include <sys/stat.h>                   #include <unistd.h>2. 定义函数: int stat(const char *file_name, struct stat *buf);3. 函数说明: 通过文件名filename获取文件信息,并保存在buf所指的结构体stat中。4. 返回值: 执行成功则...

2018-06-27 18:45:39 151

原创 pthread_create函数

tinyHttpd中的main()函数:int main(void) { int server_sock = -1; u_short port = 0; int client_sock = -1; struct sockaddr_in client_name; int client_name_len = sizeof(client_n...

2018-06-27 15:33:56 1059

原创 Socket编程之sockaddr与sockaddr_in结构体

最近学习tinyhttpd,在服务器端的startup函数中看到了如下声明以及调用:struct sockaddr_in name;bind(httpd, (struct sockaddr *)&name, sizeof(name);getsockname(httpd, (struct sockaddr *)&name, &namelen;以下是tinyhttpd中服务器端...

2018-06-23 10:50:49 825

原创 Socekt编程之send和recv

头文件:#include <sys/types.h>   #include <sys/socket.h>1、send()定义函数:int send(int s, void *buf, int len, unsigned, int flags);参数s:指定发送端套接字描述符。参数buf:存放应用程序要发送数据的缓冲区。参数len:实际要发送的数据的字节数。参数flag:一般...

2018-06-20 16:51:03 379

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除