保姆级教学——集群环境搭建及创建集群

article/2025/9/15 21:59:24

保姆级教学——集群环境搭建及创建集群

新建虚拟机

一些默认,加载镜像开启虚拟机,在安装位置选择自己目录,然后建立分区,首先添加 挂载点,类型标准分区,文件系统ext4
手动分区
加载分区,期望给2G,
设置挂载点
类型标准分区,swap默认
缓冲

然后剩下47G给/就可以
其他分区

网络打开,把kudmp对勾去掉
kudmp

安装完成重新启动

查看自己的ip地址ip addr,我的是192.168.153.129
在这里插入图片描述

安装必要的环境:sudo yum install -y epel-release
在这里插入图片描述

第二个环境:sudo yum install -y psmisc nc net-tools rsync vim lrzsz ntp libzstd openssl-static tree iotop git
在这里插入图片描述

关闭防火墙(三台)

临时关闭防火墙:sudo systemctl stop firewalld
关闭防火墙自启动:sudo systemctl disable firewalld
在这里插入图片描述

创建用户设置密码
useradd ysm
passwd ysm
在这里插入图片描述

配置ysm用户具有root权限(三台)

sudo vim /etc/sudoers
找到如下添加

Allow root to run any commands anywhere

root ALL=(ALL) ALL
ysm ALL=(ALL) NOPASSWD: ALL
在这里插入图片描述

Wq!退出,小写wq
在/opt目录下创建子目录(三台)
创建package、software目录
sudo mkdir -p /opt/package
sudo mkdir -p /opt/soft
在这里插入图片描述

修改package、software文件夹的所有者
sudo chown ysm:ysm /opt/package /opt/soft
在这里插入图片描述

修改静态IP(三台)

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

IPADDR=“192.168.241.100” # 设置的静态IP地址
NETMASK=“255.255.255.0” # 子网掩码
GATEWAY=“192.168.241.2” # 网关地址
DNS1=“192.168.241.2” # DNS服务器
在这里插入图片描述

注意:静态static
Yes
添加的要跟自己的一致,我的ip是192.168.153.129,注意改成自己的
修改主机名(三台)
sudo hostnamectl --static set-hostname hadoop1
在这里插入图片描述

配置主机名称映射(三台)

vim /etc/hosts
格式:
ip 主机名
如下:
192.168.153.129 hadoop1
192.168.153.130 hadoop2
192.168.153,131 hadoop3
在这里插入图片描述

安装JDK(主节点)

删除linux自带的JDK
rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodeps
上传JDK到 /opt/package 目录,利用xftp将jdk上传到/opt/package中
在这里插入图片描述

解压到 /opt/soft 目录
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/soft/
在这里插入图片描述

配置JDK环境变量**(主节点)

新建/etc/profile.d/my_env.sh文件
sudo vim /etc/profile.d/my_env.sh
添加如下内容
#JAVA_HOME
export JAVA_HOME=/opt/soft/jdk1.8.0_212
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
在这里插入图片描述

注意: 配置完毕后重启xshell窗口,让环境变量生效!
测试 java -version 出现如下内容,则成功安装配置!
在这里插入图片描述
接下来克隆虚拟机,创建hadoop1的完整克隆
克隆完毕后修改克隆后的虚拟机的静态ip,修改主机名、
比如hadoop2,ip地址改为192.168.153.130 hadoop2
主机名设置为hostnamectl --static set-hostname hadoop2

接下来安装hadoop

安装Hadoop(主节点)

将hadoop-3.1.3.tar.gz导入到 /opt/package 目录
切换到 /opt/package
解压hadoop-3.1.3.tar.gz 到soft目录
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/soft
在这里插入图片描述

添加hadoop的环境变量
sudo vim /etc/profile.d/my_env.sh
添加内容如下:
#HADOOP_HOME
export HADOOP_HOME=/opt/soft/hadoop-3.1.3
export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin
export PATH= P A T H : PATH: PATH:HADOOP_HOME/sbin
断开连接重新连接
检查是否安装成功(出现版本号视为成功)
hadoop version
在这里插入图片描述

现在只有Hadoop1有hadoop了,23还没有,现在编写 zlcp 集群间数据分发脚本
在 /home/ysm 下创建 zlcp
vim zlcp
复制如下内容
注意: 循环中我使用的主机名是 ( hadoop1 hadoop2 hadoop3 ), 如不一样,自行修改为自己的主机
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo “no parameter!”
exit;
fi

