当前位置: 首页 > news >正文

搭建虚拟机完全分布式(centos)

在搭建完全分布式集群前,通常需要先在一台基础节点(可作为主节点或模板节点) 上完成基础环境配置,后续再通过克隆或批量操作同步到其他节点。以下是详细的实操步骤(以 CentOS 7 为例,其他 Linux 发行版操作类似):

一、准备工作

操作系统:确保基础节点已安装好 Linux 系统(推荐 CentOS 7/8、Ubuntu 20.04 等),并配置好静态 IP(避免 IP 动态变化影响集群通信)。
查看 IP:ip addr
配置静态 IP(CentOS 7):编辑 /etc/sysconfig/network-scripts/ifcfg-ens33(网卡名可能不同),设置:

BOOTPROTO=static #(更改)
IPADDR=192.168.1.101  # 虚拟机在安装的时候选择了下图:(新增)
NETMASK=255.255.255.0 # 新增
GATEWAY=192.168.1.1 # 新增
DNS1=114.114.114.114 # 新增
ONBOOT=yes # (注意)

设置完之后,保存。重启网络:systemctl restart network
在这里插入图片描述

如果网络ping不通百度 那边也是因为 主机、虚拟机、网关 三点不在一个网段。

二、创建集群专用用户(非 root)

为了安全和权限管理,建议创建一个专用用户(如hadoop),并赋予 sudo 权限:
1.创建用户:

useradd hadoop  # 创建用户hadoop
passwd hadoop   # 设置密码(输入两次确认)

2.赋予 sudo 权限:

visudo  # 编辑sudo配置文件,找到 "root ALL=(ALL) ALL" 行,添加:
hadoop  ALL=(ALL)   NOPASSWD:ALL  # 允许hadoop免密sudo(方便操作)
//  保存退出:按 Esc,输入 :wq 回车。

三、安装 SSH 服务并配置免密登录

集群节点间需要通过 SSH 通信,需配置基础节点到自身及其他节点的免密登录。

  1. 安装 SSH 服务(通常系统已预装,若没有则安装):
 yum install -y openssh-server openssh-clients  # CentOSapt install -y openssh-server openssh-client  # Ubuntu

查看虚拟机是否安装SSH(服务端、客户端)

# 或用 dnf(Fedora/CentOS 8+ 推荐)
dnf list installed | grep openssh-client
dnf list installed | grep openssh-server

2.启动 SSH 服务并设置开机自启:

systemctl start sshd
systemctl enable sshd

3.生成 SSH 密钥(切换到hadoop用户操作):

su - hadoop  # 切换到hadoop用户
ssh-keygen -t rsa  # 一路回车,不设置密码(生成id_rsa私钥和id_rsa.pub公钥)
  1. 配置免密登录到自身(后续克隆节点后,需同步公钥到其他节点):
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  # 将公钥添加到授权列表
chmod 600 ~/.ssh/authorized_keys  # 权限必须为600,否则免密失效

5.测试免密登录:

ssh localhost  # 首次登录需输入yes,后续无需密码
exit  # 退出登录

四、安装并配置 Java 环境

Hadoop 等分布式框架依赖 Java,需安装 JDK(推荐 JDK 8)。
下载 JDK(以jdk-8u361-linux-x64.tar.gz为例,需提前从 Oracle 官网或镜像站下载):待完成
上传 JDK 到hadoop用户的/home/hadoop/software目录(需先创建目录):

mkdir -p /home/hadoop/software /home/hadoop/app  # software放安装包,app放解压后的程序  #####假设通过 Xftp 等工具上传 JDK 到/home/hadoop/software
  1. 解压 JDK 到app目录:
cd /home/hadoop/software
tar -zxvf jdk-8u361-linux-x64.tar.gz -C /home/hadoop/app/
  1. 配置 Java 环境变量(切换到hadoop用户,编辑.bashrc):
su - hadoop  # 确保是hadoop用户
vi ~/.bashrc  # 末尾添加以下内容

