安装JDK1.8

#解压:
tar -zxvf jdk-8u181-linux-x64.tar.gz
#重命名:
mv jdk1.8.0_181/ jdk1.8
#添加配置
vim /etc/profile
# 填写自己的jdk安装的位置
JAVA_HOME=/usr/local/software/jdk1.8
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
#环境变量立刻生效
source /etc/profile
#查看安装情况
java -version

安装Zookeeper (默认2181端口)

#解压
tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz
#默认配置文件 zoo.cfg 
cp zoo_sample.cfg  zoo.cfg
#启动zk
./zkServer.sh start

安装Kafka (默认 9092端口)

#解压
tar -zxvf kafka_2.13-2.8.0.tgz
  • config目录下 server.properties
#标识broker编号,集群中有多个broker,则每个broker的编号需要设置不同
broker.id=0# listeners 配置的ip和advertised.listeners相同时启动kafka会报错
# 内网ip
#虚拟机配置 listeners=PLAINTEXT://:9092  
listeners=PLAINTEXT://172.21.0.17:9092    
# 公网ip
advertised.listeners=PLAINTEXT://81.70.217.100:9092#修改zk地址,默认地址
zookeeper.connection=localhost:2181
  • bin目录启动

    #启动
    ./kafka-server-start.sh  ../config/server.properties &#停止
    ./kafka-server-stop.sh
    
  • 创建topic

./kafka-topics.sh --create --zookeeper 192.168.23.129 --replication-factor 1 --partitions 1 --topic xdclass-topic#创建⽣产者发送消息
./kafka-console-producer.sh --broker-list 192.168.23.129:9092 --topic xdclass-topic#运⾏⼀个消费者
./kafka-console-consumer.sh --bootstrap-server 192.168.23.129:9092 --topic xdclass-topic --from-beginning
  • 查看topic
./kafka-topics.sh --list --zookeeper 192.168.23.129:2181
  • kafka如果直接启动信息会打印在控制台,如果关闭窗口,kafka随之关闭
  • 守护进程方式启动
./kafka-server-start.sh -daemon ../config/server.properties &

安装kafka集群

  • 没那么多机器,采用伪集群方式搭建(端口号区分)

    • zookeeper部署3个节点
      • 2181
      • 2182
      • 2183
    • kafka部署3个节点
      • 9092
      • 9093
      • 9094
  • 网络安全组记得开放端口

    zookeeper集群环境准备

  • zookeeper节点端口

    • 2181
    • 2182
    • 2183
  • cp -r 复制zk节点

  • 修改配置zoo.cfg

#客户端端口
clientPort=2181#数据存储路径
dataDir=/tmp/zookeeper/2181#修改AdminServer的端口:
admin.serverPort=8888
  • dataDir对应目录下分别创建myid文件,内容对应1、2、3
cd /tmp/zookeeper/2183
echo 1 > myid
  • 配置集群
# server.服务器id=服务器IP地址:服务器直接通信端口:服务器之间选举投票端口server.1=127.0.0.1:2881:3881
server.2=127.0.0.1:2882:3882
server.3=127.0.0.1:2883:3883
  • zk命令
#启动zk
./zkServer.sh  start#查看节点状态
./zkServer.sh status#停止节点
./zkServer.sh stop

Kafka高可用集群搭建-环境准备

  • 伪集群搭建,3个节点同个机器端口区分
    • 9092
    • 9093
    • 9094
  • 配置
#内网中使用,内网部署 kafka 集群只需要用到 listeners,内外网需要作区分时 才需要用到advertised.listeners
listeners=PLAINTEXT://172.18.123.229:9092advertised.listeners=PLAINTEXT://112.74.55.160:9092#每个节点编号1、2、3
broker.id=1#端口
port=9092#配置3个
log.dirs=/tmp/kafka-logs-1#zk地址
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183

安装Redis

#安装gcc
yum install -y gcc-c++ autoconf automake#centos7 默认的 gcc 默认是4.8.5,版本小于 5.3 无法编译,需要先安装gcc新版才能编译
gcc -v#升级新版gcc,配置永久生效
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutilsscl enable devtoolset-9 bash  
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile #编译redis
cd redis-6.2.1
make#安装到指定目录
mkdir -p /usr/local/redismake PREFIX=/usr/local/redis install

Docker安装redis

docker run -itd --name xdclass-redis1 -p 6379:6379 -v /mydata/redis/data:/data redis:6.2.4 --requirepass root-i 以交互模式运⾏容器,通常与
-t 同时使⽤;
-d 后台运⾏容器,并返回容器ID;

分布式缓存Redis6常见核心配置讲解

  • 你现在必须要知道的配置
    • daemonize yes 配置后台运行,默认no
    • bind 绑定指定ip访问,0.0.0.0是不限制,配置多个ip例子 12.13.432.12 31.12.43.13 用空格隔开
    • port 端口号 默认6379
    • requirepass 密码配置
    • dbfilename 配置redis持久化文件名称
    • dir 配置redis持久化文件存储地址
    • save 配置redis持久化机制
  • 创建目录
    • 日志 mkdir /usr/local/redis/log
    • 数据 mkdir /usr/local/redis/data
    • 配置文件 mkdir /usr/local/redis/conf
  • 创建自定义配置文件 (使用自带的也行)
#任何ip可以访问
bind 0.0.0.0#守护进程
daemonize yes#密码
requirepass tmhc20170717#日志文件
logfile "/usr/local/redis/log/redis.log"#持久化文件名称
dbfilename xdclass.rdb#持久化文件存储路径
dir /usr/local/redis/data#持久化策略, 10秒内有个1个key改动,执行快照
save 10 1

启动redis指定配置文件

./redis-server ../conf/redis.conf

Redis6.X 主从复制 一主二从架构环境准备

  • 配置
mkdir -p /data/redis/master/data 
mkdir -p /data/redis/slave1/data 
mkdir -p /data/redis/slave2/data#从节点开启只读模式(默认)
replica-read-only yes
#从节点访问主节点的密码,和requirepass一样
masterauth 123456
#哪个主节点进行复制
replicaof 8.129.113.233 6379
  • 创建主配置文件redis.conf
bind 0.0.0.0
port 6379
daemonize yesrequirepass "123456"logfile "/usr/local/redis/log/redis1.log"
dbfilename "xdclass1.rdb"
dir "/usr/local/redis/data"
appendonly yes
appendfilename "appendonly1.aof"
masterauth "123456"
  • 创建两个从配置文件redis.conf
bind 0.0.0.0
port 6380
daemonize yes
requirepass "123456"
logfile "/usr/local/redis/log/redis2.log"
dbfilename "xdclass2.rdb"
dir "/usr/local/redis/data"
appendonly yes
appendfilename "appendonly2.aof"
replicaof 8.129.113.233 6379
masterauth "123456"
  • 创建从配置文件redis.conf
bind 0.0.0.0
port 6381
daemonize yes
requirepass "123456"
logfile "/usr/local/redis/log/redis3.log"
dbfilename "xdclass3.rdb"
dir "/usr/local/redis/data"
appendonly yes
appendfilename "appendonly3.aof"
replicaof 8.129.113.233 6379
masterauth "123456"
  • 防火墙记得关闭,或者开放对应的端口

    • 阿里云服务器记得开发网络安全组
  • 启动

#启动主
./redis-server /data/redis/master/data/redis.conf#启动从
./redis-server /data/redis/slave1/data/redis.conf#启动从
./redis-server /data/redis/slave2/data/redis.conf
  • info replication 查看状态
  • 主从复制和读写验证
  • 防火墙和网络安全组记得开放端口
    • 6379 主节点
    • 6380 从节点
    • 6381 从节点

