大数据——克隆主机并配置集群


上个文章搭建了一个Hadoop主机,我们用该主机进行主机克隆

克隆主机#

利用VMware的克隆功能,克隆出hadoop102hadoop103hadoop104三台主机

克隆完成后,记得修改文件(root用户下)

vim /etc/sysconfig/network-scripts/ifcfg-ens33
vim /etc/hostname

安装JDK#

在主机hadoop102中安装JDK

上传jdk到/opt/software文件夹中

cd /opt/software
# 安装到module中
tar -zxvf jdk-8u301-linux-x64.tar.gz -C /opt/module

配置jdk环境变量

系统启动时会加载/etc/profile.d/中的所有.sh文件

新建文件my_env.sh

cd /etc/profile.d/
vim sudo vim my_env.sh
# 写入环境
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_301
export PATH=$PATH:$JAVA_HOME/bin

保存退出后,刷新环境

source /etc/profile

检查是否安装成功

java

安装Hadoop#

上传hadoop到/opt/software文件夹中

tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module

配置环境变量

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

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

保存退出后,刷新环境

source /etc/profile

检查是否安装成功

hadoop

配置其余主机#

编写集群分发脚本,递归复制到目的主机

主机和IP做过映射关系:swcode@IP/主机

使用scp拷贝文件#

下面是三种拷贝方式,使用哪一种都可以

hadoop102上使用scp拷贝

cd /opt/module
scp -r jdk1.8.0_301/ swcode@hadoop103:/opt/module

hadoop103上使用scp拉取

cd /opt/module
scp -r swcode@hadoop102:/opt/module/hadoop-3.1.3 ./

hadoop103上使用scphadoop102拷贝到hadoop104

scp -r swcode@hadoop102:/opt/module/* swcode@192.168.10.104:/opt/module/

使用rsync同步文件#

1、安装(root用户下)

sudo yum install -y rsync

2、编写脚本xsync,放到~/bin下即可使用,别忘了chomd执行权限(swcode用户下)

#!/bin/bash

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

#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
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/$filename $host:$pdir
            else
                echo $file does not exists!
        fi
    done
done

3、同步环境(root用户下)

/home/swcode/bin/xsync /etc/profile.d/my_env.sh

配置免密登录#

在拷贝时需要输入很多次密码,为了方便使用,需要配置主机之间的免密登录

hadoop102中配置(swcode用户下)

ssh-keygen -t rsa

三次回车后,我们将公钥复制到免密登录的主机

# 映射关系 hadoop103  192.168.10.103
ssh-copy-id hadoop102
ssh-copy-id hadoop103
ssh-copy-id hadoop104

同理,配置hadoop103hadoop104,三台主机之间互相登录都是免密的

如果需要配置root用户之间的免密,需要切换到root用户,重复上述操作


下篇文章:配置并启动集群/开启历史服务器和日志聚集
所有文章:
搭建第一台Hadoop主机
Linux之间的文件传输方式
克隆主机并配置集群
配置并启动集群/开启历史服务器和日志聚集

posted @   sw-code  阅读(207)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示
主题色彩