• 二、vmware配置集群分发,配置java环境


    一、修改host

    1.修改虚拟机的host

    vim /etc/hostname
    
    • 1

    在这里插入图片描述
    我起的名字叫julytemp

    2.配置映射地址

    vim /etc/hosts
    
    • 1

    在这里插入图片描述
    前两行不要删除,在后边新增内容,刚刚起名的julytemp,对应的ip地址是多少就填多少

    如果忘记了自己的ip地址,使用如下命令
    ifcfg-en(名字不固定按一下tab键补全)

    cat /etc/sysconfig/network-scripts/ifcfg-en*****
    
    • 1

    在这里插入图片描述

    3.修改windows映射

    进入目录C:\Windows\System32\drivers\etc ,建议修改前复制一份,防止修改出问题后,直接还原原来的文件
    在这里插入图片描述

    增加如下内容,和在虚拟机增加的内容一致

    在这里插入图片描述

    4.修改windows设置(可选,可以不配内容,但是这里不是自动获得地址)

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    网关在之前的教程有讲过,在那个en***文件中也有。这里我没有配置。
    在这里插入图片描述

    二、注册权限用户和创建对应的目录

    1.添加一个用户 ,添加july用户

    useradd july
    
    • 1
    passwd july
    
    • 1

    因为我之前设置好过了,所以显示的更改。和当初设置的root一样,密码不会显示,设置好,进行回车,再次确认密码。我设置的是a12345678,,它会提示说,密码过于简单,但是是可以设置成功的
    在这里插入图片描述

    2.设置july权限

    vim /etc/sudoers
    
    • 1

    在这里插入图片描述
    输入一下内容,注意放在这个下边,不要放错了。
    %wheel ALL=(ALL) ALL

    july    ALL=(ALL)       NOPASSWD:ALL
    
    • 1

    保存

    wq!
    
    • 1

    3.创建目录,并修改所有者和所属组为july

    创建目录

    mkdir /opt/module
    
    • 1
    mkdir /opt/software
    
    • 1

    修改为july用户

    chown july:july /opt/module 
    
    • 1
    chown july:july /opt/software
    
    • 1

    查看是否成功

    cd /opt/
    
    • 1
    ll
    
    • 1

    在这里插入图片描述
    最后一步,删除镜像中自带的jdk!!!!!

    rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps 
    
    • 1

    三、克隆配置好的虚拟机

    1.按照如下步骤进行虚拟机配置

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    克隆位置自己选择好就行
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.第二台虚拟机,配置如下。参考本章第一、二

    配置ip为静态ip,和对应的ip地址
    配置host相关
    配置july用户
    创建目录

    四、使用xftp上传jdk压缩包

    先设置一下编码方式,防止右侧乱码
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    按照如下步骤进行操作

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在左侧的Windows页面找到下载好的压缩包,拖到右侧
    在这里插入图片描述

    1.解压,并配置环境变量

    tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
    
    • 1

    新建/etc/profile.d/my_env.sh文件

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

    输入一下内容

    #JAVA_HOME
    export JAVA_HOME=/opt/module/jdk1.8.0_351
    export PATH=$PATH:$JAVA_HOME/bin
    
    • 1
    • 2
    • 3

    让环境变量生效

    source /etc/profile
    
    • 1

    验证java变量

    java -version
    
    • 1

    五、配置集群分发

    前提是两台虚拟机的host和权限都是july设置好了,目录创建好了

    scp -r /opt/module/jdk1.8.0_351  july@july64:/opt/module
    
    • 1

    rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。
    在这里插入图片描述
    第一次操作的时候,需要输入yes,然后输入你之前设置july用户的密码a12345678
    在这里插入图片描述
    在这里插入图片描述
    去july64那台虚拟机看下,是否传输成功了。
    在这里插入图片描述

    1.xsync集群分发脚本

    cd /home/july
    
    • 1
    mkdir bin
    
    • 1
    cd bin
    
    • 1
    vim xsync
    
    • 1

    输入内容如下

    #!/bin/bash
    
    #1. 判断参数个数
    if [ $# -lt 1 ]
    then
        echo Not Enough Arguement!
        exit;
    fi
    
    #2. 遍历集群所有机器
    for host in july64 july65 july66 july67 july68
    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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    创建自定义环境变量

    上传下载好的压缩包到/opt/module下
    在这里插入图片描述
    先卸载原有的jdk

    rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps 
    
    • 1

    解压

    tar -zxvf jdk-8u351-linux-x64.tar.gz
    
    • 1
    sudo vim /etc/profile.d/my_env.sh
    
    • 1

    输入以下内容

    #JAVA_HOME
    export JAVA_HOME=/opt/module/jdk1.8.0_351
    export PATH=$PATH:$JAVA_HOME/bin
    
    
    • 1
    • 2
    • 3
    • 4

    更新一个环境变量

    source /etc/profile
    
    • 1
    chmod +x xsync
    
    • 1
    sudo cp xsync /bin/
    
    • 1
    cd ~
    
    • 1
    sudo ./bin/xsync /etc/profile.d/my_env.sh
    
    • 1

    测试脚本

    xsync /home/july/bin
    
    • 1

    2.SSH无密登录配置
    ssh-copy-id 对应的host主机名称

    cd  /home/july/.ssh
    
    • 1

    如果没有这个目录,ssh一下host设置的主机。
    比如

    ssh julytemp
    
    • 1
    ssh-keygen -t rsa
    
    • 1
    ssh-copy-id julytemp
    
    • 1
    ssh-copy-id july6***
    
    • 1

    总结

    该方法参考尚硅谷的课程,课程中使用的是VMware15,我使用的是16,有些地方可能不太一样,但是大同小异。如果有地方看不明白的,可以去搜索一下尚硅谷的Hadoop课程,有对应的视频讲解。

  • 相关阅读:
    机器学习之算法部分(算法篇2)
    第15章_锁: (表级锁、页级锁、行锁、悲观锁、乐观锁、全局锁、死锁)
    Chromium 开发指南2024 Mac篇-开始编译Chromium(五)
    Java实现DFA算法进行敏感词过滤
    08-分布式
    Java之线程详解(三)——多线程常用API、七种状态、优先级、Lock锁
    [论文笔记]GPT-1
    PAT乙级【Java题解合集】
    springcloud - ribbon 饥饿加载
    命令行参数
  • 原文地址:https://blog.csdn.net/xiaobai_july/article/details/127684320