防火墙使用教程:https://www.cnblogs.com/crazycode2/p/11173591.html
通过systemctl status firewalld查看firewalld状态
通过systemctl start firewalld开启防火墙,没有任何提示即开启成功
再次通过systemctl status firewalld查看firewalld状态,显示active(running)即已开启了
如果要关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能,没有任何提示则关闭成功
开启端口,再次执行执行firewall-cmd --permanent --zone=public --add-port=27017/tcp --permanent,提示success,
查看端口,执行firewall-cmd --permanent --query-port=27017/tcp,提示yes,即查询成功
重启防火墙,执行firewall-cmd --reload,提示success即执行成功

安装jdk

1.官网下载linux解压包 jdk-8u231-linux-x64.tar.gz
2.将包上传到linux服务器 root目录下
3.解压 tar -zxvf jdk-8u231-linux-x64.tar.gz -C /usr/local (解压到usr/local 目录下)
4.配置环境变量,vim /etc/profile 在文件末尾添加
export JAVA_HOME=/usr/local/jdk1.8.0_231

export PATH=PATH:PATH:PATH:JAVA_HOME/bin

export CLASSPATH=.:JAVAHOME/jre/lib/rt.jar:JAVA_HOME/jre/lib/rt.jar:JAVAH​OME/jre/lib/rt.jar:JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
5.刷新配置文件,立即生效 source /etc/profile
6。完成,java -version查看版本,若出现版本信息,执行7步
------解决linux下source /etc/profile关闭终端失效问题
7.关闭窗口,然后在进来执行java -version 看环境变量是否失效,若失效,在root家目录找到 .bashrc文件,配置环境变量,然后在执行source /etc/profile
然后java -version查看版本 ,若启效果,关掉窗口,进来再次执行java -version查看版本

Linux maven 安装

