本篇介绍LINUX常用的基础组件的工作原理,在面试的过程中相关组件的基础原理是必不可少的。
Linux,一般指GNU/Linux(单独的Linux内核并不可直接使用,一般搭配GNU套件,故得此称呼),是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。
ZooKeeper 顾名思义 动物园管理员,他是拿来管大象(Hadoop) 、 蜜蜂(Hive) 、 小猪(Pig) 的管理员, Apache Hbase和 Apache Solr 以及LinkedIn sensei 等项目中都采用到了 Zookeeper。ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,ZooKeeper是以Fast Paxos算法为基础,实现同步服务,配置维护和命名服务等分布式应用。Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储, Zookeeper 作用主要是用来维护和监控存储的数据的状态变化,通过监控这些数据状态的变化,从而达到基于数据的集群管理。
早期,要监控Kafka集群我们可以使用Kafka Monitor以及Kafka Manager,但随着监控的功能要求、性能要求的提高,这些工具已经无法满足。 Kafka Eagle是一款结合了目前大数据Kafka监控工具的特点,重新研发的一块开源免费的Kafka集群优秀的监控工具。它可以非常方便的监控生产环境中的offset、lag变化、partition分布、owner等。
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
在日常开发中,即使代码写得有多谨慎,免不了还是会发生各种意外的事件,比如服务器内存突然飙高,又或者发生内存溢出(OOM)。当发生这种情况时,我们怎么去排查,怎么去分析原因呢?
最近ChatGPT爆火,网上出现了很多ChatGPT项目,有部署到微信的,有部署到QQ机器人的,今天介绍一种部署到微信的方法。
Docker打造一个ChatGPT机器人
zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
Sonar(SonarQube)是一个开源平台,用于管理源代码的质量。Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。支持的语言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex 等。
线上java项目cpu突然飙升100%怎么排查?
需求:netstat -anpt | grep 9035检测9035端口是否启用 ,如果启用,则结束,如果未启用,则,killall java 等待20秒后执行 service red5 start 然后美 4个小时执行一次 vi /sbin/checkred5.sh #!/bin/bash netstat -anpt | grep 9035 | grep LISTEN > /dev/null 2>&1 if [ $? = 0 ] then #下面这条命令是杀死全部java进程的,如果服务中有其他java进程建议注释掉,或者修改下使用。 kill -9 `ps -ef | grep java | grep -v grep | awk '{print $2}'` service red5 start fi 添加任务计划 crontab -e * */4 * * * /bin/bash /sbin/checkred5.sh > /dev/null 2>&1 #每4小时 * /10 * * * * /bin/bash /sbin/checkred5.sh >
部署脚本如下: #!/bin/bash BUILD_ID=DONTKILLME DATE=`date +%Y%m%d%H%M` echo ${DATE} >> /home/ver.txt mkdir /home/${DATE} mkdir /home/${DATE}/app cp -r /home/app/* /home/${DATE}/app/ rsync -av --exclude "WEB-INF/classes/dbconfig.properties" /root/.jenkins/workspace/app/build/* /home/app/ ln -fns /home/app /home/apache-tomcat-8.5.28-app/webapps/ /home/apache-tomcat-8.5.28-app/bin/shutdown.sh /home/apache-tomcat-8.5.28-app/bin/startup.sh 回滚脚本如下: #!/bin/bash BUILD_ID=DONTKILLME backupfile=/home/ver.t
当Umount一个目录时,提示device is busy,umount加参数f,是强制执行umount,但是许多时候均不会成功。 原理上要想umount,首先要kill正在使用这个目录的进程。*假设无法卸载的设备为/dev/sdb1 1)运行下面命令看一下哪个用户哪个进程占用着此设备 fuser -m -v /dev/sdb1 2)运行下面命令杀掉占用此设备的进程 fuser -m -v -k /dev/sdb1 或者fuser -m -v -k -i /dev/sdb1(每杀掉一下进程会让你确认) 3)再umount *杀掉所有以任何形式访问文件系统 /dev/sdb1的进程: $fuser -km /dev/sdb1 这个办法是一个比较粗鲁的办法,通常适用于在测试等非正式环境。比较正规的要配合ps等命令,查出使用的用户、进程、命令等,然后做出综合判断,必要时先通知(signal或口头等)用户,确认安全时才可以强制kill此进程。 但有时fuser执行时,仍然会有报错,其实umount强制退出,可以考虑用参数l(Lazy),这个参数是比f(Force)更强大
Linux修改系统时间为东八区北京时间(上海时间)
拷贝本地文件到docker容器
# 创建新的路径 mkdir /iba/docker -p # 修改配置( /iba/docker 是新路径) vi /etc/docker/daemon.json { "registry-mirrors": ["https://registry.docker-cn.com"], "graph": "/iba/docker" } # 复制文件 cp -rf /var/lib/docker/* /iba/docker/ systemctl start docker # 查看 docker info 若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理。
docker(纯净centos系统)打包centos7+python3的镜像 和 如何在centos7部署python3环境 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。
通常来说,我们查看归档或压缩文件的内容,需要先进行解压缩,然后再查看,比较麻烦。今天给大家介绍 10 不同方法,能够让你轻松地在未解压缩的情况下查看归档或压缩文件的内容。
Kubernetes 版本:1.20.2 kubernetes-dashboard 版本:v2.0.0一、 Kubernetes Dashboard 是 Kubernetes 集群的基于 Web 的通用 UI。它允许用户管理在群集中运行的应用程序并对其进行故障排除,以及管理群集本身。这个项目在 Github 已经有半年多不更新了,最近推出了 v2.0.0 版本,这里在 Kubernetes 中部署一下,尝试看看新版本咋样。
首先有必要说明一下为什么使用skywalking。 我对zipkin、cat和skywalking这几个较为主流的监控产品做了一些调研和对比,其中zipkin是我项目中之前已经在使用的,我也写过一些相关的文章,而cat仅是通过资料收集并没有实际的使用,可能会与实际情况有一定偏差,整理以后情况汇总如下表:
Dockerfile构建镜像是以基础镜像为基础的,Dockerfile是一个文本文件,内容是用户编写的一些docker指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。
root@centos-mysql01:~#root@centos-mysql01:/data# docker network ls NETWORK ID NAME DRIVER SCOPE cab735099128 bridge bridge local 13a89298cb91 host host local 581ee02ee095 none null local 启动 Docker的时候,用 --network 参数,可以指定网络类型 root@centos-mysql01:~#docker run --privileged -itd --name centos_lnmp1.14 --network bridge --ip 172.17.0.10 centos /
首先介绍一下技术: 持续集成工具:Jenkins 代码托管:svn或者Git 构建工具:Maven或者Gradle 审查工具:SonarQube 发布容器:Tomcat或者Docker 其次是系统配置信息以及一些额外要求: (1)OS内核需要高于linux5.3, (2)推荐运行内存为8G左右,至少需要大于4G (3)需要分配额外的用户和用户组来运行代码审查工具 (4)若需持久化代码审查记录,需要提供一个数据库(mysql,H2,postgresql等),数据库的安装过程在此跳过
上一篇博文讲到了Registry私有仓库,今天配置一下Harbor仓库,Harbor呢可以作为公开仓库,也可以作为私有仓库,今天就来配置一下Harbor如何实现公开仓库和私有仓库。 关于Registry公开仓库请访问博文:部署Docker私有仓库Registry Registry和Harbor的区别 Registry:是一个私有镜像仓库,图形化支持较差,小型企业使用; Harbor:支持可视化管理,支持私有仓库和公有仓库,支持镜像的管理控制;
一、Jenkins概述 1、Jenkins的作用和用户类型 1)Jenkins的作用 持续集成:将不同的模块或者开发人员开发的功能进行整合; 持续交付:可以重复性更新程序或者软件项目; 持续部署:自动化部署软件项目,定期备份,部署项目异常回滚; 2)Jenkins使用的用户 开发人员:编写好的代码不需要手动编译打包工作,直接将代码提交到SVN或者git中保存; 运维人员:减轻管理员工作量,避免人工干预,减少错误率; 测试人员:方便进行简单的代码测试,避免出现程序逻辑错误;
混沌工程的典型实践-Chaos Monkey,捣乱的猴子;拜 Netflix 所赐,现在大部分的混沌工程项目都叫做 Monkey,也就是一只捣乱的猴子,在你的系统里面上蹦下窜,不停捣乱,直到搞挂你的系统。
Shell脚本监控Linux系统CPU使用率 ;
手工搭建 Kubernetes 集群是一件很繁琐的事情,为了简化这些操作,就产生了很多安装配置工具,如 Kubeadm ,Kubespray,RKE 等组件,我最终选择了官方的 Kubeadm 主要是不同的 Kubernetes 版本都有一些差异,Kubeadm 更新与支持的会好一些。Kubeadm 是 Kubernetes 官方提供的快速安装和初始化 Kubernetes 集群的工具,目前的还处于孵化开发状态,跟随 Kubernetes 每个新版本的发布都会同步更新, 强烈建议先看下官方的文档了解下各个组件与对象的作用。
kubernetes 1.18 一步安装大法 sealos 最新版本支持 1.18.0 1 年证书 体验版本免费提供 http://store.lameleg.com 安装方式如下;
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号