自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

韦远科的专栏

https://weiyuanke.github.io/

  • 博客(211)
  • 收藏
  • 关注

原创 大模型相关整理

也叫基础大模型(Foundation Model):包括大语言模型(LLM)、底层通常是深度神经网络;具有大规模的参数:10亿、百亿、千亿、万亿;具有复杂的神经网络结构;采用海量数据训练而成;基于大量数据训练出来的神经网络,规模很大,比如175B参数;可以应用于:文本翻译、摘要、聊天机器人;底层的神经网络架构,大语言模型基本上都采用transformer架构;

2024-03-10 15:22:19 1187

原创 kubernetes apiserver watch操作数据交互图

2021-07-26 11:26:17 613

原创 笔记:kubernetes,scheduler,framework,plugins

阅读kubernetes调度代码的时候,看到这个pacakge:pkg/scheduler/framework网上相关的资料很少,废了老半天的劲儿终于找到,这里记录一下scheduler frameworkhttps://github.com/kubernetes/enhancements/blob/master/keps/sig-scheduling/20180409-scheduli...

2019-11-21 10:58:26 860

原创 PodWorkers

PodWorkers是最终“同步”pod状态的一块逻辑,“同步”在这里的含义是:确保kubelet所在节点的Pod状态和etcd中的状态一致,该增加的增加,该删除的删除,该更新的更新。“同步”动作的触发有几个方式:(1)通过文件、apiserver、http方式监听到的变化(2)定时器触发,例如每隔10sPodWorkers的入口是UpdatePodtype podWorkers st...

2019-11-20 13:53:10 587

原创 符合OCI规范的容器运行时 & kubernetes CRI

参考前一篇文章目前的docker已经不是之前的docker了,技术栈进行了分层。docker cli -> dockerd -> containerd -> oci implementationOCI规范,简单来说,包含容器规范和镜像规范,具体参考:link由于引入了OCI,我们可以近乎透明无缝的替换 “docker run”命令 之下的具体实现。根据自己业务场景的需...

2019-11-08 12:36:26 896

转载 【转载】gorouting的调度

转载自:原文前言Goroutine调度是一个很复杂的机制,尽管Go源码中提供了大量的注释,但对其原理没有一个好的理解的情况下去读源码收获不会很大。下面尝试用简单的语言描述一下Goroutine调度机制,在此基础上再去研读源码效果可能更好一些。1. 线程池的缺陷我们知道,在高并发应用中频繁创建线程会造成不必要的开销,所以有了线程池。线程池中预先保存一定数量的线程,而新任务将不再以创建线程的方...

2019-09-29 12:48:56 223

原创 java服务端对接apns的几个sdk

JavaPNShttps://code.google.com/archive/p/javapns/Java APNS(notnoop)https://github.com/notnoop/java-apnsdbay-apns-for-javahttps://github.com/RamosLi/dbay-apns-for-javaTuro的pushyhttps://g...

2019-08-29 16:21:40 1199

原创 ThreadPoolExecutor队列满时提交任务阻塞

项目中有一个需求:给线程池提交任务的时候,如果任务队列已满,需要ThreadPoolExecutor.execute调用阻塞等待。google了相关的资料,记录在这里,供有同样需求的同行参考。https://stackoverflow.com/questions/4521983/java-executorservice-that-blocks-on-submission-after-a-cert...

2019-08-15 12:17:15 5108

原创 kubelet服务启动流程中,默认参数的填充机制

本文跟踪一下kubelet启动过程中,参数的默认值是如何注入的。我们知道,为了启动kubelet服务,首先要构造kubelet的配置对象,即kubeletconfig.KubeletConfiguration结构体,// NewKubeletCommand creates a *cobra.Command object with default parametersfunc NewKubel...

2019-07-31 17:39:05 814

原创 本地数据库引擎WiredTiger测试记录

项目上有一个性能优化的需求,需要进一步优化远程调用Redis导致的RT偏高问题,目前的想法是做两级缓存,通过加入一个基于嵌入式数据库引擎的本地缓存,来降低对远端redis的依赖;大致的结构如下:业务服务 —> 本地数据库引擎 -> 远端redis之所以用数据库引擎,是因为在满足QPS的情况下,想尽可能本地化更多的数据,直接用内存太奢侈了。对于读操作:优先读取本地,本地没有的话,再...

