记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
kafka3.0集群部署1.环境说明服务器资源规划如下表:IPhostname部署资源192.168.162.201m162p201zookeeper,kafka192.168.162.202m162p202zookeeper,kafka192.168.162.203m162p203zookeeper,kafka操作系统版本(三个节点均相同):[root@m162p201 software]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.7.1908 (Core)
Release: 7.7.1908
Codename: Core2.环境准备2.1 依赖软件下载计划安装的软件:软件版本安装节点下载地址jdkjdk-8u311-linux-x64.rpmm162p201,m162p202,m162p203https://www.oracle.com/java/technologies/downloads/#java8zookeeperapache-zookeeper-3.5.6-bin.tar.gzm162p201,m162p202,m162p203https://archive.apach...
文章目录 1. linux ssh免密登陆配置 2. java环境配置 3. Hadoop完全分布式(full) 4. Hadoop HDFS高可用集群搭建(HA) 4.1 安装配置zookeeper 4.2 安装配置hadoop HA 4.3 Hadoop HDFS HA集群的启动步骤 5. Hadoop MapReduce、YARN 高可用集群搭建 5.1 修改 mapred-site.xml 5.2 修改yarn-site.xml 5.3 修改hadoop-env.sh 5.4 启动yarn 6 windows本地运行调试mapreduce 1. linux ssh免密登陆配置 hadoop节点之间的通讯是通过ssh进行的,SSH默认都是需要密码的,开启免密钥登录会减少很多麻烦。操作很简单,两步(三步)就可以完成。 首先在本地生成公钥和私钥。分别在所有节点上执行: ssh-keygen -t rsa
#后面都按回车跳过即可(三次)
# 运行结束后在 ~/.ssh/下生成两个新文件: id_rsa.pub和id_rsa
设置本机ssh免密
#cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
将公钥拷贝到本机和远程主机. ssh-copy-id username@host
or
ssh-copy-id node01
ssh-copy-id node02
……
# username是用户名 host是主机的地址
#远程主机将用户的公钥保存在 ~/.ssh/authorized_keys文件中
如果发...
MySQL 读写分离的概述 MySQL 作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。 在实际的生产环境中,由单台 MySQL 作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。 因此,一般来说都是通过主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MySQL-Proxy/Amoeba)来提升数据库的并发负载能力进行部署与实施。 读写分离工作原理 基本的原理是: 主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE) 从数据库处理 SELECT 查询操作 数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。 为什么要读写分离 面对越来越大的访问压力,单台的服务器的性能成为瓶颈,需要分担负载 主从只负责各自的写和读,极大程度的缓解 X(写)锁和 S(读)锁争用 从库可配置 myisam 引擎,提升查询性能以及节约系统开销 增加冗余,提高可用性 实现读写分离的方式 一般有两种方式实现 应用程序层实现,网站的程序实现 应用程序层实现指的是在应用程序内部及连接器中实现读写分离 优点: 应用程序内部实现读写分离,安装既可以使用 减少一定部署...
docker容器——介绍、安装、使用、流程解读、制作镜像与图形化工具 准备工作 首先,需要准备Ubuntu16.04.7环境,笔者是在vmware虚拟机中安装的该环境,附教程:https://blog.csdn.net/bruuuuuuuuno/article/details/121131478 docker简介 简介 官网:https://www.docker.com/ ——百度百科 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 ——docker中文社区 链接:https://www.docker.org.cn/ Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、 bare metal、OpenStack 集群和其他的基础应用平台。 Docker通常用于如下场景: 1、web应用的自动化打包和发布; 2、自动化测试和持续集成、发布; 3、在服务型环境中部署和调整数据库或其他的后台应用; 4、从头编译或者扩展现有的OpenShift或Cloud Foundry平台...
docker日志存储位置,设置docker容器日志大小 docker日志存储位置 在Linux系统中docker启动后日志存储在/var/lib/docker/containers/容器ID/目录中,启动一个容器后,容器ID目录中会生成如下文件: -rw-r----- 1 root root 10325 Nov 16 14:09 12f7f218aa3ba42cf58e3a77ab7ff615c3b06cb04c8d2f22561592c2ea2d3126-json.log
drwx------ 2 root root 4096 Nov 16 14:07 checkpoints
-rw------- 1 root root 3664 Nov 16 14:07 config.v2.json
-rw-r--r-- 1 root root 1514 Nov 16 14:07 hostconfig.json
-rw-r--r-- 1 root root 13 Nov 16 14:07 hostname
-rw-r--r-- 1 root root 174 Nov 16 14:07 hosts
drwx------ 2 root root 4096 Nov 16 14:07 mounts
-rw-r--r-- 1 root root 108 Nov 16 14:07 resolv.conf
-rw-r--r-- 1 root root 71 Nov 16 14:07 resolv.conf.hash
每个容器的日志默认都会以 json-file 的格式存储于/var/lib/docker/containers/<容器id>/<容器id>-json.log 下,不过并不建议去这里直接读取内容,因为容器的日志则可以通过 docker logs命令来访问,而且可以像 tail -f 一样,使用 docker logs -f 来实时查看。...
安装Kubernetes V1.18.2准备虚拟机环境用KVM组建NAT网络虚拟机集群(如果你使用VirtualBox搭建虚拟机集群,请确保hostname -i可以返回一个路由可达的IP,否则请修改虚拟机的hosts文件)设置系统#关闭防火墙(所有节点)
systemctl disable firewalld
systemctl stop firewalld
#关闭SELINUX(所有节点)
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
#设置iptables(所有节点)
cd /etc/sysctl.d/
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
#关闭swap分区(所有节点)
vi /etc/fstab
# /dev/mapper/centos-swap swap swap defaults 0 0
swapoff -a安装Docker#在所有节点上安装
cd /etc/yum.repos.d/
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# k8s 1.18.2 最高只支持docker到19.03.安装DOCKER时需要指定版本
yum -y install docker-ce-19.03.9-3.el7 docker-ce-cli-19.03.9-3.el7
#开机启动...
nginx反向代理+nginx性能优化配置详解前言:代理服务可简单的分为正向代理和反向代理:正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上,然后由代理服务器去访问Web服务器, 并将Web服务器的Response回传给客户端:反向代理: 与正向代理相反,如果局域网向Internet提供资源,并让Internet上的其他用户可以访问局域网内资源, 也可以设置一个代理服务器, 它提供的服务就是反向代理. 反向代理服务器接受来自Internet的连接,然后将请求转发给内部网络上的服务器,并将Response回传给Internet上请求连接的客户端:一、Nginx反向代理=Web服务器的调度器:(1.)反向代理(Reverse Proxy)方式是指以代理服务器来接受客户端的连接请求,然后将请求转发给网络上的web服务器(可能是apache、nginx、tomcat、iis等),并将从web服务器上得到的结果返回给请求连接的客户端,此时代理服务器对外就表现为一个服务器。从上图可以看出:反向代理服务器代理网站Web服务器接收Http请求,对请求进行转发。而且nginx作为反向代理服务器可以根据用户请求的内容把请求转发给后端不同的web服务器,例如静...
准备工作以及安装Hadoop之前的操作和Hadoop2.X的安装相同,在我上一篇博客中,这里不做过多介绍 https://www.cnblogs.com/lmandcc/p/15306163.html 1. 写一些关键脚本,利于后续集群使用 1.1集群分发脚本xsync cd /bin/ vim xsyn #!/bin/bash #1. 判断参数个数 if [ $# -lt 1 ]; then echo "Error:Not Enough Arguement" exit 1 fi #2. 遍历集群所有机器 for host in hadoop-40 hadoop-41 hadoop-42; do echo "================================ $host ==============================" #3. 遍历所有目录,发送文件 for file in $@; do #4. 判断文件是否存在 if [ -e $file ]; then #5. 获取父目...
Linux中的tomcat应用占用CPU过高解决方法。 最近新上了个java应用,部署到服务器上之后发现运行一段时间之后服务器cpu的占用率会很高。 排查了一遍之后,发现网上这篇文章的思路可以解决我遇到的问题,遂转载过来留存。 以我们最近出现的一个实际故障为例,介绍怎么定位和解决这类问题。 根据top命令,发现PID为28555的Java进程占用CPU高达200%,出现故障。 通过ps aux | grep PID命令,可以进一步确定是tomcat进程出现了问题。但是,怎么定位到具体线程或者代码呢? 首先显示线程列表: ps -mp pid -o THREAD,tid,time 找到了耗时最高的线程28802,占用CPU时间快两个小时了! 其次将需要的线程ID转换为16进制格式: printf "%x\n" tid 最后打印线程的堆栈信息: jstack pid |grep tid -A 30 找到出现问题的代码了! 现在来分析下具体的代码:ShortSocketIO.readBytes(ShortSocketIO.java:106) ShortSocketIO是应用封装的一个用短连接Socket通信的工具类。readBytes函数的代码如下: public byte[] readBytes(int length) throws IOExceptio...
Dckr (Docker+ Compose+Kubernets+Rancher) Dckr (Docker+ Compose+Kubernets+Rancher)基于Docker的容器配置及编排的向导式构建工具 Dckr 是一款基于Docker的容器配置及编排的向导式构建工具。(支持Docker、Compose、Kubernets、Rancher的资源文件向导式构建) 通过它,你可以轻松完成以下操作: 借助语义化UI向导式构建Dockerfile、docker-compose.yaml、Kubernetes资源文件、Rancher Chart。 支持docker-compose.yaml向Kubernetes资源文件的转换。 支持docker-compose.yaml或Kubernetest(Helm Chart)向Rancher Chart的转换。 它的存在意义: 通过语义化UI向导式的指引你去构建相关容器配置、编排文件,降低了你的学习成本。 通过转换功能,能轻松地将不同容器产品的配置文件进行相互转换,极大地提高了你的工作效率。 通过它进行构建的YAML文件是符合规范的,让你摆脱编写YAML文件因缩进等格式问题带来的痛苦。 ...
最新评论