#2. 遍历集群所有机器
for host in hadoop1 hadoop2 hadoop3
do
echo ==================== $host ====================
#3. 遍历所有目录,挨个发送
for file in $@
do
#4 判断文件是否存在
if [ -e KaTeX parse error: Expected 'EOF', got '#' at position 23: … then #̲5. 获取父目录 …(cd -P $(dirname KaTeX parse error: Expected 'EOF', got '#' at position 19: …e); pwd) #̲6. 获取当前文件的名称 …(basename $file)
ssh $host “mkdir -p $pdir”
rsync -av p d i r / pdir/ pdir/fname h o s t : host: host:pdir
else
echo $file does not exists!
fi
done
done
修改脚本 zlcp 具有执行权限chmod +x zlcp
将脚本移动到/bin中,以便全局调用sudo mv zlcp /bin/
在这里插入图片描述

SSH免密登录

我们已经掌握如何使用ssh登录远程服务器了,但是每次登录都要输入密码,比较麻烦。ssh提供一种免密登录的方式:公钥登录

  1. 在客户端hadoop1的家目录下使用 ssh-keygen -t rsa 生成一对密钥:公钥+私钥
    注意:这地方要敲三次回车!
    在/home/ysm/.ssh 下生成两个文件
    id_rsa 私钥
    id_rsa.pub 公钥
    在这里插入图片描述

注意: .ssh 是一个隐藏文件,使用 ls -a查看
2. 将公钥拷贝到要免密登录的目标机器上
ssh-copy-id hadoop1
ssh-copy-id hadoop2
ssh-copy-id hadoop3
在这里插入图片描述

  1. 如果想三台机器之间互相都可以实现免密登录,可以将 整个 .ssh分发到各个机器
    注意:回到家目录下ls-a 查看如果有.ssh再执行
    [ysm@hadoop1 ~]$ zlcp .ssh/
    zlcp 等下面配置为就可以使用了
    .ssh 下功能说明
    known_hosts 记录ssh访问过计算机的公钥(public key)
    id_rsa 生成的私钥
    id_rsa.pub 生成的公钥
    authorized_keys 存放授权过的无密登录服务器公钥

接下来配置集群文件

配置 core-site.xml

注意:需要进入下面路径下,别错了
cd /opt/soft/hadoop-3.1.3/etc/hadoop/
执行:vim core-site.xml
添加如下内容在 configuration标签内

注意:以下所有的环境变量配置都在与之间添加

fs.defaultFS hdfs://hadoop1:8020 hadoop.data.dir /opt/soft/hadoop-3.1.3/data hadoop.proxyuser.ysm.hosts * hadoop.proxyuser.ysm.groups * hadoop.http.staticuser.user ysm ![在这里插入图片描述](https://img-blog.csdnimg.cn/068242d8a73e486faa7b9ed747ef6402.png)

配置hdfs-site.xml

vim hdfs-site.xml
添加如下内容

dfs.namenode.name.dir
file:// h a d o o p . d a t a . d i r / n a m e < / v a l u e > < / p r o p e r t y > < p r o p e r t y > < n a m e > d f s . d a t a n o d e . n a m e . d i r < / n a m e > < v a l u e > f i l e : / / {hadoop.data.dir}/name</value> </property> <property> <name>dfs.datanode.name.dir</name> <value>file:// hadoop.data.dir/name</value></property><property><name>dfs.datanode.name.dir</name><value>file://{hadoop.data.dir}/data


dfs.namenode.checkpoint.dir
file://${hadoop.data.dir}/namesecondary


dfs.client.datanode-restart.timeout
30


dfs.namenode.secondary.http-address
hadoop3:9868

在这里插入图片描述

配置yarn-site.xml

vim yarn-site.xml
添加如下内容:

yarn.nodemanager.aux-services
mapreduce_shuffle


yarn.resourcemanager.hostname
hadoop2


yarn.nodemanager.env-whitelist
JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME

在这里插入图片描述

配置mapred-site.xml

vim mapred-site.xml
添加如下:

mapreduce.framework.name
yarn

在这里插入图片描述

配置workers

vim workers
删除localhost
添加如下主机名
hadoop1
hadoop2
hadoop3
在这里插入图片描述

接下来分发hadoop将安装好hadoop 分发给其他2台机器
在soft目录下执行
zlcp hadoop-3.1.3
接着分发 my_env.sh
注意:需要在 /etc/profile.d/ 下执行
sudo zlcp my_env.sh
分发完毕后: 在三台机器下都测试
hadoop version
在这里插入图片描述

启动集群

如果集群是第一次启动,需要在 hadoop1 节点格式化NameNode(注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据)
执行格式化namenoden代码
注意:一定要在第一台机器上运行,因为我的namemode在第一台机器上
hdfs namenode -format
在这里插入图片描述

启动HDFS

在namenode节点(hadoop1)上执行
start-dfs.sh
验证输入jps如果hadoop1出现这三个说明成功了
在这里插入图片描述

Hadoop2输入jps出现这两个说明成功
在这里插入图片描述

在hadoop3中出现这样说明成功了
在这里插入图片描述

启动 yarn

在配置了ResourceManager的节点(hadoop2)
start-yarn.sh
在这里插入图片描述

web测试访问namenode

在浏览器地址栏输入 namenode主节点ip:9870
例如
http://192.168.153.129:9870/

接下来配置时间同步

将三太机器都切换到root用户下
在每台机器都执行这两行命令
关闭时间:systemctl stop ntpd
关闭时间自启动:systemctl disable ntpd
1.修改ntp配置文件 (只在Hadoop1做配置)
vim /etc/ntp.conf
在这里插入图片描述

2.添加下面2行
将restrict 192.168.134.0改成自己的ip
下面四行注释掉添加
server 127.127.1.0
fudge 127.127.1.0 stratum 10
3 . 修改/etc/sysconfig/ntpd 文件
vim /etc/sysconfig/ntpd
添加如下内容
SYNC_HWCLOCK=yes
4 . 重新启动ntpd服务,设置开机自启动
systemctl start ntpd
systemctl enable ntpd
5 . 其他台机器配置(Hadoop2 和 Hadoop 3)
在其他机器配置10分钟与时间服务器同步一次
crontab -e
添加
*/10 * * * * /usr/sbin/ntpdate hadoop1


http://chatgpt.dhexx.cn/article/KJYToJNm.shtml

相关文章

集群搭建完整版

集群搭建完整版 1.集群搭建的准备工作 1.克隆虚拟机 &#xff08;要三台&#xff0c;创建一台 JDK、Hadoop 都安装完成的虚拟机&#xff0c;看 1.1 和 1.2&#xff09; 2. 修改克隆虚拟机的静态 IP vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICEeth0 TYPEEthernet ON…

搭建服務器集群【3大注意事項】

简述 服务器集群是现时很多企业选用的建站科案选用技术, 为企业提供更稳定可靠的运作, 服务器出现超载或宕机也不会导致整个业务无法运作, 是企业服务器热备的不二之选, 我们为你一一说明一下 什么是服务器集群&#xff1f; 服务器集群指多台服务器集合及共同管理一个业务, …

通过vnc自动连接linux,通过VNC连接Linux远程桌面

因为特殊的需求关系&#xff0c;琢磨了一下如何在本地连接远程Linux主机的桌面环境。翻了不少网上的相关文章&#xff0c;大部分都只讲了步骤没有说为什么这么做&#xff0c;我就简单再复述一遍吧&#xff0c;加深一下印象。 环境如下&#xff1a; 本地&#xff1a;OS X 10.8.2…

Linux和Windows间的远程桌面访问

在Windows上面&#xff0c;我们都用过系统自带的远程桌面连接或者TeamViewer这样的工具&#xff0c;可以方便的让我们用图形化方式远程操作其他计算机。但是在Linux上&#xff0c;我们一般都是使用SSH来操作终端。那么在Linux上有没有一些工具可以让我们像Windows那样用图形化的…

Linux远程桌面初体验——todesk、向日葵终极对决

文章目录 前言一、使用环境及软件介绍二、使用步骤总结 前言 大家都知道&#xff0c;Linux桌面的功能很少被人使用&#xff0c;但目前包括但不限于红帽系的发行版本慢慢开始重视桌面环境&#xff0c;尤其是国产操作系统。今天我就来大家看一下国产操作系统下远程桌面的使用体验…

linux远程桌面连接

rdesktop这个软件 sudo apt-get install rdesktoprdesktop -g 1366*768 -P -z -x l -r sound:off -u username 192.168.123.5参数意义-g后面代表要使用的分辨率-P启用位图缓存-z启用RDP数据流压缩-x l使用局域网级别的图像质量-r sound:off关闭声音-u windowuser指定要使用的用…

Linux 远程桌面实现

硬件环境&#xff1a;树莓派3B 操作系统&#xff1a; Raspberry Jessie 安装xrdp服务&#xff08;属于tightVNC服务的一部分&#xff09; sudo apt-get install xrdp 安装完成后&#xff0c;输入如下命令&#xff1a; sudo /etc/init.d/xrdp start sudo update-rc.d xrdp de…

Linux配置VNC远程桌面

环境&#xff1a;CentOS7 VNC需要系统安装的有桌面&#xff0c;如果是生产环境服务器&#xff0c;安装时使用的最小化安装&#xff0c;那么进行下面操作按章GNOME 桌面。 # 列出的组列表里有GNOME Desktop。 yum grouplist #安装之 yum groupinstall -y "GNOME Desktop&…

如何远程linux服务器桌面,LINUX操作系统如何远程登录桌面

相比window来说linux远程桌面登陆需要第三方软件来实现&#xff0c;之前用ssh登陆的都是字符界面;昨天试了试远程桌面也是可以的&#xff0c;方法很多&#xff0c;这儿只阐述比较好用的一种;使用时&#xff0c;关闭windows防火墙&#xff0c;或者开启相应的防火墙端口;这里使用…

linux远程桌面rdesktop,Linux下通过rdesktop连接Windows远程桌面

rdesktop是linux下支持Windows远程桌面连接的客户端程序,在linux系统下可通过它远程访问Windows桌面,支持多种版本。rdesktop是sourceforge下支持GPL协议的一个开源项目,采用RDP(Remote Desktop Protocol,远程桌面协议),几乎可以连接windows的所有版本,诸如NT 4 Terminal …

red hat linux 远程,Red Hat Linux 远程桌面 – 如何设置

远程访问 RHEL 计算机。运行 RHEL 7.3-8.1 的 Linux 计算机的远程桌面。从任何计算机、平板电脑或移动设备进行访问。立即免费试用&#xff01; 如果您是在家中或在旅途中工作&#xff0c;则可能需要一段时间才能在办公室或在家中访问台式计算机。如果该桌面恰巧在 Linux 操作系…

linux系统开远程桌面,Linux 系统开启远程桌面的方法

Linux操作系统开启远程桌面的方法 一、组网需求: 我司iMC不仅支持Windows系统环境下的安装部署,还支持Linux系统环境下的安装部署,在定位网上问题或者远程安装部署时,远程桌面是一种快捷的方法,Windows操作系统下开启远程桌面的方法众所周知,下面介绍开启Linux操作系统远…

vnc连接linux远程桌面

文章目录 1, centos6安装vnc服务端vnc常用命令设置vnc随机登录密码设置ssh 密钥文件登录&#xff1a;禁止密码登录 2, ubuntu安装vnc服务端3, windows 安装vncviewer客户端 1, centos6安装vnc服务端 # 1, install vncserver yum -y install epel-release yum -y install vnc-s…

linux远程桌面连接_如何从Linux连接到远程桌面

linux远程桌面连接 根据Wikipedia的说法, 远程桌面是“一种软件或操作系统功能,它允许个人计算机的桌面环境在一个系统(通常为PC,但该概念同样适用于服务器)上远程运行,同时显示在服务器上。单独的客户端设备。” 换句话说,远程桌面用于访问另一台计算机上运行的环境。…

linux的远程桌面服务配置

一、 实验题目 Linux的远程桌面服务配置 二、 理论分析 Xrdp是一个开源工具,允许用户通过Windows RDP访问Linux远程桌面。 除了Windows RDP之外,xrdp工具还接受来自其他RDP客户端的连接,如FreeRDP,rdesktop和NeutrinoRDP。 Xrdp现在支持TLS安全层。 XFCE是一个桌面环境&#…

查看java编程环境是否配置成功

验证Java编程环境是否配置成功 点击键盘Windowsr键&#xff0c;打开运行提示框输入cmd按回车键打开命令框 输入javac&#xff0c;点击回车&#xff0c;查看java编译环境是否正常。 输入“java”&#xff0c;点击回车&#xff0c;查看java运行环境是否正常。 输入java -versi…

java环境变量一键配置工具

java环境变量一键配置工具是一款环境变量配置软件&#xff0c;对于需要学编程的新手来说&#xff0c;第一步就是配置环境变量&#xff0c;通过java环境变量一键配置工具可以一键进行配置&#xff0c;方便好用。 相关软件软件大小版本说明下载地址 java环境变量一键配置工具是一…

VsCode配置java运行环境

参考&#xff1a;在vscode运行java代码 1. 先配置下载java&#xff0c;配置环境变量 检测 java,javac,java -version 2.vscode中安装插件 要安装的插件为 code runner&#xff0c;Extension Pack for Java&#xff0c;这java插件安装时会自动安装别的相关的扩展包&#xff…

超简单java环境配置(2021版)

①找到 高级系统设置 ②点击环境变量 在系统环境变量 区块中点击新建按钮 配置1&#xff1a;添加下图配置 变量名为&#xff1a;JAVA_HOME 变量值为&#xff1a;jdk的安装路径 我的为&#xff1a;D:\Program Files\Java\jdk1.8.0_152 配置2&#xff1a;继续新建系统环境变量&…

Windows11配置Java开发环境

1.去官网找到所需版本的jdk进行下载 Oracle | Cloud Applications and Cloud Platform 2.随个人意愿&#xff0c;将jdk安装到对应的磁盘下&#xff0c;本人习惯默认的C盘&#xff0c;但是有很多人喜欢安装到其他磁盘。 3.环境配置 右键我的电脑&#xff0c;点击属性&#x…