1.集群环境搭建

news2024/11/23 8:34:17

1.集群信息概览

在这里插入图片描述

2.集群环境搭建

2.1第一台服务器

  1. 修改静态ip
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    
  2. 修改主机名
    echo first-node /etc/hostname
    
  3. 修改主机名映射
    echo 192.168.226.140 first-node  >>  /etc/hosts
    echo 192.168.226.141 second-node  >>  /etc/hosts
    echo 192.168.226.142 third-node  >>  /etc/hosts
    
  4. 安装epel软件源
    yum install -y epel-release
    
  5. 关闭防火墙,禁止开机自启
    systemctl stop firewalld
    systemctl disable firewalld.service
    
  6. 给用户赋予root权限:普通用户可以使用sudo来执行特权命令,不再需要输入密码
    vim /etc/sudoers
    
    # 找到这一行
    %wheel  ALL=(ALL)       ALL
    # 新增
    用户名 ALL=(ALL)       NOPASSWD:ALL
    
  7. 新建两个文件夹,一个存放软件安装包,一个作为安装路径
    sudo mkdir /opt/moudle
    sudo mkdir /opt/software
    
  8. 修改两个文件夹所属权限为当前用户
    sudo chown fatpuffer:fatpuffer /opt/moudle/ /opt/software/
    
  9. 卸载centos7自带java
    su root
    
    rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
    
  10. 重启
    reboot
    

2.2第二台服务器(使用第一台服务器进行克隆)

  1. 修改IP
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    
  2. 修改主机名
    echo second-node /etc/hostname
    

2.3第三台服务器(使用第一台服务器进行克隆)

  1. 修改IP
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    
  2. 修改主机名
    echo third-node /etc/hostname
    

3.配置ssh免密认证(三台服务器都要进行如下操做,完成互信)

  1. 在服务器上生成密钥对
    ssh-keygen  # 可以一路回车
    # 生成完成后,密钥对存储在用户目录下的.ssh文件夹内
    # Your identification has been saved in /home/fatpuffer/.ssh/id_rsa.
    # Your public key has been saved in /home/fatpuffer/.ssh/id_rsa.pub.
    
  2. 使用ssh-copy-id命令,将公钥推送到服务器
    ssh-copy-id fatpuffer@first-node
    ssh-copy-id fatpuffer@second-node
    ssh-copy-id fatpuffer@third-node
    
  3. 使用ssh别名
    • 完成上述配置只是在ssh登录时不再需要输入密码,但是还是要输入很长的连接名称:ssh hostname@ip,使用别名后只需要输入:ssh 别名即可
    • 1.在本地/home/fatpuffer/.ssh目录下新建config文件
    • 2.编辑config文件,内容如下
    '''
    Host 别名
        HostName 远程服务器ip
        User 远程服务器用户名
        Port 22
    '''
    Host first-node
        HostName first-node
        User fatpuffer
        Port 22
    
    Host second-node
        HostName second-node
        User fatpuffer
        Port 22
    
    Host third-node
        HostName third-node
        User fatpuffer
        Port 22
    
    • 3.修改权限
    sudo chmod 600 config
    
    • 4.体验(将config文件推送到其他两个服务器上)
    scp /home/fatpuffer/.ssh/config second-node:/home/fatpuffer/.ssh/
    scp /home/fatpuffer/.ssh/config three-node:/home/fatpuffer/.ssh/
    

4.创建集群文件分发脚本

4.1查看系统环境变量

  • 可以看到用户目录下的bin目录已经被添加到了系统环境变量,那就直接将分发脚本创建在改目录下,可以使得脚本全局使用
[fatpuffer@first-node ~]$ echo $PATH
/usr/local/mysql/bin:
/usr/local/bin:/usr/bin:
/usr/local/sbin:/usr/sbin:
/usr/local/go/bin:
/home/fatpuffer/.local/bin:
/home/fatpuffer/bin

4.2创建脚本(/home/fatpuffer/bin/xsync)

  • 主要依赖于rsync同步命令配合ssh远程连接,实现脚本分发
#!/bin/bash