2019-07-31 17:38:32 326

原创 kube-scheduler源码走读

kube-scheduler是k8s中相对比较简单的一个服务,它监听api server获取新建的Pod,从众多的Node中选择一个合适的,来运行该Pod。选择的过程分两个阶段:预选阶段 & 优选阶段预选阶段:根据Pod创建的要求,筛选出所有符合要求的Node,通过该阶段的Node理论上都可以运行目标Pod优选阶段:给上一步筛选出来的Node打分,选择一个分数最高的Node本文...

2019-07-31 17:37:40 190

原创 tensorflow代码示例——单隐层神经网络

#coding: utf-8import tensorflow as tffrom numpy.random import RandomState#每轮训练输入的数据量batch_size = 8'''含有一个隐藏层的神经网络输入层 隐藏层 输出层 ...

2019-07-31 17:36:56 278

原创 Kubernetes三种Client的使用示例

kubernetes的Client库——go-client中提供了如下三种类型的clientClientSet:可以访问集群中所有的原生资源,如pods、deployment等,是最常用的一种dynamicClient: 可以处理集群中所有的资源,包括crd(自定义资源),另外它的返回是一个map[string]interface{}类型;目前主要用在garbage collector和nam...

2019-07-31 17:35:44 7809

原创 DEMO:基于Kubernetes的CRD & Go-client 构建的一个查询pod详细信息的示例

本文是一个示例程序,展示一下如何基于Kubernetes的CRD(Custom Resource Defination)& Go-client构建一个查询Pod详细信息的服务。该服务运行起来后,可以通过标准的kubernetes api接口,基于CRD来查询某个Pod的详细信息。代码的地址在:https://github.com/weiyuanke/PodInfoLookup首先...

2019-07-31 17:32:28 1686

原创 golang net/http 包简介