Redis6.X节点高可用监控之Sentinel哨兵搭建环境准备

  • 核心流程
    • 每秒ping,超过时间不响应 则认为主观下线
    • 满足多个,则认为是客观下线
    • 投票选择主节点
    • 如果没有足够的节点同意master下线,则状态会被移除
  • 环境准备
    • 配置3个哨兵,每个哨兵的配置都是一样的
    • 启动顺序 先启动主再启动从,最后启动3个哨兵
    • 哨兵端口是 【26379】记得开放
#不限制ip
bind 0.0.0.0# 让sentinel服务后台运行
daemonize yes# 配置监听的主服务器,mymaster代表服务器的名称,自定义,172.18.172.109 代表监控的主服务器,6379代表端口,
#2代表只有两个或两个以上的哨兵认为主服务器不可用的时候,才会进行failover操作。
sentinel monitor mymaster 172.18.172.109 6379 2# sentinel auth-pass定义服务的密码,mymaster是服务名称,123456是Redis服务器密码
sentinel auth-pass mymaster 123456#超过5秒master还没有连接上,则认为master已经停止
sentinel down-after-milliseconds mymaster 5000#如果该时间内没完成failover操作,则认为本次failover失败
sentinel failover-timeout mymaster 30000
  • 在目录下创建3个文件sentinel-1.conf、sentinel-2.conf、sentinel-3.conf

    port 26379
    bind 0.0.0.0
    daemonize yes
    pidfile "/var/run/redis-sentinel-1.pid"
    logfile "/var/log/redis/sentinel_26379.log"
    dir "/tmp"
    sentinel monitor mymaster 8.129.113.233 6379 2
    sentinel down-after-milliseconds mymaster 5000
    sentinel auth-pass mymaster 123456
    sentinel failover-timeout mymaster 30000
    
    port 26380
    bind 0.0.0.0
    daemonize yes
    pidfile "/var/run/redis-sentinel-2.pid"
    logfile "/var/log/redis/sentinel_26380.log"
    dir "/tmp"
    sentinel monitor mymaster 8.129.113.233 6379 2
    sentinel down-after-milliseconds mymaster 5000
    sentinel auth-pass mymaster 123456
    sentinel failover-timeout mymaster 30000
    
    port 26381
    bind 0.0.0.0
    daemonize yes
    pidfile "/var/run/redis-sentinel-3.pid"
    logfile "/var/log/redis/sentinel_26381.log"
    dir "/tmp"
    sentinel monitor mymaster 8.129.113.233 6379 2
    sentinel down-after-milliseconds mymaster 5000
    sentinel auth-pass mymaster 123456
    sentinel failover-timeout mymaster 30000
    
    • 记得创建 /var/log/redis 文件夹
  • 启动哨兵集群

./redis-server /usr/local/redis/conf/sentinel-1.conf --sentinel./redis-server /usr/local/redis/conf/sentinel-2.conf --sentinel./redis-server /usr/local/redis/conf/sentinel-3.conf --sentinel

Redis6.X高可用之Cluster集群和分片

  • 说明
    • 旧版本的需要使用ruby语言进行构建,新版5之后直接用redis-cli即可
    • 6个节点,三主双从,主从节点会自动分配,不是人工指定
    • 主节点故障后,从节点会替换主节点
  • 注意点:
    • 把之前的rdb、aof文件删除
  • 节点(网络安全组开放端口)
    • 6381、6382
    • 6383、6384
    • 6385、6386

  • 配置
bind 0.0.0.0
port 6381
daemonize yes
requirepass "123456"
logfile "/usr/local/redis/log/redis1.log"
dbfilename "xdclass1.rdb"
dir "/usr/local/redis/data"
appendonly yes
appendfilename "appendonly1.aof"
masterauth "123456"#是否开启集群
cluster-enabled yes# 生成的node文件,记录集群节点信息,默认为nodes.conf,防止冲突,改为nodes-6381.conf
cluster-config-file nodes-6381.conf#节点连接超时时间
cluster-node-timeout 20000#集群节点的ip,当前节点的ip
cluster-announce-ip 172.18.172.109#集群节点映射端口
cluster-announce-port 6381#集群节点总线端口,节点之间互相通信,常规端口+1万
cluster-announce-bus-port 16381
bind 0.0.0.0
port 6386
daemonize yes
requirepass "123456"
logfile "/usr/local/redis/log/redis6.log"
dbfilename "xdclass6.rdb"
dir "/usr/local/redis/data"
appendonly yes
appendfilename "appendonly6.aof"
masterauth "123456"cluster-enabled yes
cluster-config-file nodes-6386.conf
cluster-node-timeout 20000
cluster-announce-ip 172.18.172.109
cluster-announce-port 6386
cluster-announce-bus-port 16386
  • 启动6个节点
./redis-server ../conf/cluster/redis1.conf
./redis-server ../conf/cluster/redis2.conf
./redis-server ../conf/cluster/redis3.conf
./redis-server ../conf/cluster/redis4.conf
./redis-server ../conf/cluster/redis5.conf
./redis-server ../conf/cluster/redis6.conf
  • 加入集群(其中一个节点执行即可)
    • –cluster 构建集群全部节点信息
    • –cluster-replicas 1 主从节点的比例,1表示1主1从的方式
./redis-cli -a 123456 --cluster create 172.18.172.109:6381 172.18.172.109:6382 172.18.172.109:6383 172.18.172.109:6384 172.18.172.109:6385 172.18.172.109:6386 --cluster-replicas 1
  • 检查状态信息(其中一个节点执行即可)
./redis-cli -a 123456 --cluster check 172.18.172.109:6381
  • 集群状态
./redis-cli -c -a 123456 -p 6379#集群信息
cluster info#节点信息
cluster nodes

开启swap分区

查看swap信息,可以利用“free -m”显示

以上显示swap的总数为0,证明没有开启swap分区

创建方式如下:

1、创建一个swap文件

cd /var
mkdir swap
dd if=/dev/zero of=swapfile bs=1024 count=2000000

count代表创建2G大小

2、把文件转换为swap文件

#在var目录执行
mkswap swapfile

3、激活swap文件

(1)可以直接使用命令挂载一个swap分区,但是重启要重新挂载

#挂载
swapon /var/swapfile#如果不需要了,可以卸载
swapoff /var/swapfile

(2)如果需要开机自动挂载,可以把它添加到/etc/fstab文件中

#编辑/etc/fstab末行添加
/var/swapfile    swap    swap defaults    0    0

再执行swapon /var/swapfile

4、这样就完成增加swap分区,可以用free -m来查看结果

安装Nginx

# 解压tar -zxvf nginx-1.9.9.tar.gz cd nginx-1.9.9/#安装
./configure --with-http_ssl_module --with-http_gzip_static_module
make
make install  
cd /usr/local/nginx/sbin/
# 启动程序    
./nginx   
# 关闭程序
./nginx -s stop
# 查看运行状态
#ps aux | grep nginx    

make可能出错

cd objs/
修改Makefile  
删除 -Werror

nginx前端项目代理地址配置
在/usr/local/nginx/conf目录下配置nginx.conf文件只要修改root即可,(root为项目打包后文件的存放路径。)
修改配置代码如下:

server {listen       9104;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   /home/kaifa01/purchase/web/dist;index  index.html index.htm;}add_header Access-Control-Allow-Origin "*";default_type 'text/html';charset utf-8;#error_page  404              /404.html;}

