分布式集群环境之域名映射与免密码登录

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
.cn 域名,1个 12个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 分布式集群环境之域名映射与免密码登录

0x00 教程内容


  1. 当前集群说明及目标
  2. 集群域名映射配置
  3. 集群免密码登录配置

0x01 当前集群说明及目标


1. 当前分布式集群说明

a. 目前已经克隆好了三台主机,除了hostname与ip,其他均一致

b. 全部均已经新建好hadoop-sny用户,密码是shaonaiyi

c. 全部俊已经配置好了NAT网络环境,ip分别为:


主机master的ip:192.168.128.131

主机slave1的ip:192.168.128.132

主机slave2的ip:192.168.128.133


d. 每台主机(主机又称为服务器)可以互相ping通,可以上外网


2. 当前集群目标说明

a. 配置好三台服务器的域名映射

意义:可以用用户名代替长长的ip地址,有利于操作和以后集群的迁移、运维等等

b. 配置好三台服务器可以免密码登录到对方

意义:以后的大数据环境需要用到,不然无法操作


0x02 集群域名映射配置


1. 域名映射

a. 编辑文件hosts并添加映射内容(三台服务器均需要操作

sudo vi /etc/hosts

192.168.128.131 master
192.168.128.132 slave1
192.168.128.133 slave2


image.png


b. 查看一遍是否添加成功(三台服务器均可以操作一下

cat /etc/hosts


image.png


2. 校验域名映射

a. 每台机器都跑一下下面三个指令,即用用户名代替了ip地址,一般不会出问题的)

ping master

ping slave1

ping slave2


image.png


0x03 集群免密码登录配置


1. 生成三台服务器的秘钥

a. 生成服务器密钥(输入指令后,连按三次回车

ssh-keygen

PS:三台机器均需要操作,注意本教程是用hadoop-sny用户操作


image.png


2. 配置公钥到authorized_keys文件

a. master上执行(将公钥id_rsa.pub写入到authorized_keys文件)


说明:生成的秘钥默认是在~/.ssh目录下,该目录下有公钥与私钥,我们将公钥写到authorized_keys中,相当于一个钥匙袋的功能,等一下要聚合slave1、slave2的钥匙到此处。


cd ~/.ssh

cat id_rsa.pub >> authorized_keys


image.png


b. slave1上执行(将公钥id_rsa.pub写入到authorized_keys1文件)

cd ~/.ssh

cat id_rsa.pub >> authorized_keys1


c. 将slave1的authorized_keys1文件拷贝到master节点的~/.ssh目录(如没有scp指令,master、slave1、slave2均执行yum install -y openssh-clients安装)

scp authorized_keys1 hadoop-sny@master:~/.ssh/

PS:第一次用scp指令需要输入密码,输入yes,然后输入master的hadoop-sny用户的密码:shaonaiyi即可显示拷贝成功!输入错就再输入一遍哈哈哈~


image.png


d. slave2上执行(将公钥id_rsa.pub写入到authorized_keys2文件)

cd ~/.ssh

cat id_rsa.pub >> authorized_keys2


e. 将slave2的authorized_keys2文件拷贝到master节点的~/.ssh目录

scp authorized_keys2 hadoop-sny@master:~/.ssh/


3. 聚合三台服务器的公钥到authorized_keys文件

a. 此时回到master查看,发现~/.ssh目录已经有三台服务器的公钥了,但是还没有聚合


image.png


b. 聚合公钥(其实就是把slave1、slave2的放到钥匙袋,目前master的已经在了)

cat authorized_keys1 >> authorized_keys

cat authorized_keys2 >> authorized_keys

c. 查看authorized_keys文件,发现有三台服务器的公钥了

cat authorized_keys


image.png


4. 分发钥匙袋到slave1、slave2服务器

a. 钥匙袋即authorized_keys文件

scp authorized_keys hadoop-sny@slave1:~/.ssh/

scp authorized_keys hadoop-sny@slave2:~/.ssh/


5. 校验免密码登录

a. 三台服务器均执行下面几句话:

ssh master

exit

ssh slave1

exit

ssh slave2

exit


image.png


PS:如果不用输入密码也能登录进彼此就说明成功了!

b. 注意:

一定要在测试完后要用exit退出回到之前的账号,不然可能会自己忘记了,没退出,导致之后操作的内容是在别的服务器操作的。

c. 提示:

一定要三台机器都测试,而且是这样的格式:ssh 用户名,不然后面用Hadoop等的使用过程中会出现要输入密码的情况。



0xFF 总结


为了方便,可以自己写一个校验校验的脚本,脚本可以参考教程:D002 复制粘贴玩大数据之便捷配置 的 0x03 编写查看各节点进程脚本 1. jps_all.sh脚本

域名映射与免密码登录,是学习大数据的基础。

a. 如果觉得大数据环境太复杂,可以参考本专栏:复制粘贴玩转大数据系列专栏,学习用Docker搭建大数据环境。

b. 如果基础好的话,可以直接学习此篇文章:

D012 复制粘贴玩大数据之Dockerfile安装Kafka集群

半个小时搭建好已经装好了hadoop、spark、zookeeper、hbase、hive、flume、kafka等的大数据环境!


相关文章
|
1月前
|
负载均衡 应用服务中间件 nginx
搭建域名访问环境二(负载均衡到网关)
这篇文章讲述了如何配置Nginx实现域名访问环境,通过负载均衡将请求从Nginx反向代理到服务网关,并提供了详细的配置步骤和测试验证方法。
搭建域名访问环境二(负载均衡到网关)
|
1月前
|
应用服务中间件 nginx Docker
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
这篇文章介绍了如何通过域名在本地访问虚拟机上的nginx服务,包括创建nginx容器、修改配置文件、修改本地host文件以及进行访问测试的详细步骤。文章提供了具体的Docker命令来创建并配置nginx容器,展示了配置文件的修改示例,说明了如何在本地系统的hosts文件中添加虚拟机IP和自定义域名,以及如何通过浏览器进行测试访问。
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
|
21天前
|
机器学习/深度学习 分布式计算 PyTorch
大规模数据集管理:DataLoader在分布式环境中的应用
【8月更文第29天】随着大数据时代的到来,如何高效地处理和利用大规模数据集成为了许多领域面临的关键挑战之一。本文将探讨如何在分布式环境中使用`DataLoader`来优化大规模数据集的管理与加载过程,并通过具体的代码示例展示其实现方法。
28 1
|
26天前
|
消息中间件 Java Kafka
如何在Kafka分布式环境中保证消息的顺序消费?深入剖析Kafka机制,带你一探究竟!
【8月更文挑战第24天】Apache Kafka是一款专为实时数据管道和流处理设计的分布式平台,以其高效的消息发布与订阅功能著称。在分布式环境中确保消息按序消费颇具挑战。本文首先介绍了Kafka通过Topic分区实现消息排序的基本机制,随后详细阐述了几种保证消息顺序性的策略,包括使用单分区Topic、消费者组搭配单分区消费、幂等性生产者以及事务支持等技术手段。最后,通过一个Java示例演示了如何利用Kafka消费者确保消息按序消费的具体实现过程。
50 3
|
26天前
|
SQL 开发框架 网络协议
【Azure 环境】基于Azure搭建企业级内部站点, 配置私有域名访问的详细教程 (含演示动画)
【Azure 环境】基于Azure搭建企业级内部站点, 配置私有域名访问的详细教程 (含演示动画)
|
1月前
|
资源调度 Java 调度
项目环境测试问题之Schedulerx2.0通过分布式分片任务解决单机计算瓶颈如何解决
项目环境测试问题之Schedulerx2.0通过分布式分片任务解决单机计算瓶颈如何解决
项目环境测试问题之Schedulerx2.0通过分布式分片任务解决单机计算瓶颈如何解决
|
2月前
|
缓存 Serverless API
函数计算产品使用问题之不同环境下如何绑定自定义域名
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
1月前
|
监控 负载均衡 Java
(九)漫谈分布式之微服务组件篇:探索分布式环境下各核心组件的必要性!
本文将深入探讨微服务中各个组件的必要性,以此帮助各位更好地加深对分布式系统的掌握度。
|
30天前
|
存储 运维 监控
在Linux中,在分布式环境中如何实现文件系统冗余和同步?(例如DRBD、GlusterFS)
在Linux中,在分布式环境中如何实现文件系统冗余和同步?(例如DRBD、GlusterFS)
|
1月前
|
存储 缓存 自然语言处理
Lettuce的特性和内部实现问题之分布式环境中消息发送时的问题如何解决
Lettuce的特性和内部实现问题之分布式环境中消息发送时的问题如何解决