添加:

# Java Environment
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_361  # 注意路径与实际解压的一致
export PATH=$PATH:$JAVA_HOME/bin
生效配置:source ~/.bashrc

4.验证 Java 安装:

java -version  # 输出JDK版本信息即成功

在这里插入图片描述

五、后续操作(为分布式集群准备)

完成以上步骤后,这台基础节点已具备基础环境,后续需:
克隆节点:通过 VMware 等工具克隆出其他节点(如从 node1 克隆 node2、node3),并修改各节点的主机名和IP(避免冲突)。
修改主机名(以 node1 为例):
克隆完虚拟机之后需要自己对node2和node3的虚拟机进行手动修改IP地址:

# 找到对应的配置文件ifcfg-ens33(ensxx)
vi /etc/sysconfig/network-scripts/ifcfg-ens33
# 修改里面的IPADDR (如下👇)
# node1 -> ip addr:192.168.1.101
# node2 -> ip addr:192.168.1.102
# node3 -> ip addr:192.168.1.103 

== 修改完配置文件后,必须重启网络服务才能应用新配置 ==
适用于 CentOS 7/8、RHEL 7/8 等使用 NetworkManager 的系统

sudo systemctl restart NetworkManager

若上述命令无效,尝试重启传统 network 服务(适用于 CentOS 6 或部分老系统)

sudo systemctl restart network
对node1:hostnamectl set-hostname node1  # 永久生效
对node2:hostnamectl set-hostname node2  # 永久生效
对node3:hostnamectl set-hostname node3  # 永久生效

配置主机名与 IP 映射(所有节点一致):

sudo vi /etc/hosts  # 添加
192.168.1.100 node1
192.168.1.101 node2
192.168.1.102 node3

设置完之后,在node1中可以ping通node2和node3的IP 地址。
也就是node1、 node2、node3三台主机之间是能够互ping成功的。

同步免密登录:将基础节点(node1)的公钥id_rsa.pub分发到其他节点(node2、node3)的authorized_keys中,实现跨节点免密。

同步 Java 环境:若通过克隆,Java 环境已同步;若手动安装,需在其他节点重复步骤四。
完成以上步骤后,集群的基础环境就准备好了,接下来可安装 Hadoop、Spark 等分布式框架。操作时注意保持各节点的用户、路径、环境变量一致,避免权限问题。

http://www.dtcms.com/a/524338.html

相关文章:

  • 电脑备份、服务器备份、云备份、Veeam备份,选哪种存储设备?
  • 青岛做网站哪家做的好国度网络网站建设
  • iOS Widget 开发-8:手动刷新 Widget:WidgetCenter 与刷新控制实践
  • 怎么区分主动攻击和被动攻击啊,为什么跨站脚本是被动攻击?
  • 从客户现场的花屏故障到FPGA设计准则的重新思考
  • GitLab社区版日志rotate失败的问题
  • 深度优先遍历与连通分量
  • 呼市做网站的公司php开源cms排行
  • 优质做网站价格自己制作简单的小程序
  • .net网站开发实站外包加工网下载
  • 行列式,秩,欠拟合,过拟合,正常拟合
  • XQuery 简介
  • 数据结构——散列函数的构造方法
  • 设计模式之 状态机 C#范例
  • 基于Vue的课程达成度分析系统t84pzgwk(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 做网站+利润Wordpress税
  • XML 用途
  • 2025年Mathorcup大数据赛B题思路
  • docker部署wordpress
  • 企业网站开发主要职责个人博客网站模板源码
  • 公司网站管理规定网站建设 语言
  • std::iota
  • SQL进阶:not exists谓词
  • Eclipse 添加书签
  • 2025年渗透测试面试题总结-217(题目+回答)
  • 专业网站建设市场豫建市2021 42号
  • 自己做的网站不满屏单纯做网站的公司
  • 在本地部署LangManus
  • wordpress 网站投票网站使用特殊字体
  • 视觉Transformer实战 | Transformer详解与实现