配置多个

   location / {root   /asset/dist;index  index.html index.htm;}location /audit {alias   /audit/dist;index  index.html index.htm;}location /meta {alias   /meta/dist;index  index.html index.htm;}

安装Docker

关闭防火墙:systemctl stop firewalld.service vi /etc/selinux/config

#添加yum源
yum update
yum install epel-release -y
yum clean all
yum list
#安装并运行Docker
yum install docker-io -y
systemctl start docker
#检查安装结果
docker info
#启动使用Docker
systemctl start docker #运⾏Docker守护进程
systemctl stop docker #停⽌Docker守护进程
systemctl restart docker #重启Docker守护进程
查看本地镜像:docker images
搜索镜像:docker search centos
搜索镜像并过滤是官方的: docker search --filter "is-official=true" centos
搜索镜像并过滤大于多少颗星星的:docker search --filter stars=10 centos
下载centos7镜像:docker pull centos:7
修改本地镜像名字(小写):docker tag centos:7 mycentos:1
本地镜像的删除:docker rmi centos:7

配置阿里云镜像加速

vi /etc/docker/daemon.json

{"registry-mirrors": ["https://qkmzgrtd.mirror.aliyuncs.com"]
}

重启:systemctl daemon-reload && systemctl restart docker

#运行一个容器
docker run --name nginx-xd -p 8080:80 -d nginx
docker run - 运⾏⼀个容器-d 后台运⾏-p 端⼝映射--name "xxx" 容器名称
6 Docker核心基础之容器的构建等基本操作
简介:Docker容器的创建,查看,停止,重启等
构建容器:docker run -itd --name=mycentos centos:7
-i:表示以交互模式运行容器(让容器的标准输入保持打开)
-d:表示后台运行容器,并返回容器ID
-t:为容器重新分配一个伪输入终端
--name:为容器指定名称
查看本地所有的容器:docker ps -a
查看本地正在运行的容器:docker ps
停止容器:docker stop CONTAINER_ID / CONTAINER_NAME
一次性停止所有容器:docker stop $(docker ps -a -q)
启动容器:docker start CONTAINER_ID / CONTAINER_NAME
重启容器:docker restart CONTAINER_ID / CONTAINER_NAME
删除容器:docker rm CONTAINER_ID / CONTAINER_NAME
强制删除容器:docker rmi -f CONTAINER_ID / CONTAINER_NAME
查看容器详细信息:docker inspect CONTAINER_ID / CONTAINER_NAME
进入容器:docker exec -it 0ad5d7b2c3a4 /bin/bash

编写dockerfile文件(springboot_dockerfile):启动springboot项目

FROM java:8
MAINTAINER xuhongwei
ADD demo-0.0.1-SNAPSHOT.jar app.jar
CMD java -jar app.jar
#启动dockerfile文件
docker build -f ./springboot_dockerfile -t app . 
#启动镜像
docker run -id app
#端口映射
docker run -id -p 9000:7000 app

安装Docker Compose 服务编排

#安装
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
#设置文件可执行权限
chmod +x /usr/local/bin/docker-cpmpose
#查看版本信息
docker-compose -version
#卸载
rm /usr/local/bin/docker-compose

使用docker compose编排nginx+springboot项目

1.创建docker-compose目录

mkdir ~/docker-compose
cd ~/docker-compose

2.编写docker-compose.yml文件

version: '3'
services:nginx:image: nginxports:- 80:80links:- appvolumes:- ./nginx/conf.d:/etc/nginx/conf.dapp:image: appexpose:- "8080"

3.创建./nginx/conf.d目录

mkdir -p ./nginx/conf.d

4.在./nginx/conf.d目录下编写***.conf文件

server{listen 80;access_log off;location / {proxy_pass http://app:8080}
}

5.在 ~/docker-compose目录下使用docker-compose启动容器

docker-compose up 
#后台启动
docker-compose up -d 

6.测试访问

Docker私有仓库

# 1、拉取私有仓库镜像
docker pull registry
# 2、启动私有仓库容器
docker run -id --name=registry -p 5000:5000 registry
# 3、打开浏览器 输入http://私有仓库服务器ip:5000/v2/_catalog,看到{"repositories":[]}标识私有仓库搭建成功
# 4、修改daemon.json
vim /etc/docker/daemon.json
# 在上述文件中添加一个key,保存退出。此步用于让docker 信任私有仓库地址;注意将私有仓库服务器ip修改为自己私有仓库服务器真是ip
{"insecure-registries":["私有仓库服务器ip:5000"]}
# 5、重启docker服务
systemctl restart docker
docker start registry

将镜像上传至私有仓库

# 1、标记镜像为私有仓库的镜像
docker tag centos:7 私有仓库服务器ip:5000/centos:7
# 2、上传标记的镜像
docker push 私有仓库服务器ip:5000/centos7

拉取镜像

docker pull 私有仓库服务器ip:5000/centos:7

项目整合Docker

  • 添加依赖
 <properties><docker.image.prefix>xdclass-cloud</docker.image.prefix></properties><build><finalName>alibaba-cloud-gateway</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><goal>repackage</goal></goals></execution></executions><configuration><fork>true</fork><addResources>true</addResources></configuration></plugin><plugin><groupId>com.spotify</groupId><artifactId>dockerfile-maven-plugin</artifactId><version>1.4.10</version><configuration><repository>${docker.image.prefix}/${project.artifactId}</repository><buildArgs><JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE></buildArgs></configuration></plugin></plugins></build>

微服务Docker镜像打包整合JDK11

  • 创建Dockerfile,默认是根⽬录,(可以修改为 src/main/docker/Dockerfile,如果修则需要制定路径)
  • 什么是Dockerfile
    • 由⼀系列命令和参数构成的脚本,这些命令应⽤于基础 镜像, 最终创建⼀个新的镜像
FROM adoptopenjdk/openjdk11:ubi
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]/*FROM <image>:<tag> 需要⼀个基础镜像,可以是公共的或者是私有的,后续构建会基于此镜像,如果同⼀个Dockerfile中建⽴多个镜像时,可以使⽤多个FROM指令
VOLUME 配置⼀个具有持久化功能的⽬录,主机/var/lib/docker ⽬录下创建了⼀个临时⽂件,并链接到容器的/tmp。改步骤是可选的,如果涉及到⽂件系统的应⽤就很有必要了/tmp⽬录⽤来持久化到 Docker 数据⽂件夹,因为Spring Boot 使⽤的内嵌 Tomcat 容器默认使⽤/tmp作为⼯作⽬录
ARG 设置编译镜像时加⼊的参数, JAR_FILE 是设置容器的环境变量(maven⾥⾯配置的)
COPY : 只⽀持将本地⽂件复制到容器 ,还有个ADD更强⼤但复杂点
ENTRYPOINT 容器启动时执⾏的命令
EXPOSE 8080 暴露镜像端⼝*/
  • 构建镜像( 去到⼦模块pom⽂件下)
mvn install -Dmaven.test.skip=true dockerfile:build

推送镜像到阿里云仓库(网关服务)

#登录
docker login --username=哼哼与瑾禾 registry.cn-hangzhou.aliyuncs.com
#密码
xuhw19950118
#将镜像推送到Registry
#docker tag 4db9c092245f registry.cn-hangzhou.aliyuncs.com/xuhongwei/cloud_gateway:v1.0
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/xuhongwei/cloud_gateway:[镜像版本号]#docker push registry.cn-hangzhou.aliyuncs.com/xuhongwei/cloud_gateway:v1.0
docker push registry.cn-hangzhou.aliyuncs.com/xuhongwei/cloud_gateway:[镜像版本号]#从Registry中拉取镜像
#docker pull registry.cn-hangzhou.aliyuncs.com/xuhongwei/cloud_gateway:v1.0
docker pull registry.cn-hangzhou.aliyuncs.com/xuhongwei/cloud_gateway:[镜像版本号]

