热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Hadoop集群搭建:实现SSH无密码登录

本文介绍了如何在CentOS764位操作系统环境下配置Hadoop集群中的SSH无密码登录,包括环境准备、用户创建、密钥生成及配置等步骤。
### 环境说明
本文基于CentOS 7 64位系统,使用3台机器(两台虚拟机和一台物理机)进行配置。
- **操作系统**:CentOS 7 64位
- **硬件配置**:2台VMware虚拟机,1台笔记本电脑
- **主机名与IP**:
- 主节点(Master):h1 (192.168.1.55)
- 从节点1(Slave1):h2 (192.168.1.56)
- 从节点2(Slave2):h3 (192.168.1.57)

### 配置步骤
#### 1. 设置主机名
在每台机器上以root用户登录,执行以下命令设置主机名:
```bash
hostnamectl set-hostname [主机名]
```
例如,在主节点上执行:
```bash
hostnamectl set-hostname h1
```
#### 2. 创建Hadoop用户
在每台机器上创建一个名为`hadoop`的用户,并为其设置密码:
```bash
useradd hadoop
passwd hadoop
```
#### 3. 生成SSH密钥对
切换到`hadoop`用户,生成SSH密钥对:
```bash
su hadoop
cd ~
ssh-keygen -t rsa
```
按回车键接受默认设置,生成密钥时可选择不设置密码。
#### 4. 配置公钥认证
将生成的公钥添加到`authorized_keys`文件中:
```bash
cd .ssh
cp id_rsa.pub authorized_keys
```
设置正确的文件权限:
```bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
```
#### 5. 合并公钥
将所有节点上的`authorized_keys`文件内容合并,并分发到每个节点的`~/.ssh/authorized_keys`文件中。
#### 6. 修改SSH配置
在每台机器上编辑`/etc/ssh/sshd_config`文件,确保以下行未被注释:
```bash
RSAAuthentication yes
PubkeyAuthentication yes
```
保存文件后,重启SSH服务:
```bash
service sshd restart
```
#### 7. 测试无密码登录
在`hadoop`用户下,尝试从一个节点登录到另一个节点,验证是否可以无密码登录:
```bash
ssh h2
```
如果提示输入密钥密码,输入一次后将不再提示。

### 注意事项
- 确保所有操作均在`hadoop`用户下进行,否则可能会要求输入密钥密码。
- 如果遇到`Agent admitted failure to sign using the key`错误,可以在主目录下执行`ssh-add`命令,然后重新尝试连接。

通过以上步骤,您应该能够在Hadoop集群中实现SSH无密码登录,从而简化集群管理和任务调度。
推荐阅读
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • 本文档旨在提供C语言的基础知识概述,涵盖常量、变量、数据类型、控制结构及函数定义等内容。特别强调了常量的不同类型及其在程序中的应用,以及如何正确声明和使用函数。 ... [详细]
  • java datarow_DataSet  DataTable DataRow 深入浅出
    本篇文章适合有一定的基础的人去查看,最好学习过一定net编程基础在来查看此文章。1.概念DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据 ... [详细]
  • 龙蜥社区开发者访谈:技术生涯的三次蜕变 | 第3期
    龙蜥社区的开发者们通过自己的实践和经验,推动着开源技术的发展。本期「龙蜥开发者说」聚焦于一位资深开发者的三次技术转型,分享他在龙蜥社区的成长故事。 ... [详细]
  • CentOS7通过RealVNC实现多人使用服务器桌面
    背景:公司研发团队通过VNC登录到CentOS服务器的桌面实现软件开发工作为防止数据外泄,需要在RealVNC设置禁止传输文件、访问粘贴板等策略过程&# ... [详细]
  • 本文介绍了如何在 MapReduce 作业中使用 SequenceFileOutputFormat 生成 SequenceFile 文件,并详细解释了 SequenceFile 的结构和用途。 ... [详细]
  • 一关于t1表和testtb的索引设计二把主键放到二级索引的后面,会否占据更多的物理空间?三InnoDB的主键该如何选择,业务ID和自增 ... [详细]
  • 本文介绍了在 CentOS 7 系统中如何查看所有活动进程及其运行时间。通过使用 `netstat` 和 `ps` 命令,您可以轻松获取进程的详细信息,包括启动时间、用户、终端和命令等。 ... [详细]
  • 尝试在 HP 计算机上使用 VMware Workstation Pro 安装 CentOS 6.7 时遇到错误,提示虚拟机配置为使用 64 位操作系统,但无法执行 64 位操作,原因是 Intel VT-x 被禁用。 ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • 本文介绍了在Visual C++环境中通过编程实现鼠标移动及点击的具体方法,包括获取鼠标当前位置、移动鼠标至指定位置并执行点击等操作。 ... [详细]
  • 本文介绍了如何使用Java编程语言实现凯撒密码的加密与解密功能。凯撒密码是一种替换式密码,通过将字母表中的每个字母向前或向后移动固定数量的位置来实现加密。 ... [详细]
  • Centos7 Tomcat9 安装笔记
    centos7,tom ... [详细]
  • CentOS 7 默认安装了 MariaDB,作为 MySQL 的一个分支。然而,出于特定需求,我们可能仍需在系统中安装 MySQL。本文将详细介绍如何通过 Yum 包管理器在 CentOS 7 上安装 MySQL,并提供一些常用的 MySQL 命令。 ... [详细]
author-avatar
xiao15387977702
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有