Kubernetes的Api Server中用到了golang的http包,故而做下简单的了解。package mainimport ( "fmt" "io" "net/http")func main() { http.HandleFunc("/", helloworld) err := http.ListenAndServe(":9090", nil) if err !=...

2019-07-31 17:31:21 934

原创 kubernetes源码release-1.15——UndeltaStore

UndeltaStore会监听更新,并在每次更新后,将全量数据通过PushFunc发出// UndeltaStore listens to incremental updates and sends complete state on every change.// It implements the Store interface so that it can receive a st...

2019-06-20 11:31:17 250

原创 kubernetes源码release-1.15——Store & cache

Store(staging/src/k8s.io/client-go/tools/cache/store.go:34)是一个通用的对象存储接口Reflector中会包含Store,监听server的变化,并更新Store。Store提供了常见的存储接口:type Store interface { Add(obj interface{}) error Update(obj inter...

2019-06-20 11:22:50 321

原创 kubernetes源码release-1.15——ThreadSafeStore

staging/src/k8s.io/client-go/tools/cache/thread_safe_store.go:37ThreadSafeStore是一个线程安全的内存存储,// threadSafeMap implements ThreadSafeStoretype threadSafeMap struct { lock sync.RWMutex //读写锁 ...

2019-06-20 10:57:58 425 1

原创 kubernetes源码release-1.15——PodConfig 相关

// NewPodConfig creates an object that can merge many configuration sources into a stream// of normalized updates to a pod configuration.// 构造一个PodConfig对象,主要的作用包括:Pod数据的保存(PodStorage)、事件的多路合并处理fu...

2019-06-19 15:00:03 401

原创 kubernetes源码release-1.15——makePodSourceConfig

kubelet负责节点上Pod的管理,在启动后默认会去监听三种类型的PodSource:FileSource:通过启动参数–pod-manifest-path来指定pod manifest文件所在的路径或者文件,如果该目录或者文件发生变化,kubelet会接收到对应的事件,并触发相应的动作。HttpSource:通过启动参数--manifest-url 指定的地址来获取pod manife...

2019-06-19 14:35:06 344

原创 kubelet源码跟踪 release-1.15

kubernetes中,kubelet进程负责对各节点进行管理,包括各节点资源的上报、落在该节点上的pod的声明周期管理以及其他的一些周期性任务,本文大致走查一下kubelet进程从启动到执行的整个流程,希望对大家有所帮助。kubernetes中所有的可执行文件都在cmd目录下,kubelete也不例外。#cmd/kubelet/kubelet.go:35func main() { ...

2019-06-19 11:03:07 593

原创 influxdb 安装后没有监听ipv4地址??

influxdb 是kubernetes中使用的一个时序性数据库,试用过程中发现了一个奇怪的问题:influxdb没有监听ipv4的地址,但可以通过ipv4的地址正常访问,很神奇,于是有了本文:复现步骤(ubuntu环境)#添加必要的证书curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add ...

2019-06-17 19:59:47 1449

原创 go-restful ——kubernetes使用的restful框架

阅读kubernetes apiserver源码时,发现使用了go-restful,简单学习了下。主要内容来自:https://godoc.org/github.com/emicklei/go-restfulgo-restful是go语言写的一个restful框架,里边几个概念之间的关系大概如下:Container包含WebService,WebService包含Route,Rout...

2019-05-31 10:40:20 1385 1

原创 docker各模块介绍(笔记)

Docker在最开始的时候,可以认为是一个单体程序,docker客户端、docker守护进程、镜像管理等功能都是放在同一个程序中的,整个docker的安装非常简单,因为就一个可执行文件,在一定程度上也带来的docker的飞速发展。随着容器技术的兴起,以及周边软件如mesos、kubernetes等容器编排平台的发展,人们迫切需要一个容器的开放标准,以便相关生态能更好更快的发展,于是便有了OCI...

2019-05-28 15:31:15 1338

原创 chrome 导出历史访问记录

chrome是采用sqlite来记录访问记录的,mac环境下,可尝试在如下目录下找到该数据库~/Library/Application\ Support/Google/Chrome/Default/Historysqlite> .tablesdownloads meta urls ...

2019-04-25 14:24:01 8711

原创 利用kubernetes的go语言sdk,client-go 操作kubernetes集群

(1)采用minikube启动一个k8s集群$minikube start

2019-04-24 10:39:16 2458

原创 k8s中kubelet模块的实践

kubenetes各模块是以一种非常松散的方式结合在一起的,各模块相关的通信都是以etcd为中心进行的,有点类似一个事件分发处理系统。kubelet是kubernetes系统中,运行在子节点上的进程,主要进行子节点资源的监控上报,container的运行监控等。举个简单的例子,如果根据etcd中的记录,节点A上应该运行3个container,结果实际只运行了2个容器,kubelet发现这个...

2019-04-15 20:01:51 603

原创 kubernetes中,pod中的容器共享命名空间

kubernetes编排和调度的基本单元是一个个的pod,其中每个pod中会包含一个或者多个容器,例如,如下的配置定义了一个pod,包含有两个container:apiVersion: v1kind: Podmetadata: name: nginxspec: shareProcessNamespace: true containers: - name: nginx ...

2019-02-18 18:22:09 6030 1

原创 Kubernetes中的service account

service account,顾名思义,主要是给service使用的一个账号。具体一点,就是为了让Pod中的进程、服务能访问k8s集群而提出的一个概念,基于service account,pod中的进程、服务能获取到一个username和令牌Token,从而调用kubernetes集群的api server。kubernetes中,每个命名空间默认会有一个名为“default”的serv...

2019-02-15 17:41:39 7082

原创 证书相关:rsa、crt文件、key文件、csr文件

首先,几个概念:(1)非对称加密:一个公钥、一个私钥,公钥加密的文件可以用私钥解密,反之也可以;RSA就是一种常见的非对称加密算法;另外,私钥一般自己保存,只有自己知道;公钥则是公开的(2)openssl:一个开源的组织、一个开源的软件代码库和密码库工具,囊括了主要的密码算法;(1)OK,怎么生成一个RSA的公钥和密钥对,并进行解密和加密????openssl genp...

2019-02-14 15:32:55 35426 13

原创 Kubernetes中,pod的环境变量

kubernetes中包含各种pod,pod之间的交互目前了解到的有两种方式:(1)dns(2)环境变量dns下,kubernetes可以把一个service的name解析到对应的服务端点,这个高版本的kubernetes目前都有内建服务支持。比如,redis的主从部署中,从redis的启动脚本如下:#!/bin/bashif [[ ${GET_HOSTS_FROM:-dn...

2019-02-12 15:39:01 16659

原创 Kubernetes备忘

(1)kubernetes是什么?一个分布式的资源管理系统,管理的对象是容器化之后的应用,支持资源的自动调度、scale up/down;据说是从google出来的,与borg有关系;用户侧的大致使用体感是,提供一个容器的image,相关的业务代码和逻辑都打包在该image中,kubernetes根据该image对资源的需求,选择合适的节点运行该image,并通过一个proxy服务将该...

2019-02-12 11:41:51 148

原创 java 自定义classloader

java中默认提供了三类classloader,分别加载不同目录下的class或者jar包,如果有一些非通用的需求,比如想从一个特定的位置加载class,如http地址、网盘、U盘等;又比如想对class做一些隔离;这个时候,默认的classloader就不能满足要求了,需要自定义classloader自定义classloader很简单,(1)继承java.lang.ClassLoader...

2019-02-12 09:58:51 1115

原创 jvm中的class loader相关

java中的class在使用之前,需要通过classloader加载到jvm以后才可以使用。具体来讲,.java文件被编译成中间字节码文件.class,classloader读取.class文件,转换成java.lang.Class类的实例,之后才可以new各种的对象。 默认情况下,jvm有三级class loader:BootStrap ClassLoaderExtensio...

2019-02-02 13:55:57 182

原创 备忘:MAC 安装mysql server,并开启binlog,测试XA事务

(1)安装mysql采用brew工具安装,brew工具的安装网上可找到(2)mysql 启动mysql.server start|stop(3)登录mysql,binlog默认是没有启用的show variables like '%log_bin%';+---------------------------------+---------------------------...

2019-01-13 11:46:50 310

原创 ubuntu maas 对物理服务器资源进行云化管理

最近在搞openstack相关的事情,经常需要重装系统,之前用过cobbler,不过配置起来较为复杂,网上各个版本的文档也很难完整的走下来,故研究了一下ubuntu推出的maas平台(https://www.ubuntu.com/download/server/provisioning),这里完整记录下整个过程,希望能帮助到有类似需求的同学。Maas采用了一种云化的思维来对物理

2017-10-11 23:32:36 8252 1

原创 paxos算法

paxos算法解决的问题是如何在一个分布式系统中就某个问题达成共识,解决数据的一致性问题。具体来讲,因为分布式系统包含众多节点,节点之间通过消息传递进行通信,在这一过程中必然存在消息的丢失、延迟、重复等问题,在这种情况下,集群中所有的节点如何对某个全局数据达成一致,保持数据的一致性,即使paxos要解决的问题。paxos将节点分为proposer、acceptor、learner三种角

2017-08-20 10:59:29 1127

原创 PHP中的opcode

opcode是php语言里供zend引擎执行的一种中间代码,类似java中的字节码、或者python中的字节码对象pycodeobject.对于如下的一段php代码echo “Hello World”;$a = $a + 1;echo $a;和传统的编译流程一样,zend引擎在执行这段代码之前,首先会进行词法及语法

2017-08-08 17:27:27 4414

原创 dyld: lazy symbol binding failed: Symbol not found: _clock_gettime

采用mac的brew安装php mongodb扩展后,初始化new MongoDB\Driver\Manager()直接报错:dyld: lazy symbol binding failed: Symbol not found: _clock_gettime解决办法:强制brew从源码安装php mongodbbrew install --build-from-so

2017-07-24 18:31:42 5907

原创 几个hive用到的命令

(1)查看表分区信息show partitions table_name;(2)查看表相关信息,包括在hdfs上的位置show create table table_name;

2017-06-05 12:18:35 319

空空如也

空空如也

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

TA关注的人

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