# 1.判断脚本参数个数
if [ $# -lt 1 ]
then
    echo Not enough Arguement!
    exit;
fi

# 2. 遍历集群所有机器
for host in first-node second-node third-node
do
    echo ====================  $host  ====================

    # 3. 遍历所有目录,挨个发送
    for file in $@
    do
        # 4. 判断文件是否存在
        if [ -e $file ]
            then
                # 5. 获取父目录
                pdir=$(cd -P $(dirname $file); pwd)

                # 6. 获取当前文件的名称
                fname=$(basename $file)
                ssh $host "mkdir -p $pdir"
                rsync -av $pdir/$fname $host:$pdir
            else
                echo $file does not exists!
        fi
    done
done

4.3使用

sxync test.txt
xsync /home/fatpuffer/bin/

5.安装JDK

5.1下载jdk

  • 自行下载

5.2安装

tar -zxvf /opt/software/jdk-8u212-linux-x64.tar.gz -C /opt/moudle/

5.3配置环境变量

sudo vim /etc/profile.d/my_env.sh

# JAVA_HOME
export JAVA_HOME=/opt/moudle/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

5.4更新系统环境变量

source /etc/profile

5.5分发

  • 1.分发安装文件
xsync /opt/moudle/
  • 2.分发环境变量配置文件(/etc下的文件需要使用sudo权限)
sudo /home/fatpuffer/bin/xsync /etc/profile.d/my_env.sh
  • 3.去对应服务器执行环境变量更新命令
source /etc/profile

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/66298.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis缓存 缓存穿透+缓存雪崩+缓存击穿的原因及其解决方案

Redis缓存 缓存穿透缓存雪崩缓存击穿的原因及其解决方案 文章目录Redis缓存 缓存穿透缓存雪崩缓存击穿的原因及其解决方案一、缓存穿透是什么?解决方案:二、缓存雪崩是什么?解决方案三、缓存击穿是什么?解决方案一、缓存穿透是什么…

【保姆级·创建对象】如何通过factory-method创建对象

这个步骤在createBeanInstance()方法中有使用,我们先来看下这个方法中都干了些啥(。・ω・。)ノ 首先,方法开头确认了beanClass是否被加载(因为只有被加载叻的对象才是可以实例化的&#…

深入浅出MySQL事务和锁定语句

https://dev.mysql.com/doc/refman/8.0/en/sql-transactional-statements.html 13.3事务和锁定语句 13.3.1启动事务、提交和回滚语句 开启事务 begin START TRANSACTION提交事务 COMMIT回滚事务 ROLLBACK查询自动提交 show SESSION VARIABLES where variable_name "…

深入浅出InnoDB Locking

https://dev.mysql.com/doc/refman/8.0/en/innodb-locking.html 本节讨论的所有锁都是在 InnoDB 引擎下 MySQL 实现行锁定主要使用共享锁和排他锁。也就是常说的读写锁。 A shared (S) lock permits the transaction that holds the lock to read a row. An exclusive (X) l…

若依多租户集成浅析(基于数据源隔离)

背景 这边有个做 saas 化应用的需求,要求做到数据源级别隔离,选了 RuoyiCRM: 基于若依Vue平台搭建的多租户独立数据库CRM系统, 项目不断迭代中。欢迎提BUG交流~ (gitee.com) 这个项目做分析 先放一下码云上作者画的图,后面我把整…

股票量化怎样分析股票数据精准选股?

在日常的股票量化交易过程中,通常有不少的交易者会借助股票数据接口来分析股票数据,并且经过一番股票量化分析之后,做到精准选股也是很有可能的事情。那么,普通投资者进行股票量化怎样分析股票数据选好股呢? 首先来了…

springboot:集成Kaptcha实现图片验证码

文章目录springboot:集成Kaptcha实现图片验证码一、导入依赖系统配置文件二、生成验证码1、Kaptcha的配置2、自定义验证码文本生成器3、具体实现三、校验验证码1、controller接口2、自定义前端过滤器3、自定义验证码处理过滤器4、自定义BodyReaderFilter解决读取bod…

Redis——Jedis的使用

前言 接上文,上一篇文章分享了在Linux下安装redis,以及redis的一些命令的使用。本文要分享的内容是java使用代码连接操作redis。 一、连接redis 这里我们要用到Jedis,那么什么是Jedis 简单来说,Jedis就是Redis官方推荐的Java连接…

【元胞自动机】模拟电波在整个心脏中的传导和传播的时空动力学研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

(八)SpringCloud+Security+Oauth2--token增强个性化和格式化输出

一 token的个性化输出 我们知道token默认的输出格式是: {"access_token": "21bd6b0b-0c24-40d1-8928-93274aa1180f","token_type": "bearer","refresh_token": "2c38965b-d4ce-4151-b88d-e39f278ce1bb","e…

[思考进阶]02 如何进行认知升级?

除了要提升自己的技术能力,思维的学习和成长也非常非常重要,特推出此[思考进阶]系列,进行刻意练习,从而提升自己的认知。 最近在看东野的《无名之町》,这本书写于2021年,日本正值疫情,书中也有大…

这个项目获2022世界物联网博览会三新成果奖!

近日,2022世界物联网无锡峰会在无锡太湖国际博览中心召开。天翼物联科技有限公司副总经理赵建军代表中国电信出席会议。 大会颁发了“物联网新技术新产品新应用金奖成果奖”(简称“三新成果奖”),中国电信天翼物联“基于5G物联孪…

gRPC:以 C++为例

文章目录1、gRPC 环境搭建1.1、安装 cmake1.2、安装 gcc/gdb1.3、安装 gRPC1.4、protobuf 安装1.5、测试环境2.1、grpc 同步2.1、定义服务2.2、gRPC 服务端2.3、gRPC 客户端2.4、消息流3、gRPC stream3.1、服务端:RPC 实现3.2、客户端:RPC 调用3.3、流的…

刷爆力扣之子数组最大平均数 I

刷爆力扣之子数组最大平均数 I HELLO,各位看官大大好,我是阿呆 🙈🙈🙈 今天阿呆继续记录下力扣刷题过程,收录在专栏算法中 😜😜😜 该专栏按照不同类别标签进行刷题&…

Centos 8.2 本地部署 Jenkins

文章目录1. 简介2. 准备条件3. 安装依赖工具4. 配置 jenkins 源5. 安装 java 176. 安装 Jenkins7. 登陆8. 安装插件8.1 kubernets 插件8.2 git 插件8.3 docker 插件9. 创建 pipeline job9.1 加载本地 Jenkinsfile 构建9.2 git 构建10. 问题1. 简介 Jenkins 是一个 CI/CD 工具。…

Transformer是如何进军点云学习领域的?

点击进入—>3D视觉工坊学习交流群0.笔者个人体会:这个工作来自于牛津大学、香港大学、香港中文大学和Intel Labs,发表于ICCV2021。我们知道,Transformer在近两年来于各个领域内大放异彩。其最开始是自然语言处理领域的一个强有力的工具。后…

Unity 动画系统(Animation,Animator,Timeline)

文章目录1. Animation1.1 创建Animation1.2 Animation 属性2. Animator2.1 Animator 组件2.2 Animation 状态2.3 状态控制参数2.4 代码中控制状态3. 代码控制动画的播放/暂停/继续播放1. Animation 1.1 创建Animation 选中需要添加动画的物体,打开Animation面板 …

乡村科技杂志乡村科技杂志社乡村科技编辑部2022年第20期目录

三农资讯 科技特派员助力柘城县大豆玉米带状复合种植见成效 宋先锋;贾志远; 1《乡村科技》投稿:cnqikantg126.com 河南省科技特派员赴遂平县指导多花黑麦草防治 蒋洪杰;欧阳曦; 2 河南省肉牛产业科技特派员服务团到光山县开展技术培训服务 翟媛媛;朱燚波…

la3_系统调用(上)

1. 实验内容 理解操作系统接口;系统调用的实现: 应用程序 调用库函数 (API)API 将 系统调用号 放入 EAX 中, 然后通过中断调用 使系统进入内核态;内核中的中断处理函数 根据系统调用号, 调用对…

通过postgres_fdw实现跨库访问

瀚高数据库 目录 文档用途 详细信息 介绍Postgresql跨库访问中postgres_fdw的使用方法 详细信息 PostgreSQL 外部数据包装器,即 PostgreSQL Foreign Data Wrappers,是现实数据库使用场景中一个非常实用的功能,PostgreSQL 的 FDW 类似于 Ora…