1.下载 wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz 到root目录
2.解压到usr/local 目录下 tar -zxvf apache-maven-3.6.1-bin.tar.gz -C /usr/local
3.vim etc/profile 配置环境变量添加
export MAVEN_HOME=/usr/local/apache-maven-3.6.1
export PATH=PATH:PATH:PATH:JAVA_HOME/bin:MAVENHOME/bin(新增:MAVEN_HOME/bin (新增:MAVENH​OME/bin(新增:MAVEN_HOME/bin)
4.刷新配置文件,立即生效 source /etc/profile
5.mvn -v 查看maven版本,是否安装成功
6.在maven 安装目录下新建 mavenRepository目录作为maven本地仓库(解压目录下顺便给仓库权限 chmod 777 mavenRepository/ 不给权限仓库无法使用)
7.打开maven解压目录下conf下的settings.xml 中配置maven本地仓库 /usr/local/apache-maven-3.6.1/mavenRepository
8.配置阿里云仓库地址 标签中

alimaven

aliyun maven

http://maven.aliyun.com/nexus/content/groups/public/

central

linux 安装git

1.,root目录执行下载,命令为: wget https://github.com/git/git/archive/v2.17.0.tar.gz
2.压缩包解压,命令为: tar -zxvf v2.17.0.tar.gz
3.安装编译源码所需依赖,命令为: yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker 耐心等待安装,出现提示输入y即可;
4.安装依赖时,yum自动安装了Git,需要卸载旧版本Git,命令为: yum remove git 出现提示输入y即可;
5.进入解压后的文件夹,命令 cd git-2.17.0 ,然后执行编译,命令为 make prefix=/usr/local/git all 耐心等待编译即
6.安装Git至/usr/local/git路径,命令为 make prefix=/usr/local/git install ;
7.打开环境变量配置文件,命令 vim /etc/profile ,在底部加上Git相关配置信息:
export PATH=$PATH:/usr/local/git/bin
8.刷新配置source /etc/profile
9…输入命令 git --version ,查看安装的git版本,校验通过,安装成功。
10.关联远程githup
git config --global user.name “liuyanjun”
git config --global user.email “953038659@qq.com”
git config --global core.autocrlf false
git config --global gui.encoding utf-8
ssh-keygen -t rsa -C “953038659@qq.com”
一路回车完成以后,将root/.ssh目录中的id_sra.pus中内容复制粘贴到githup settings中

linux 安装nginx

上传nginx tar包到root目录下
安装必要的依赖:yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
解压完成之后,cd到 解压出来的目录 cd nginx-1.6.2/
执行初始配置:./configure ./configure --with-http_ssl_module 安装ssl 模块 https
编译安装 make install 默认会安装到/usr/local/nginx/
安装成功,启动,cd 到安装目录 /usr/local/nginx/sbin/ 执行 ./nginx 启动nginx (注意 开启阿里80端口,已经防火墙端口)
查看nginx 是否启动
启动ngin /usr/local/nginx/sbin/ 执行 ./nginx
停止nginx /usr/local/nginx/sbin/ 执行 ./nginx -s stop
查看进程命令: ps -ef | grep nginx

mysql 安装 《安装教程直通车—靠谱老铁》https://blog.csdn.net/qq_38591756/article/details/82958333

  1. cd root目录
  2. 下载mysql rpm包 wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
  3. 安装源 yum localinstall mysql80-community-release-el7-1.noarch.rpm
  4. 检测是否安装成功 yum repolist enabled | grep “mysql.-community.
  5. 安装MySQL yum install mysql-community-server
  6. 启动MySQL systemctl start mysqld 或者 service mysqld start
  7. 查看mysql 启动状态 systemctl status mysqld 或者 service mysqld status
  8. 设置开机自启 systemctl enable mysqld 刷新 systemctl daemon-reload
  9. 如何进入mysql?默认密码是什么? 通过 grep ‘temporary password’ /var/log/mysqld.log 查看mysql ront 默认密码进行登陆
  10. 开始登陆 mysql -uroot -p 回车输入密码
  11. 更改root 的密码 ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘Feienman@123456’; 注意!!!密码必须大小写加数组,符号,太简单会报错,mysql有密码级别检测
  12. 修改mysql 可远程访问 ,默认本机访问。 update user set host=’%’ where user =‘root’;
  13. 刷新配置 flush privileges;
    14 exitt 退出mysql客户端

===============================================================================================================

linux tomcat8.5的安装

  1. 官网下载 apache-tomcat-8.5.47.tar.gz 上传到root目录
    2.解压 tar -zxvf apache-tomcat-8.5.47.tar.gz -C /usr/local (解压到usr/local 目录下)
    3.cd 到bin目录下 ./startup.sh 启动tomcat(前提条件jdk必须以安装成功)停止 ./shutdown.sh (都必须进入解压目录下的bin目录,执行命令)
  2. netstat -antp 命令查看tomcat端口是否启动成功,若ok,浏览器访问 http://122.51.212.154:8080/
    5.tomcat 配置可以自行在server.xml 配置
    6.设置tomcat开机启动(配置完成重启服务器)
    找到/etc文件夹下的rc.local文件(有的是在/etc/rc.d文件夹下),在文件的最后添加以下java环境变量和启动tomcat命令:
    export JAVA_HOME=/usr/local/jdk1.8.0_231

export PATH=PATH:PATH:PATH:JAVA_HOME/bin
sh /usr/local/apache-tomcat-8.5.47/bin/startup.sh(启动命令,可以配置多条)
给rc.local文件添加执行权限
chmod +x /etc/rc.d/rc.local

安装jenkins

上传jenkins rpm包到root目录
rpm -ivh jenkins包进行安装

修改配置jenkin 用户名,默认为jenkins 和jenkins端口 在/etc/sysconfig/jenkins
如果不改用户名,需要在服务器创建jenkins用户
JENKINS_USER=“root”
JENKINS_PORT=“2000”

1.阿里安全组开发端口,
2.防火墙开放端口,
开启端口,再次执行执行firewall-cmd --permanent --zone=public --add-port=27017/tcp --permanent,提示success,
3.重启防火墙
重启防火墙,执行firewall-cmd --reload,提示success即执行成功

4.配置java 打开配置文件 /etc/rc.d/init.d/jenkins 将自己jdk的路径放进去 文件中搜索关键字“candidates”例如: /usr/local/jdk1.8.0_231/bin/java 到bin目录下的java,wq保存退出

5.执行 systemctl daemon-reload 刷新配置文件
6.执行 service jenkins start 启动jenkins 然后ip 端口访问 即可

友情提示启动报错: Job for jenkins.service failed because the control process exited with error code. See “systemctl status jenkins.service” and “journalctl -xe” for details.
原因:/etc/rc.d/init.d/jenkins 中读取不到java环境

若遇到jenkins 启动但是访问不了,service jenkins status 查看状态 ,若下面两行有值,说明是起来了,为0说明没有启动,去查看/var/log/ 是否有jenkins 文件夹,以及目录下是否有jenkins.log文件,没有创建,然后service jenkins start在启动jenkins,检测是否有值,(遇到没有日志文件,起不来的情况)
Tasks: 56
Memory: 1.6G

至此安装完成

更改jenkins 清华大学源
cd /var/lib/jenkins/updates/
执行
sed -i ‘s/http://updates.jenkins-ci.org/download/https://mirrors.tuna.tsinghua.edu.cn/jenkins/g’ /var/lib/jenkins/updates/default.json && sed -i ‘s/http://www.google.com/https://www.baidu.com/g’ default.json

jenkins 管理页面,插件—》高级 ----最下面 升级站点 设置下面地址 清华大学源

http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

jenkin 配置

  1. 全局工具配置 配置jdk安装目录 /usr/local/jdk1.8.0_231 ,maven安装目录 /usr/local/apache-maven-3.6.2 注意!!!git配置坑:正确配置为:git 安装目录下面的bin目录下面的git 例如:/usr/local/git/bin/git
    2.全局凭证配置:用来拉取git代码采用ssh方式:将服务器git公钥拷贝到远程git服务器(比如gitlab,hup等等)的个人设置的ssh中(安装git会生成公私钥文件,在root目录,.ssh目录下),然后将私钥配置到jenkins中,在构建项目选择git方式,拉取代码的凭证
    公钥:id_sra.pus 文件 私钥:id_rsa 文件

3.系统配置:全局属性:环境变量下配置:,配错会有黄色的提示
JAVA_HOME /usr/local/jdk1.8.0_231
M2_HOME /usr/local/apache-maven-3.6.2
PATH+EXTRA $M2_HOME/bin

jenkin 远程连接服务器,启动容器,需要配置ssh远程连接,具体如下步骤:

配置Publish over SSH
首先jenkins 安装ssh插件,
然后服务器配置ssh公钥,配置完成,在jenkins配置 私钥 ssh ,例如本例需要jenkins ssh 连接 本机器(jenkins所在机器,也需要配置ssh公钥,如果jenkins需要连接其他服务器,操作是一样的,具体操作如下)
1.在jenkins所在机器上执行:ssh-copy-id 服务ip (将公钥拷贝到对应的服务器,输入yes),然后在jenkins进行配置ssh,测试连接
在安装完插件 Publish over SSH 在系统配置点进去,拉到最下面找到 Publish over SSH 进行配置,Path to key 和key 选中其一配置即可,前者是私钥具体路径,后置为具体私钥

SSH Server
Name 随便写(不过后面会用到,根据name找的)

Hostname 具体ipUsername    root即可Remote Directory   路径 写跟路径即可  /

运行shell脚本,注意权限问题

jenkins 远程连接,pull 报错
报错:ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [126]] 权限不足,给文件chmod +x /root/jenkins-shell/* 权限

=====================================================================

安装Harbor 镜像仓库,需要先安装docker compose
执行:curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-uname -s-uname -m > /usr/local/bin/docker-compose
赋予执行权限:chmod +x /usr/local/bin/docker-compose
查看版本:docker-compose version 升级版本的话:先删除,在重新安装 sudo rm /usr/local/bin/docker-compose
接下来安装Harbor
将Harbor软件包上传到root目录
解压软件包:tar -zxvf 软件包 解压完成root家目录,会生成harbor 文件夹
然后在/usr/local/下创建 harbor目录,将root harbor目录下的文件转移过去,
mkdir harbor
root家目录执行:mv harbor/* /usr/local/harbor/
然后cd /usr/local/harbor/ 下
修改配置文件:harbor.yml 文件 更改 ip 和端口
执行:./prepare 安装harbor 所需要的镜像等。。。
完成之后,执行: ./install.sh 启动harbor
启动成功浏览器访问:ip加端口,默认账号 admin harbor12345

将harbor 追加到docker 可信任列表 修改 etc/docker/deamon.json ,以便之后下载,上传镜像
添加:{
“registry-mirrors”: [“https://t5pvs47y.mirror.aliyuncs.com”],
“insecure-registries”:[“harbor.io.chenhujia.com:2001”]
} 后面一行,前面是docker阿里镜像,修改完成,需要重启docker

====================================================================

docker pull harbor.io.chenhujia.com:2001/feynman-hospital/feynman-eureka:0.0.1-SNAPSHOT

docker pull harbor.io.chenhujia.com:2001/feynman-hospital/feynman-eureka:latest

===============================================================================================================================

centOs7 安装docker

step 1: 安装必要的一些系统工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Step 2: 添加软件源信息

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Step 3: 更新并安装Docker-CE

sudo yum makecache fast
sudo yum -y install docker-ce

Step 4: 开启Docker服务(centos7 用systemctl 命令)

sudo systemctl start docker
查看docker状态
systemctl status docker
停止docker服务
systemctl stop docker
重启docker服务
systemctl restart docker
开机自启docker
systemctl enable docker

docker --help 帮助命令

docker images 查看本地镜像 参数-a 包含内层镜像
docker search tomact dockerhup 仓库中查找镜像
docker pull tomcat 版本 拉取镜像,注意!不加版本默认拉latest 最新版
docker rmi mysql 删除镜像,不指定版本,默认删除latest
docker rmi -f mysql nginx 删除多个镜像,不指定版本,默认删除latest
docker run 镜像 利用镜像模板创建一个docker容器并运行,本地没有镜像会去仓库拉取,并启动
docker run -it 镜像 以前台交互的方式运行,(返回一个带容器id的终端命令行,操作容器)
exit 退出 Ctrl p+q 回到宿主机不退出容器 重新进入容器 docker attach 容器id
docker run -d 镜像 以后台的方式运行,(如果没有命令可执行,会自动退出)
docker run -it -p 8888:8080 tomcat -p映射容器端口 8888 代表linux 本机的端口,映射到容器中tomcat的8080 大写P 是随机分配linux映射端口
docker commit -m=“提交信息” -a=“作者” 容器id 镜像名:标签版本 创建镜像

docker run -d -p 8081:8080 jenkins 每次都是生成一个新的容器=new ();
docker ps 查看docker 运行的容器
docker ps -l 查看上一个docker 运行的容器
docker ps -a 查看所有容器
docker start 容器id 启动容器
docker restart 镜像名 重新启动容器
docker stop 容器名,或者容器id 停止容器
docker kill 容器id 强制停止
docker rm id 删除已停止的容器 多删后面加空格然后容器id
docker rm -f id 强制删除正在运行的容器
docker inspect b45fe60408d0 查看容器内源信息,包括镜像层级,数据卷挂载,网络等等
查看一个容器的详情 docker inspect 容器ID/容器别名

docker run -d --name jenkins -p 8081:8080 jenkins
docker exec -it 容器名称 /bin/bash 进入容器开启一个交互式终端 exit退出
数据卷挂载==============================================
使用-v命令添加数据卷 宿主机和容器sentos 建立连接 实现数据共享连接
docker run -it -v /sentosAA:/dockAA:ro 9f38484d220f /sentosAA宿主机路径 dockAA docker路径 9f38484d220f 镜像id ro只读,容器只可读(目录和冒号之间不能有空格,如果目录不存在会自动创建)

cat /var/jenkins_home/secrets/initialAdminPassword 查看jenkins初始密码
docker 启动redis 配置文件 注释掉#daemonize yes(一定注释,否则无法启动)注释掉bind 127.0.0.1 (远程才可以访问)

#!/bin/sh
docker run -p 6379:6379 --name redis -e TZ=“Asia/Shanghai” -v /data/docker-redis/conf/redis.conf:/etc/redis/redis.conf -v /data/docker-redis/data:/data --privileged=true -d redis redis-server /etc/redis/redis.conf --appendonly yes

#!/bin/sh
docker run -p 6379:6379 --privileged=true --name redis -e TZ=“Asia/Shanghai” -v $PWD/data:/data -d redis --appendonly yes

=========================================================
docker 网络
查看docker 网络相关命令帮助
docker network 会列出所有docker 网络相关的命令
例如:docker network ls 列出docker 所有网络
NETWORK ID NAME DRIVER SCOPE
afdc558aa42c bridge bridge local
e33908d96789 harbor_harbor bridge local
ad0b52378a58 host host local
6a8211109c8a none null local

docker 默认网络bridge桥接模式的docker0网卡,可以理解为路由器,所有容器都由docker0子网分发不同的ip给容器使用,默认docker0网卡,容器之间可以通过容器ip进行通信,但是不能通过容器名称进行通信

创建自定义网络便可通过容器名称进行通信,例如某项目镜像中需要连接redis容器,只要它们在同一个自定义网络中,变可根据容器名进行通信

docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

查看某个docker网络详细信息
docker network inspect xxx(某个docker网络name)例如:docker network inspect mynet

redis 笔记 ==========================================================================

下载安装
1.复制到root家目录 redis-5.0.5.tar.gz
2.解压 tar -zxvf redis-5.0.5.tar.gz
3 进入解压后目录 cd redis-5.0.5/ 下进行编译 make MALLOC=libc 完成后第四部
4. 将redis安装到指定目录,没有此目录会自动创建 make PREFIX=/usr/local/redis install
5.安装完成以后,进入对应的目录,会有一个bin目录,进入bin,会有redis的服务端,客户端,启动服务./redis-server 以及客户端的一些命令
6.配置redis.conf配置文件,redis安装以后都有一些默认配置,不过我们一般都会自己配置,回到解压redis的目录下,也就是第3步操作,cd redis-5.0.5/ 下
将redis.conf 复制一份到安装目录,也就是第5步,将文件放到和安装目录下,和的bin目录同一级
cp redis.conf /usr/local/redis
7.修改配置文件
bind :127.7.0.0 需要更改,redis默认绑定的端口,我们需要外部访问,所以需要把这个注释掉
daemonize no 默认不是以守护进程启动,改为yes,就会后台运行,不占用窗口
requirepass 123456 配置redis连接密码 设置密码以后客户端连接redis就需要密码 bin目录下./redis-cli -a 密码 进行连接redis(不设置也可以)
pidfile /var/run/redis_6379.pid 记录redis pid的文件目录
dbfilename dump.rdb redis保存数据的文件
ps -ef |grep -i redis 查看redis是否在运行

  1. 启动redis bin目录下 ./redis-server …/redis.conf 指定redis配置文件
    客户端连接redis服务器: bin目录下./redis-cli -a 密码
    关闭redis服务端 : 如果在bin目录下: ./redis-cli shutdown

    密码方式( ./redis-cli -a 123456 shutdown) 否则 ./bin/redis-cli shutdown (如果断电等非正常关闭,可能会导致数据丢失)
    退出redis客户端 :exit命令 或者是Ctrl +c
    查看redis是否运行 ps -ef |grep -i redis 查看redis是否在运行: ps aux | grep redis

配置开机自启etc/rc.d/rc.local中添加 /usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
9.redis默认设置的key都是永久的 可以通过ttl(返回给定可以的剩余时间) 查看 返回-1 代表永久 返回-2代表失效
(考虑到内存会满,根据业务需求把不常用的给key设置过期时间,减少内存压力,或者说根据redis内存淘汰策略,清除key)
del 命令删除指定的key 删除成功返回1 失败返回0
exists key 判断key是否存在 存在返回1 不存在返回 0
explre 给key 设置有效时间(重新使用set命令覆盖value,时间会失效,变为永久有效) 通过ttl查看(返回给定可以的剩余时间),如果失效,返回-2
setnx key 只有当key不存在时,设置key的值 成功返回1,如果key存在就失败,返回0(可实现分布式锁)
incr key 自增,如果当前key不存在,则初始化为1 ,后续每次执行 incr key自增1 (命令是原子操作)
decr key 自减 每次调用减1
incrby key 10 根据给定的数值增加
decrby key 10 根据给定的数值减
RDB
命令1.手动 save 讲数据刷到磁盘 做持久化,期间redis工作线程阻塞停止操作
bgsave 新启一个子线程进行写入磁盘,做持久化
2.save m n ,自动配置自动触发bgsave,redis.conf配置文件如下
m 代表秒 n代表几次,900秒内发生一次数据存储,就触发bgsave命令刷入到磁盘,三个时间点卡着,进行合理刷入
ave 900 1
save 300 10
save 60 10000

AOF

appendfsync always 每次收到命令就写入磁盘

appendfsync everysec 默认每秒强行写入磁盘一次

appendfsync no 直接不做写入

=============================================================================
redis主从复制读写分离配置 主写,从读(主节点挂掉会存在单机故障的问题,可升级为哨兵,或者集群解决)
redis.conf配置文件# slaveof ip 加端口 注意,需要关闭防火墙sentOs6的命令chkconfig iptables off(关闭开机自启,7的版本
redis启动会在配置文件中找这个配置,然后根据IP、端口,找到它的主机,连接到主机, 主机将会发起一起bgsave(内存同步到磁盘)
然后在将主机的数据拉过来进行同步。此机器为从节点,从节点只能读,不可以写,主节点可以读写

slaveof ip 加端口 注意,需要关闭防火墙sentOs6的命令chkconfig iptables off(关闭开机自启,7的版本命令有差异),# bind 127.0.0.1关掉

===============================================================================
redis 集群搭建---->至少三主三从
真集群需要六台机器,ip不同,端口相同
伪集群一台机器实现,IP相同,端口不同
1.创建redis集群目录 mkdir /usr/local/redis_cluster
2.在/usr/local/redis_cluster目录下创建7001-7006文件夹 mkdir 7001…
3.将redis-conf分别拷贝到7001-7006目录下 cp /usr/local/redis/redis.conf ./7001
4.分别修改每个配置文件:
protected-mode no
端口 port
redis存放pid文件路径 pidfile /var/run/redis_7001.pid
修改redis日志记录文件 logfile /usr/local/redis_cluster/7001/redis-7001.log
redis 数据存放的位置 dir /usr/local/redis_cluster/7001/
注释掉 bind 127.0.0.1 允许所有ip访问
cluster-enabled yes 注释去掉,启用集群
cluster-config-file nodes-7001.conf 配置每个节点的配置文件
cluster-node-timeout 15000 访问集群超时时间
5.然后将配置好的文件,复制到7002-6目录下
6.回到redis的解压目录,将目录下的src拷贝到7001-6 cp -r ./src /usr/local/redis_cluster/7001 …
7.依次启动redis 回到redis的集群目录 cd /usr/local/redis_cluster/
启动redis ./7001/src/redis-server ./7001/redis.conf
(以上步骤-------创建集群文件夹,分别创建6个redis实例,拷贝src目录以及redis.conf配置文件到相应目录下,以及配置文件的修改
至此6个redis节点启动成功,接下来正式开启搭建集群,以上都是准备条件)
=====创建集群redis5.0一下需要ruby来创建集群,,,,5.0以上不需要了
5.0 以上做法:将redis-cli 复制到/usr/local/bin 相当于环境变量,复制过去以后,用以下命令创建集群

redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas -a 123456(-a 为redis连接密码)

成功以后连接redis集群
redis-cli -h 127.0.0.1 -c -p 7001 -a 123456 -h代表host -c 代表集群 -p 代表连接到集群的哪个端口 -a 代表redis连接密码
info replication 查看当前节点信息
cluster nodes 查看所有节点信息

每个主节点都有一定存储数据的槽数,由所有主节点来平分总槽数,数据会被随机存储在某个槽内
(redis集群:自己内部会进行转发命令,从节点如果收到写操作会被随机转发到某个主节点,在某个主节点写数据也会随机转发到某个主节点)

========================================================================================
5.0以下 搭建集群看如下=============================(版本不同创建集群的方式不同)
8.将src目录下redis-trib.rb 复制到/usr/local/bin/ (bin目录相当于windos下的环境变量,可以在任意地方使用该命令)
redis提供的redis-trib.rb工具,可以创建集群
9.通过redis-trib.rb创建集群
redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006
报错 /usr/bin/env:ruby 解决安装ruby—yum -y install ruby ruby-devel rubygems rpm-build
在安装 gem install redis
报错 Error installing redis: redis requires Ruby version >= 2.3.0. 解决如下-------
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
安装rvm
curl -sSL https://get.rvm.io | bash -s stable (安装完,应该有usr/local/rvm目录)
查找安装的rvm
find / -name rvm -print
重新编译
source /usr/local/rvm/scripts/rvm
查看支持的ruby版本
rvm list known
安装2.2.5的ruby
rvm install 2.5.5
使用这个版本
rvm use 2.5.5
将这个版本设为默认的
rvm use 2.5.5 --default
查看ruby版本
ruby --version
最后在进行安装
gem install redis
安装完成以后创建集群(保证6个redis服务启动)
redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006

zookeeoer 安装==============================================================================
官网下载包zookeeper-3.4.14/
cd /usr/local
目录下创建zookeeper
将下载得包复制进来,
解压tar -zxvf zookeeper-3.4.1.tar.gz
3.
进入zookeeper目录创建data 以及logs

cd /usr/local/zookeeper-3.4.6

mkdir data

mkdir logs

4.将 zookeeper-3.4.6/conf 目录下的 zoo_sample.cfg 文件拷贝一份,命名为为zoo.cfg
cd conf
cp zoo_sample.cfg zoo.cfg

5.修改zoo.cfg文件

dataDir=/usr/local/zookeeper-3.4.6/data

dataLogDir=/usr/local/zookeeper-3.4.6/logs

6.启动zookeeper,通过查看线程测试是否安装成功
,在bin目录下
zkServer.sh start 开启
zkServer.sh status 查看状态
zkServer.sh stop 停止
ZooKeeper 的shlle命令
port cmd args
stat path [watch] 查看znode节点状态
set path data [version] 更新节点数据
ls path [watch] 查看节点 列如:ls/ ls /lyj 可以添加监听,监听事件为子节点变化事件 ,添加监听后面直接写watch,监听一次,只生效一次
delquota [-n|-b] path
ls2 path [watch]
setAcl path acl
setquota -n|-b val path
history 查看历史操作过的命令
redo cmdno
printwatches on|off
delete path [version]
sync path
listquota path
rmr path 删除节点
get path [watch] 获取节点信息 添加监听,监听事件为节点变化事件
create [-s] [-e] path data acl 创建节点 -e 代表临时节点,-s代表有编号节点,不加则反之持久,无编号
addauth scheme auth
quit 退出客户端连接
getAcl path
close
connect host:port

集群的搭建 启多台linux的zookeeper
配置:zoo.cof 配置文件增加   data下创建一个myid文件,三台分别写1,2,3,ip与myid一一对应,然后启动三台机器
启动以后会根据ip查找虚拟机,zoo.cfg配置文件中dataDir配置的路径,查找myid文件中的idserver.1=192.168.73.181:2888:3888server.2=192.168.73.182:2888:3888server.3=192.168.73.183:2888:3888解读:Server.A=B:C:DA 是一个数字,表示这个是第几号服务器B 是这个服务器的 ip 地址C 是这个服务器与集群中的 Leader 服务器交换信息的端口D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口
zkoopeeer  监听事件 1. znode节点数据被修改2.znode节点创建3.znode节点删除4.znode子节点发生变化
添加监听sell命令 1. ls path [watch]  子节点添加监听   getChildren() 2. get path [watch]   本节点内容变化  getData()exists()触发监听:创建,set,delete
#退出并保存
先按ESC键,输入:wq!回车

zookeeper的应用:分布式系统中数据的一致性。主要是围绕它的文件系统,和监听机制进行的,

  •  1.比如说在分布式文件系统中,多台服务器去连接zookeeper
    

*, 他们都可以看作是zookeeper的客户端,如果一台服务器更改了文件名,那么就可以在zookeeper创建一个znode节点,

  •  其他客户端主要监听这个节点就可以做到及时同步的问题,也可以避免文件重复命名,持久无编号的znode节点
    
  •  2.配置文件管理
    
  •  3.分布式锁客户端可以创建临时节点,当客户端会话终止或超时后Zookeeper会自动删除临时节点。该特性可以用来避免死锁。检查锁节点是否已经创建,若未创建则尝试创建一个临时节点若临时节点创建成功说明已成功加锁。若持有锁的客户端崩溃或网络异常无法维持Session,锁节点会被删除不会产生死锁。若临时节点创建失败说明加锁失败,等待加锁。watch锁节点exists事件,当接收到节点被删除的通知后再次尝试加锁。因为Zookeeper中的Watch是一次性的,若再次尝试加锁失败,需要重新设置Watch。2:时序锁:创建一个永久节点作为锁节点,试图加锁的客户端在锁节点下创建临时顺序节点。Zookeeper会保证子节点的有序性。若锁节点下id最小的节点是为当前客户端创建的节点,说明当前客户端成功加锁。否则加锁失败,订阅上一个顺序节点。当上一个节点被删除时,当前节点为最小,说明加锁成功。操作完成后,删除锁节点释放锁。该方案每次锁释放时只需要通知一个客户端,避免惊群现象发生。
    

该方案的特征是优先排队等待的客户端会先获得锁,这种锁称为公平锁。而锁释放后,所有客户端重新竞争锁的方案称为非公平锁。
操作完成后,删除锁节点释放锁。

  •  4.分布式列队
    

================================================================================================================
rabbitmq 安装,照着步骤走就完事了
注意!!!--------》》》防火墙和阿里安全组配置

说明: 由于RabbitMQ是基于Erlang语言开发, 所以在安装RabbitMQ之前, 需要先安装Erlang,
rabbitmq需要socat依赖, 所以需要先安装socat

下载erlang:
wget http://www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm

安装erlang:
rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm

下载socat:
wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm

安装socat:
rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm

下载rabbitmq:
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm

安装rabbitmq:
rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm

设置开机启动:
chkconfig rabbitmq-server on

开启rabbitmq服务:
service rabbitmq-server start

启用web管理插件:
rabbitmq-plugins enable rabbitmq_management

设置远程访问登录:
cd /etc/rabbitmq

                 touch rabbitmq.configvim rabbitmq.config

写入: [{rabbit, [{loopback_users, []}]}].

重启rabbitmq : service rabbitmq-server restart

查看rabbitmq插件列表: rabbitmq-plugins list
查看rabbitmq服务状态:
service rabbitmq-server status

启动服务:
service rabbitmq-server start

停止服务:
service rabbitmq-server stop

重启服务:
service rabbitmq-server restart

设置开机启动:
chkconfig rabbitmq-server on

开启管控台:
rabbitmq-plugins enable rabbitmq_management

关闭管控台:
rabbitmq-plugins disable rabbitmq_management


linux 软件安装笔记相关推荐

  1. Linux源代码软件安装,Linux软件安装:源代码与软件安装

    欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 Linux软件安装:源代码与软件安装 1 开源软件的一些基本概念 1.1 什么是开放源码,编译程序与可执行文件 可执行文件 ...

  2. Linux软件安装解决方案

     Linux软件安装解决方案 在linux中安装软件是一件并不算轻松的工作,有很多中解决方案供你选择,但需要的是你的一点点耐心与智慧!下面我将就Linux中最常见的安装方式,由浅入深的逐一做简单介绍与 ...

  3. Linux软件安装——安装软件的命令

    Linux软件安装--安装软件的命令 摘要:本文主要学习了如何在Linux系统中安装.更新.卸载软件. rpm命令 rpm命令用来在Linux系统上进行软件的安装. 基本语法 安装命令: 1 rpm ...

  4. linux软件安装管理

    Linux软件安装管理 TonyLinux系统工程师 难度初级  时长 3小时 6分  学习人数64016  综合评分9.8 收藏 上面是linux 的源代码安装包 linux有两种类型的软件安装方式 ...

  5. Linux软件安装方法小结

    Linux软件安装方法小结(附:rpm详解) 在使用Linux系统的过程中,软件包的安装是避免不了的,在Linux下,软件安装程序的种类很多,安装方法也各式各样,(舒适性自然比不上windows :- ...

  6. 【Linux】Linux软件安装和定时任务

    1.Linux软件安装 软件类型 软件的安装 RPM:Redhat序列特用的软件包 dpkg:debain序列特用的软件包 源码包:需要在Linux中进行编译安装 java maven c/C++ g ...

  7. dsc linux 软件安装_介绍一个linux各软件安装教程网站linuxize

    前言 相信有很多开发者安装linux系统软件时都会根据不同的发行版本去百度不同软件的安装步骤,但有时候可能会出现读者根据博主的安装步骤进行却出现了无法安装成功的情况,其实我作为一名读者有时也会出现这样 ...

  8. linux软件安装方法

    在Linux系统中,软件安装程序比较纷繁复杂,不过最常见的有两种: 1)一种是软件的源代码,您需要自己动手编译它.这种软件安装包通常是用gzip压缩过的tar包(后缀为.tar.gz). 2)另一种是 ...

  9. 新装Linux软件安装与系统配置

    新装Linux软件安装与系统配置 文章目录 新装Linux软件安装与系统配置 第一章 Linux各种软件包安装说明 1.1 deb格式安装包 1.2 rpm格式安装包 1.3 tar.gz格式压缩包 ...

最新文章

  1. python二维列表排序
  2. Spring Security——基于读写锁的动态权限配置FilterInvocationSecurityMetadataSource实现类
  3. 嫦娥之死天蓬元帅的转世
  4. java 数据库连接不上_真心求助用java连接数据库时为什么总是连接不上
  5. 微信支付封杀虚拟货币交易,亦是重拳无情!
  6. idea创建springboot项目+mybatis_从spring boot项目创建到netty项目过渡1
  7. angularJS限制 input-text 只能输入数字
  8. 社群商业模式设计方案
  9. 为什么 npm 要为每个项目单独安装一遍 node_modules?
  10. windowsError错误码详解
  11. 人类微笑表情识别(HOG算法)
  12. 「写论文」“常用关联词”汇总
  13. ubuntu 安装uget 和 flashgot 下载软件相当于windows中的迅雷
  14. android使用Vitamio实现视频播放大小屏流畅切换
  15. 以水稻为例教你如何使用BSA方法进行遗传定位(上篇)
  16. 配置MSTP功能示例
  17. 网课男生穿搭技巧尔雅答案 吴小吟
  18. 2.2 复习过去式和过去完成时 现在完成时
  19. 帽子接球小游戏(一)--制作UI面板
  20. 天津大学异地新校区,首次曝光设计效果图!

热门文章

  1. 连续支付(周期扣款)功能开发及注意事项
  2. Oracle误删除表空间的恢复
  3. 经典!沐风老师3DMAX建模实例系列教程上线啦。。。
  4. C++主流IDE推荐
  5. 阿里api文档链接地址
  6. 日有所思(7)——电拖疑问
  7. 笛卡尔生平及其成就介绍
  8. Yocto OpenCV交叉编译
  9. “逐日之弓”AI 光伏开发大赛培训开启 Imagination解读AI处理器创新应用
  10. java饼图_java 百分比饼图的实现代码