安装SVN

#安装
yum install subversion

配置

我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下面,创建成功后在svn下面多了几个文件夹。

[root@localhost /]# cd /home
[root@localhost home]# mkdir svn
[root@localhost home]# svnadmin create /home/svn
[root@localhost home]# ls svn
conf  db  format  hooks  locks  README.txt

我们这里特别关注一下conf文件夹,这个是存放配置文件的

[root@localhost home]# cd svn/conf
[root@localhost conf]# ls
authz  passwd  svnserve.conf

其中:

  • authz 是权限控制文件
  • passwd 是帐号密码文件
  • svnserve.conf 是SVN服务配置文件

接下来我们依次修改这3个文件。

2.2. 配置passwd

[root@localhost conf]# vi passwd 
[users]
test1=123456
test2=123456

上面的例子中我们创建了2个用户,一个test1,一个test2

img

2.3. 配置authz

[root@localhost conf]# vi authz 
[/]
liuxianan=rw
test1=r
test2=r
*=

上面配置的含义是,liuxianan/home/svn/下所有文件具有可读可写权限,test只有只读权限,除此之外,其它用户均无任何权限,最后一行*=很重要不能少。

img

2.3.1. 拓展:使用用户分组

这个我一般不用,但是记录下来。

还是这个文件:

[root@localhost conf]# vi authz
[groups]
group1 = liuxianan
group2 = test1,test2
[/]
@group1 = rw
@group2 = r
* =

上面配置中创建了2个分组,分组1的用户可读可写,分组2的用户只读。

格式说明:

版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>

2.4. 配置svnserve.conf

[root@localhost conf]# vi svnserve.conf 
打开下面的5个注释
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/svn # 认证空间名,版本库所在目录

2点注意:

  • 最后一行的realm记得改成你的svn目录
  • 打开注释时切记前面不要留有空格,否则可能有问题(网上说的,我没有亲测)

img

启动与停止

[root@localhost conf]# svnserve -d -r /home/svn(启动)
[root@localhost conf]#killall svnserve(停止)

上述启动命令中,-d表示守护进程, -r 表示在后台执行。停止还可以采用杀死进程的方式:

[root@localhost conf]# ps -ef|grep svnserve
root      4908     1  0 21:32 ?        00:00:00 svnserve -d -r /home/svn
root      4949  4822  0 22:05 pts/0    00:00:00 grep svnserve
[root@localhost conf]# kill -9 4908

img

最后来个总的截图:

img

客户端连接

这里使用TortoiseSVN,输入地址svn://你的IP 即可,不出意外输入用户名和密码就能连接成功了。

默认端口3690,如果你修改了端口,那么要记得加上端口号。

img

安装ElasticSearch

首先要安装jdk

启动⼀定要使⽤⾮root账户!!!这是es强制规定的。 Elasticsearch为了安全考虑,不让使 ⽤root启动,解决⽅法是新建⼀个⽤户,⽤此⽤户进⾏相关的操作。如果你⽤root启动,会 报错。

#添加用户
adduser es
#设定密码
passwd es

如果是使⽤root账号安装es的,⾸先给安装包授权,⽐如chown -R 777 ‘安装包路 径’,然后再使⽤⾮root账号启动,具体的权限配置,可以根据⾃⼰想要的来配置。

#授权
chown -R es:es /usr/local/software/elasticsearch-7.2.0#修改配置文件  默认-Xms1g    -Xmx1g 修改如下
vi jvm.options    

#编辑elasticsearch.yml修改数据和日志目录
vi elasticsearch.yml#内容
node.name: node-1 #配置当前es节点名称(默认是被注释的,并且默认有一个节点名)
cluster.name: my-application #默认是被注释的,并且默认有一个集群名path.data: /home/es/data # 数据目录位置
path.logs: /home/es/logs # 日志目录位置network.host: 0.0.0.0   #绑定的ip:默认只允许本机访问,修改为0.0.0.0后则可以远程访问
cluster.initial_master_nodes: "node-1" #默认是被注释的 设置master节点列表 用逗号分隔
#cluster.initial_master_nodes: ["node-1", "node-2"] #默认是被注释的 设置master节点列表 用逗号分隔   ###############两个节点怎么用的,目前不清楚,备注一下
#修改/etc/security/limits.conf文件 增加配置
vi /etc/security/limits.conf #在文件最后,增加如下配置:
* soft nofile 65536
* hard nofile 65536vi /etc/sysctl.conf
#在文件最后添加内容
vm.max_map_count=655360#保存后 执行命令
sysctl -p

linux,打开软件的安装路径,将所有文件权限迭代给es用户 进⼊到bin⽬录

#切换es用户
su es
#执⾏
sh elasticsearch
#守护进程的⽅式可以使⽤
nohup elasticsearch/bin/elasticsearch &

windows,打开软件的安装路径,进⼊到bin⽬录,双击elasticsearch.bat。

验证 打开浏览器输⼊localhost:9200

搭建集群

1、搭建步骤 拷⻉elasticsearch-7.2.0安装包3份,分别命名elasticsearch-7.2.0-a, elasticsearch-7.2.0-b, elasticsearch-7.2.0-c。

2、分别修改elasticsearch.yml⽂件。

3、分别启动a ,b ,c 三个节点。 打开浏览器输⼊:http://localhost:9200/_cat/health?v ,如果返回的node.total是3,代表集 群搭建成功

4、配置elasticsearch.yml⽂件

#集群名称
cluster.name: my-application
#节点名称
node.name: node-1
#是不是有资格主节点
node.master: true
#是否存储数据
node.data: true
#最⼤集群节点数
node.max_local_storage_nodes: 3
#⽹关地址
network.host: 0.0.0.0
#端⼝
http.port: 9200
#内部节点之间沟通端⼝  单机情况下配置
transport.tcp.port: 9300
#es7.x 之后新增的配置,写⼊候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["localhost:9300","localhost:9400","localhost:9500"]
#es7.x 之后新增的配置,初始化⼀个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
#数据和存储路径
path.data: /Users/louis.chen/Documents/study/search/storage/a/data
path.logs: /Users/louis.chen/Documents/study/search/storage/a/logs

kibana

kibana⼯具的安装和使⽤

简介:可视化⼯具kibana的安装和使⽤ 下载 https://www.elastic.co/cn/downloads/kibana 选择对应版本 启动 进⼊到⽂件夹的bin⽬录,

#执⾏
sh kibana 
#访问
localhost:5601

集群情况下kibana设置

打开配置 kibana.yml,

添加elasticsearch.hosts: [“http://localhost:9200”,“http://localhost: 9201”,“http://localhost:9202”]

启动kibana,可以看到集群信息

安装Nacos(注册中心+配置中心)

解压安装包

进⼊bin⽬录

#启动 
sh startup.sh -m standalone
#关闭
sh shutdown.sh#访问 ip:8848/nacos
#默认账号密码 nacos/nacos

Docker部署Nacos

#拉取镜像
docker pull nacos/nacos-server
#查看镜像
docker images
#启动Nacos
docker run --env MODE=standalone --name xdclass-nacos -d -p 8848:8848 bdf60dc2ada3 (镜像id)
#查看日志
docker logs -f id

项目集成Nacos(注册中心)

  • 添加依赖
<!--添加nacos客户端-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
server:port: 9000
spring:application:name: xdclass-video-servicecloud:nacos:discovery:server-addr: 127.0.0.1:8848
  • 启动类添加配置
@EnableDiscoveryClient

Nacos配置中心

  • 添加依赖
<dependency> <groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
  • 讲解Nacos作为配置中⼼实战
    • 不能使⽤原先的application.yml, 需要使⽤ bootstrap.yml作为配置⽂件
    • 配置读取优先级 bootstrap.yml > application.yml
spring:application:name: xdclass-order-servicecloud:nacos:config:server-addr: 127.0.0.1:8848 #Nacos配置中⼼地址file-extension: yaml #⽂件拓展格式profiles:active: dev
  • 讲解Nacos动态刷新配置
    • 我们修改了配置,程序不能⾃动更新
    • 动态刷新就可以解决这个问题
  • 在类上添加注解
@RefreshScope
public class OrderController {@Value("${video.title}")private String videoTitle;
}
#启动微服务验证
http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=xdclass-order-service-dev.yaml&group=DEFAULT_GROUP
#如果出现 config dta not exist 建议重启nacos
#重新构建下项⽬
mvn clean package -U
#然后重启IDEA
  • dataId组成,在 Nacos Spring Cloud 中,dataId 的完整 格式如下

    ${prefix}-${spring.profiles.active}.${file-extension}
    prefix 默认为 spring.application.name 的值
    spring.profiles.active 即为当前环境对应的 profile当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
    file-exetension 为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension 来配置。⽬前只⽀持 properties 和 yaml 类型。
    

Nacos注册中心配置mysql持久化

  • nacos数据库脚本

    • 导入数据库脚本
    • 新增一个用户 nacos/nacos
    INSERT INTO `users` (`username`, `password`, `enabled`)
    VALUES('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', 1);
    
  • mysql最好使用5.7版本(业界用的比较多,稳定)

  • 启动命令

docker run -d \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.23.129 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-e MYSQL_SERVICE_DB_NAME=xdclass_nacos \
-p 8848:8848 \
--restart=always \
--name nacos \
nacos/nacos-server 
  • 访问(大家改成自己的ip)
    • http://192.168.23.129:8848/nacos

Sentinel(流量控制)

#启动 Sentinel 控制台需要 JDK 版本为 1.8 及以上版本
-Dserver.port=8081 ⽤于指定 Sentinel 控制台端⼝为 8081
#默认⽤户名和密码都是 sentinel
#启动jar包
nohup java -Dserver.port=8081 -Dcsp.sentinel.dashboard.server=192.168.23.129:8081 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.0.jar &#访问
http://ip:8081

Docker部署Sentinel

#拉取镜像
docker pull bladex/sentinel-dashboard:latest
#查看镜像
docker images
#启动Nacos
docker run --name sentinel -d -p 8858:8858 aa398704ebd3 镜像id
#查看日志
docker logs -f id

AlibabaCloud微服务整合Sentinel限流

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
spring:cloud:sentinel:transport:dashboard: 127.0.0.1:8081port: 9999
#dashboard: 8081 控制台端⼝
#port: 9999 本地启的端⼝,随机选个不能被占⽤的,与dashboard进⾏数据交互,会在应⽤对应的机器上启动⼀个Http Server,该 Server 会与 Sentinel 控制台做交互, 若被占⽤,则开始+1⼀次扫描
  • 微服务注册上去后,由于Sentinel是懒加载模式,所以需 要访问微服务后才会在控制台出现

安装MySQL

#解压
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar #移动并重命名
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql#创建MySQL用户组和用户并修改权限
groupadd mysql
useradd -r -g mysql mysql#创建数据目录并赋予权限
mkdir -p  /data/mysql              #创建目录
chown mysql:mysql -R /data/mysql   #赋予权限#配置my.cnf
vim /etc/my.cnf#内容如下
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true#初始化数据库
#进入mysql的bin目录
cd /usr/local/mysql/bin/#初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize#查看密码
cat /data/mysql/mysql.err

#启动MySQL,并更改root密码
#先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql# 启动与停止解压包安装
service mysql start
service mysql stop
#重启
service mysql restart#查看
ps -ef | grep mysql#在bin目录下登录MySQL
./mysql -u root -p   #首次输入上面默认密码#修改密码
SET PASSWORD = PASSWORD('root');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;   #外部访问MySQL
use mysql                                            #访问mysql库
update user set host = '%' where user = 'root';      #使root能再任何host访问
FLUSH PRIVILEGES;                                    #刷新
#命令安装的MySQL 启动 /bin目录
systemctl restart mysqld.service
systemctl start mysqld.service
systemctl stop mysqld.service

Docker安装MySQL

docker run -p 3306:3306 --name xdclass_mysql \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7# \ 换行
# -v 目录映射  左边是宿主机目录 右边是容器目录

安装MySQL审计工具Audit Plugin

#解压
unzip  audit-plugin-mysql-5.7-1.1.4-725-linux-x86_64.zip 

查看MySQL的插件目录

> show variables like 'plugin_dir';
+---------------+------------------------------+
| Variable_name | Value                        |
+---------------+------------------------------+
| plugin_dir    | /usr/local/mysql/lib/plugin/ |
+---------------+------------------------------+

复制库文件到MySQL库目录下:

# cp audit-plugin-mysql-5.7-1.1.4-725/lib/libaudit_plugin.so /usr/local/mysql/lib/plugin/
# chmod a+x libaudit_plugin.so

进入mysql命令窗口,安装插件:

> install plugin audit soname 'libaudit_plugin.so';
Query OK, 0 rows affected (0.06 sec) 

查看mysql当前已经加载了哪些插件:

> show plugins;
+----------------------------+----------+--------------------+--------------------+---------+
| Name                       | Status   | Type               | Library            | License |
+----------------------------+----------+--------------------+--------------------+---------+
| binlog                     | ACTIVE   | STORAGE ENGINE     | NULL               | GPL     |
| mysql_native_password      | ACTIVE   | AUTHENTICATION     | NULL               | GPL     |
| sha256_password            | ACTIVE   | AUTHENTICATION     | NULL               | GPL     |
| MyISAM                     | ACTIVE   | STORAGE ENGINE     | NULL               | GPL     |
| PERFORMANCE_SCHEMA         | ACTIVE   | STORAGE ENGINE     | NULL               | GPL     |
| InnoDB                     | ACTIVE   | STORAGE ENGINE     | NULL               | GPL     |
| INNODB_TRX                 | ACTIVE   | INFORMATION SCHEMA | NULL               | GPL     |
| INNODB_LOCKS               | ACTIVE   | INFORMATION SCHEMA | NULL               | GPL     |…………
| MRG_MYISAM                 | ACTIVE   | STORAGE ENGINE     | NULL               | GPL     |
| MEMORY                     | ACTIVE   | STORAGE ENGINE     | NULL               | GPL     |
| CSV                        | ACTIVE   | STORAGE ENGINE     | NULL               | GPL     |
| BLACKHOLE                  | ACTIVE   | STORAGE ENGINE     | NULL               | GPL     |
| partition                  | ACTIVE   | STORAGE ENGINE     | NULL               | GPL     |
| FEDERATED                  | DISABLED | STORAGE ENGINE     | NULL               | GPL     |
| ARCHIVE                    | ACTIVE   | STORAGE ENGINE     | NULL               | GPL     |
| ngram                      | ACTIVE   | FTPARSER           | NULL               | GPL     |
| rpl_semi_sync_master       | ACTIVE   | REPLICATION        | semisync_master.so | GPL     |
| rpl_semi_sync_slave        | ACTIVE   | REPLICATION        | semisync_slave.so  | GPL     |
| AUDIT                      | ACTIVE   | AUDIT              | libaudit_plugin.so | GPL     |
+----------------------------+----------+--------------------+--------------------+---------+

查看版本:

> show global status like '%audit%';
+------------------------+-----------+
| Variable_name          | Value     |
+------------------------+-----------+
| Audit_protocol_version | 1.0       |
| Audit_version          | 1.1.4-725 |
+------------------------+-----------+

开启Audit功能:

> SET GLOBAL audit_json_file=ON;
Query OK, 0 rows affected (0.00 sec)

执行任何语句(默认会记录任何语句,有语法错误的不会记录),然后去mysql数据目录查看mysql-audit.json文件(默认为该文件)。

插入一些数据,查看一下mysql-audit.json文件信息(json格式)该文件保存在 /data/mysql目录下,如下:

{"msg-type": "activity","date": "1510038432019","thread-id": "43","query-id": "1891","user": "root","priv_user": "root","ip": "","host": "localhost","connect_attrs": {"_os": "linux-glibc2.5","_client_name": "libmysql","_pid": "4009","_client_version": "5.7.9","_platform": "x86_64","program_name": "mysql"},"pid": "4009","os_user": "root","appname": "mysql","rows": "1","cmd": "insert","objects": [{"db": "part","name": "e","obj_type": "TABLE"}],"query": "insert into e values (9898,'smart','james')"
}

可以查看插件有哪些可配置的参数:

mysql>  SHOW GLOBAL VARIABLES LIKE '%audi%'; 

其中我们需要关注的参数有:

1. audit_json_file
是否开启audit功能。2. audit_json_log_file
记录文件的路径和名称信息(默认放在mysql数据目录下)。3. audit_record_cmds
audit记录的命令,默认为记录所有命令。可以设置为任意dml、dcl、ddl的组合。如:audit_record_cmds=select,insert,delete,update。还可以在线设置set global audit_record_cmds=NULL。(表示记录所有命令)4. audit_record_objs
audit记录操作的对象,默认为记录所有对象,可以用SET GLOBAL audit_record_objs=NULL设置为默认。也可以指定为下面的格式:audit_record_objs=,test.*,mysql.*,information_schema.*。5. audit_whitelist_users
用户白名单。

详细的参数说明,可以直接访问官方说明:

https://github.com/mcafee/mysql-audit/wiki/Configuration

#最后为了保证重启数据库,配置不丢失,修改my.cnf 配置文件,将下面的配置添加到[mysqld]中,所以在配置文件中my.cnf加入参数:
vim /etc/my.cnf
#保证mysql重启后自动启动插件
audit_json_file=on  
#防止删除了插件,重启后又会加载
plugin-load=AUDIT=libaudit_plugin.so  
#要记录哪些命令语句,因为默认记录所有操作;
audit_record_cmds='insert,delete,update,create,drop,alter,grant,truncate'#保存重启即可看到效果。

插件卸载

直接执行 UNINSTALL PLUGIN AUDIT 卸载会报错:

> uninstall plugin AUDIT;
ERROR 1148 (42000): Uninstall AUDIT plugin disabled> set audit_uninstall_plugin=on;
ERROR 1238 (HY000): Variable 'audit_uninstall_plugin' is a read only variable

需要在 my.cnf 中 [mysqld] 下添加 audit_uninstall_plugin=1,重启mysql。重启完毕后执行两次 UNINSTALL PLUGIN AUDIT; 即可卸载。

> UNINSTALL PLUGIN AUDIT;
ERROR 1620 (HY000): Uninstall AUDIT plugin must be called again to complete
> UNINSTALL PLUGIN AUDIT;
Query OK, 0 rows affected, 1 warning (0.01 sec)

卸载完成后需要从 my.cnf 中删除 audit_uninstall_plugin=1 ,否则下次mysql启动会报错:[ERROR] /data/mysql/bin/mysqld: unknown variable ‘audit_uninstall_plugin=1’

链路追踪组件Zipkin+Sleuth

  • 原理
1、sleuth收集跟踪信息通过http请求发送给zipkin server
2、zipkin server进⾏跟踪信息的存储以及提供Rest API即可
3Zipkin UI调⽤其API接⼝进⾏数据展示默认存储是内存,可也⽤mysql或者elasticsearch等存储
  • 持久化配置:mysql或者elasticsearch
#启动jar包
nohup java -jar zipkin-server-2.12.9-exec.jar --STORAGE_TYPE=mysql --MYSQL_HOST=192.168.1.6 --MYSQL_TCP_PORT=3306 --MYSQL_DB=zipkin_log --MYSQL_USER=root --MYSQL_PASS=root &#访问
http://ip:9411
[order-service,96f95a0dd81fe3ab,852ef4cfcdecabf3,false]第⼀个值,spring.application.name的值第⼆个值,96f95a0dd81fe3ab ,sleuth⽣成的⼀个ID,叫Trace ID,⽤来标识⼀条请求链路,⼀条请求链路中包含⼀个Trace ID,多个Span ID第三个值,852ef4cfcdecabf3、spanid 基本的⼯作单元,获取元数据,如发送⼀个http第四个值:false,是否要将该信息输出到zipkin服务中来收集和展示。
  • 各个微服务添加依赖
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
spring:application:name: api-gatewayzipkin:base-url: http://127.0.0.1:9411/ #zipkin地址discovery-client-enabled: false #不⽤开启服务发现sleuth:sampler:probability: 1.0 #采样百分⽐
默认为0.1,即10%,这⾥配置1,是记录全部的sleuth信息,是为了收集到更多的数据(仅供测试⽤)。在分布式系统中,过于频繁的采样会影响系统性能,所以这⾥配置需要采⽤⼀个合适的值。

Docker部署ZipKin

#拉取镜像
docker pull openzipkin/zipkin:latest
#查看镜像
docker images
#启动Nacos
docker run --name xdclass-zipkin -d -p 9411:9411 镜像id
#查看日志
docker logs -f id

Flink WebUI可视化界⾯

  • nc命令介绍
    • Linux nc命令⽤于设置⽹络路由的

    • nc -lk 8888

    • 开启 监听模式,⽤于指定nc将处于监听模式, 等待客户端来链 接指定的端⼝

  • linux 安装(二选一)
    • yum install -y netcat
    • yum install -y nc
  • 访问 IP:8081
  • 查看端口的进程 lsof -i:8081

Flink安装

#解压
tar -zxvf flink-1.13.1-bin-scala_2.12.tgz
#修改配置文件 conf目录 flink-conf.yaml
#web ui 端⼝
rest.port=8081
#调整,我的机器是2、4、8g都有的,⼤家最好买4g或者8g
jobmanager.memory.process.size: 1000m
taskmanager.memory.process.size: 1000m
#启动 进入bin目录 
./start-cluster.sh
#停⽌ 
./stop-cluster.sh
#查看进程 jps
TaskManagerRunner
StandaloneSessionClusterEntrypoint
#访问
http://ip:8081

测试

#创建文件
cd /usr/local/software/flink/examples
mkdir source
cd source
vim xdclass_source.txt
#写入内容
java xdclass
springboot springcloud
html flink
springboot redis
java flink
kafka flink
java springboot#bin目录运行
./flink run /usr/local/software/flink/examples/batch/WordCount.jar --input \
/usr/local/software/flink/examples/source/xdclass_source.txt --output \
/usr/local/software/flink/examples/source/xdclass_result.txt

Docker安装Flink

Docker安装clickhouse

#创建文件夹和文件 -v参数不会报错
mkdir -p /mydata/docker/clickhouse/conf#部署服务端 最新版本
docker run -d --name xdclass_clickhouse4 --ulimit nofile=262144:262144 \
-p 8123:8123 -p 9000:9000 -p 9009:9009 --privileged=true \
-v /mydata/docker/clickhouse/log:/var/log/clickhouse-server \
-v /mydata/docker/clickhouse/data:/var/lib/clickhouse yandex/clickhouse-server#部署服务端 指定版本
docker run -d --name xdclass_clickhouse4 --ulimit nofile=262144:262144 \
-p 8123:8123 -p 9000:9000 -p 9009:9009 --privileged=true \
-v /mydata/docker/clickhouse/log:/var/log/clickhouse-server \
-v /mydata/docker/clickhouse/data:/var/lib/clickhouse yandex/clickhouse-server:20.8.19.4#默认http端⼝是8123,tcp端⼝是9000, 同步端⼝9009#进入容器
docker exec -it 容器id /bin/bash
#连接
clickhouse-client --host 容器ip,默认是当前节点
#查看数据库
show databases;

Docker安装RabbitMQ

#拉取镜像
docker pull rabbitmq:3.8.12-management-alpinedocker run -d --hostname rabbit_host1 --name xd_rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=password -p 15672:15672 -p 5672:5672 rabbitmq:3.8.12-management-alpine#介绍
-d 以守护进程方式在后台运行
-p 15672:15672 management 界面管理访问端口
-p 5672:5672 amqp 访问端口
--name:指定容器名
--hostname:设定容器的主机名,它会被写到容器内的 /etc/hostname 和 /etc/hosts,作为容器主机IP的别名,并且将显示在容器的bash中-e 参数RABBITMQ_DEFAULT_USER 用户名RABBITMQ_DEFAULT_PASS 密码
4369 erlang 发现口5672 client 端通信口15672 管理界面 ui 端口25672 server 间内部通信口#访问
ip:15672

cd /usr/local/software/flink/examples
mkdir source
cd source
vim xdclass_source.txt
#写入内容
java xdclass
springboot springcloud
html flink
springboot redis
java flink
kafka flink
java springboot

#bin目录运行
./flink run /usr/local/software/flink/examples/batch/WordCount.jar --input
/usr/local/software/flink/examples/source/xdclass_source.txt --output
/usr/local/software/flink/examples/source/xdclass_result.txt


## Docker安装Flink# Docker安装clickhouse```shell
#创建文件夹和文件 -v参数不会报错
mkdir -p /mydata/docker/clickhouse/conf#部署服务端 最新版本
docker run -d --name xdclass_clickhouse4 --ulimit nofile=262144:262144 \
-p 8123:8123 -p 9000:9000 -p 9009:9009 --privileged=true \
-v /mydata/docker/clickhouse/log:/var/log/clickhouse-server \
-v /mydata/docker/clickhouse/data:/var/lib/clickhouse yandex/clickhouse-server#部署服务端 指定版本
docker run -d --name xdclass_clickhouse4 --ulimit nofile=262144:262144 \
-p 8123:8123 -p 9000:9000 -p 9009:9009 --privileged=true \
-v /mydata/docker/clickhouse/log:/var/log/clickhouse-server \
-v /mydata/docker/clickhouse/data:/var/lib/clickhouse yandex/clickhouse-server:20.8.19.4#默认http端⼝是8123,tcp端⼝是9000, 同步端⼝9009#进入容器
docker exec -it 容器id /bin/bash
#连接
clickhouse-client --host 容器ip,默认是当前节点
#查看数据库
show databases;

Docker安装RabbitMQ

#拉取镜像
docker pull rabbitmq:3.8.12-management-alpinedocker run -d --hostname rabbit_host1 --name xd_rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=password -p 15672:15672 -p 5672:5672 rabbitmq:3.8.12-management-alpine#介绍
-d 以守护进程方式在后台运行
-p 15672:15672 management 界面管理访问端口
-p 5672:5672 amqp 访问端口
--name:指定容器名
--hostname:设定容器的主机名,它会被写到容器内的 /etc/hostname 和 /etc/hosts,作为容器主机IP的别名,并且将显示在容器的bash中-e 参数RABBITMQ_DEFAULT_USER 用户名RABBITMQ_DEFAULT_PASS 密码
4369 erlang 发现口5672 client 端通信口15672 管理界面 ui 端口25672 server 间内部通信口#访问
ip:15672
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. JVM(五):类文件结构

    平台无关性Class类文件的结构Class的数据类型无符号数表魔数与Class文件的版本常量池CONSTANT_Class_infoCONSTANT_Utf8_infoCONSTANT_Integer_infoCONSTANT_Float_infoCONSTANT_Long_infoCONSTANT_Double_infoCONSTANT_String_infoCONSTANT_Fieldref_infoCONSTANT_Methodref_i…...

    2024/4/18 5:17:58
  2. 攻防世界-如来十三掌

    一看就是佛语&#xff0c;可以用“与佛论禅”解密 第一反应是base64&#xff0c;但是解码失败了 试过很多密码都没有用&#xff0c;后来想到“十三掌”&#xff0c;试试用rot13&#xff0c;或者凯撒密码转13位 但是仍然没有用&#xff0c;后面发现还是要用base64...

    2024/5/2 0:26:58
  3. 【机器学习|数学基础】Mathematics for Machine Learning系列之图论(2):图的矩阵表示

    目录 前言系列文章1.3 图的矩阵表示1.3.1 邻接矩阵无向图的邻接矩阵小结有向图的邻接矩阵小结加权有向图的带权邻接矩阵1.3.2 关联矩阵无向图的关联矩阵有向图的关联矩阵1.3.3 边矩阵结语前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢...

    2024/4/15 19:50:48
  4. C#第一周的学习内容

    C#入门C#的程序结构C#的数据类型数据的显式转换和隐式转换C#周编程总汇本周总结C#的程序结构 C#编程开头一定为using 某空间&#xff0c;意为引用命名空间 接着要有命名空间的声明&#xff08;一个项目中可以有多个命名空间&#xff0c;一个类只能有一个&#xff09; 接着要创…...

    2024/4/15 19:50:48
  5. iTerm2安装目录提示和补全插件incr

    incr 是一个目录提示和补全插件。 mkdir ~/.oh-my-zsh/custom/plugins/incr cd ~/.oh-my-zsh/custom/plugins/incr wget -O incr-0.2.zsh http://mimosa-pudica.net/src/incr-0.2.zsh # wget -O ~/.oh-my-zsh/plugins/incr/incr-0.2.zsh http://mimosa-pudica.net/src/incr-0…...

    2024/4/19 7:51:18
  6. 2021-10-29 visual Foxpro连接数据库sql_server并且执行sql语句

    打开vf工具&#xff0c;创建一个程序&#xff0c;然后复制黏贴以下代码 *-- 建立连接 lcDSNLess"driverSQL Server;serverlocalhost;uidSA;pwd你的密码;DATABASE你的数据库" * 声明变量 Public con * 测试是否成功连接 con Sqlstringconnect(lcDSNLess) If con <…...

    2024/4/16 2:37:06
  7. 运维学习笔记10补充——Linux中的网桥设置

    先删除已有网桥&#xff0c;恢复默认的网卡设置。 此时主机只剩下一个ifcfg配置文件&#xff0c;对其进行更改 注意&#xff1a;decice的设备名称为真实存在设备名称&#xff0c;每台主机不同&#xff0c;需要用ifconfig查看 设置完成后保存&#xff0c;然后重新加载两个br0&…...

    2024/4/15 19:50:48
  8. L1-026 I Love GPLT (5 分)

    这道超级简单的题目没有任何输入。 你只需要把这句很重要的话 —— “I Love GPLT”——竖着输出就可以了。 所谓“竖着输出”&#xff0c;是指每个字符占一行&#xff08;包括空格&#xff09;&#xff0c;即每行只能有1个字符和回车。 输入样例&#xff1a; 无 结尾无空…...

    2024/4/5 7:42:36
  9. 防撞基站接线说明

    防撞基站支持2路继电器输出&#xff0c;2路继电器可以单独设置距离控制&#xff0c;每一路可以输出常开和常闭&#xff0c;默认情况下我司只接继电器1&#xff0c;如需要继电器2可自行引出&#xff0c;设备供电支持DC12~24宽电压供电。如下图所示 接线说明&#xff08;如下图所…...

    2024/4/18 2:24:24
  10. 【剑指Offer打卡】24.反转链表

    剑指Offer 24.反转链表 JavaScript剑指Offer题解 &#x1f680;包含数组、对象、链表、堆栈、树等经典题型 ☕️每天一道&#xff0c;轻松不累 &#x1f4ac;详细的题目解析&#xff0c;收藏方便阅读 &#x1f64f;在线star地址 在线阅读地址 在线阅读地址 题目描述 定义一个…...

    2024/4/30 9:13:53
  11. 论文研读(三)

    Online Collective Matrix Factorization Hashing for Large-Scale Cross-Media Retrieval 2020 SIGIR Di Wang XiDian University 概要 通过开发一种高效的在线优化方法&#xff0c;将CMFH扩展为在线学习模式。它增量地更新哈希函数以适应多模态数据流的变化&#xff0c;同…...

    2024/4/15 19:50:53
  12. Android五大布局之一表格布局(TableLayout)

    一.TableLayout(表格布局)常用属性: android:collapseColumns:设置需要被隐藏的列的序号 android:shrinkColumns:设置允许被收缩的列的列序号 android:stretchColumns:设置运行被拉伸的列的列序号 以上这三个属性的列号都是从0开始算的,比如shrinkColunmns = “2”,对应的是第…...

    2024/4/29 10:00:21
  13. leetcode 1560. Most Visited Sector in a Circular Track

    leetcode 1560原题题目大意及思路代码运行截图收获原题 题目大意及思路 题目大意&#xff1a; 给定一个正整数n&#xff0c;和一个rounds数组。n代表马拉松的站点标号为1-N&#xff0c;rounds数组的意义&#xff1a;第i段路程的起点为rounds[i-1]&#xff0c;终点为rounds[i]。…...

    2024/4/20 5:21:38
  14. python实现九九乘法表

    print(九九乘法表&#xff1a;) for x in range(1,10):for y in range(1,x1):# for y in range(1,10):print(x,*,y,"",x*y,end\t)print()print(九九乘法表倒序&#xff1a;) for x in range(9,0,-1): #987654321# print(x,end)for y in range(1,x1):print(x,*,y,&qu…...

    2024/4/20 16:48:22
  15. 【华为机试】公共子串计算

    描述 给定两个只包含小写字母的字符串&#xff0c;计算两个字符串的最大公共子串的长度。 注&#xff1a;子串的定义指一个字符串删掉其部分前缀和后缀&#xff08;也可以不删&#xff09;后形成的字符串。 数据范围&#xff1a;字符串长度&#xff1a;1 < s < 150 进…...

    2024/4/6 6:21:03
  16. DES加解密(详细的加密流程)

    DES介绍一、置换&#xff08;IP置换&#xff09;1.初始置换二、具体步骤1.秘钥初始化2.16轮迭代DES解密介绍 IBM公司成立了研究新密码体制的小组&#xff0c;由Tuchman博士领导&#xff0c;Horst. Feistel进行设计完成了Lucifer 密码。美国国家标准局NBS(美国标准技术研究所NI…...

    2024/4/15 19:51:43
  17. 和海草一起学C语言---一看就懂的选择、循环语句和数组

    ⭐️前言⭐️ 今天继续带大家一起初识C语言。接着上一节内容&#xff0c;今天主要认识一下选择语句、循环语句 and 数组。周五想偷懒&#xff0c;不是&#xff0c;想学习&#xff0c;怎么能浪费大学的美好时光呢&#x1f60f; 一、选择语句&#x1f420; &#x1f43b; 正所谓…...

    2024/4/20 13:58:50
  18. 网络时间服务器的编写

    NTP全称Network Time Protocol&#xff0c;即网络时间同步协议 NTP服务端: import socket from time import strftime ip_port (127.0.0.1, 9000) buf_size 1024 s socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.bind(ip_port) while True:msg, addr s.recvfrom(bu…...

    2024/4/28 3:44:26
  19. MySQL 高阶语句之函数存储

    目录一、数据库函数1. 数学函数2. 聚合函数3. 字符串函数4. 日期时间函数二、存储过程1. 概述2. 存储过程的优点3. 操作流程4. 存储过程的参数5. 修改存储过程6. 删除存储过程一、数据库函数 1. 数学函数 数据库内存储的记录&#xff0c;经常要进行一系列的算术操作&#xff…...

    2024/4/24 5:12:18
  20. Hive参数优化

    此教程中关于Hive的优化&#xff0c;皆是基于Hive2.x的版本&#xff0c;对于Hive1.x旧版本的优化机制不再复述&#xff08;新版本已改善或变更&#xff09;。另外新版本中默认为开启状态的优化配置项&#xff0c;在工作中无需修改&#xff0c;也不再复述。 一、HDFS副本数 配…...

    2024/4/15 19:51:38

最新文章

  1. ZABAPGIT问题,导入github上的程序包时报 DBSQL_DUPLICATE_KEY_ERROR

    跟踪程序发现在94050行 INSERT seocompotx FROM TABLE it_descriptions 报的错 刚开始&#xff0c;不想着改动他&#xff0c;把seocompotx 表的数据做下指定清楚&#xff0c;但是5次清楚后&#xff0c;果断注释掉 改成 MODIFY seocompotx FROM TABLE it_descriptions。 在用…...

    2024/5/2 1:39:44
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 汽车统一诊断服务UDS协议参考文章和视频

    UDS基础知识介绍-电子发烧友网 【图解UDS】UDS汽车诊断标准协议&#xff08;ISO14229&#xff09;带你入门到精通-有驾 车载测试之UDS诊断协议9&#xff1a;0x27服务&#xff1a;解锁ECU_哔哩哔哩_bilibili UDS诊断的22服务&#xff08;DID读取数据&#xff09;和2E服务&…...

    2024/4/29 23:11:44
  4. ChatGPT 初学者指南

    原文&#xff1a;ChatGPT for Beginners 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 介绍 如果您一直关注新闻和趋势&#xff0c;您可能已经在某个地方读到或听到过&#xff0c;Sam Altman 的生成式人工智能平台 ChatGPT 已经将人工智能推向了一个新的高度 - 许多…...

    2024/5/1 13:17:51
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/30 18:14:14
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/30 18:21:48
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/30 9:43:22
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57