热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

hadoop下ssh的配置

centos系统自带ssh,版本为openssh4.3免密码ssh设置(合适的权限很重要)登入hadoop账户,建立ssh文件夹mkdir.ssh现在确认能否不输入口令就用ssh登录本机:$sshnamenode如果不输入口令就无法用ssh登陆namenode,执行下面的命令:$ssh-keygen-trsa

centos系统自带ssh,版本为openssh4.3 免密码ssh设置(合适的权限很重要) 登入hadoop账户,建立ssh文件夹 mkdir .ssh 现在确认能否不输入口令就用ssh登录本机: $ ssh namenode 如果不输入口令就无法用ssh登陆namenode,执行下面的命令: $ ssh-keygen -t rsa

centos系统自带ssh,版本为openssh4.3

免密码ssh设置(合适的权限很重要)

登入hadoop账户,建立ssh文件夹 mkdir .ssh

现在确认能否不输入口令就用ssh登录本机:

$ ssh namenode

如果不输入口令就无法用ssh登陆namenode,执行下面的命令:

$ ssh-keygen -t rsa –f ~/.ssh/id_rsa

回车设置密钥,可以设置一个密钥,也可以设置为空密钥。但是安全起见,设置密钥为hadoop,下面利用ssh-agent来设置免密钥登陆集群中其他机器。

私钥放在由-f选项指定的文件之中,例如~/.ssh/id_rsa。存放公钥的文件名称与私钥类似,但是以’.pub’为后缀,本例为~/.ssh/id_rsa.pub

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

将ssh密钥存放在namenode机器的~/.ssh/authorized_keys文件中。

再用scp命令将authorized_keys和id_rsa.pub分发到其它机器的相同文件夹下,例如,将authorized_keys文件分发给datanode1机器的.ssh文件夹的命令为:

$scp ~/.ssh/id_dsa.pub hadoop@datanode1:/home/hadoop/.ssh

到datanode1机器上 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

理论上要将公钥发放给各机器然后再各个机器上生成authorized_keys文件,实际上直接分发authorized_keys文件也可以

然后赋予文件权限,赋予各机器的.ssh文件夹权限为711,authorized_keys的权限为644。过高的权限不能通过ssh-add命令,过低的权限无法实现免密码登录。

添加ssh-agent:

$eval `ssh-agent -s` 注意这里是反引号

输入命令

$ssh-add,输入id_rsa私钥的密码。

为了使ssh-agent自动运行,将它写到profile中,在/etc/profile.d下新建ssh-agent.sh文件:

$sudo gedit /etc/profile.d/ssh-agent.sh

将以下语句加入

#!/bin/sh

if [ -f ~/.agent.env ]; then

. ~/.agent.env >/dev/null

if ! kill -0 $SSH_AGENT_PID >/dev/null 2>&1; then

echo "Stale agent file found. Spawning new agent..."

eval `ssh-agent |tee ~/.agent.env`

ssh-add

fi

else

echo "Starting ssh-agent..."

eval `ssh-agent |tee ~/.agent.env`

ssh-add

fi

这样就不会生成太多的ssh-agent程序,而且支持GUI环境。打开终端:

Stale agent file found. Spawning new agent...

Agent pid 2543

Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)

添加了新的密钥。

这一切都操作完了后

$ ssh datanode1

实验是否已经可以免密码登录datanode1

对于jobtracker,由于也作为master,所以可以利用相同的密钥也存放在authorized_keys的文件中,而将公钥分发给各机器后,添加到authorized_keys中,分发的机器名存放在know_hosts文件下,这样也可以通过jobtracker机器免密钥登录集群的其他机器。


推荐阅读
  • CentOS 7.2 配置防火墙端口开放
    本文介绍如何在 CentOS 7.2 系统上配置防火墙以开放特定的服务端口,包括 FTP 服务的临时与永久开放方法,以及如何验证配置是否生效。 ... [详细]
  • WinSCP: 跨Windows与Linux系统的高效文件传输解决方案
    本文详细介绍了一款名为WinSCP的开源图形化SFTP客户端,该工具支持SSH协议,适用于Windows操作系统,能够实现与Linux系统之间的文件传输。对于从事嵌入式开发的技术人员来说,掌握WinSCP的使用方法将极大提高工作效率。 ... [详细]
  • 在Linux系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
  • Redis安全防护深入解析
    本文详细探讨了如何通过指令安全、端口管理和SSL代理等措施有效保护Redis服务的安全性。 ... [详细]
  • 本文介绍了Java语言开发的远程教学系统,包括源代码、MySQL数据库配置以及相关文档,适用于计算机专业的毕业设计。系统支持远程调试,采用B/S架构,适合现代教育需求。 ... [详细]
  • 本文介绍了MySQL数据库的安全权限管理思想及其制度流程,涵盖从项目开发、数据库更新到日常运维等多个方面的详细流程控制,旨在通过严格的流程管理和权限控制,有效预防数据安全隐患。 ... [详细]
  • 如何高效优化系统加载进度条
    本文介绍了多种方法来优化计算机的启动和运行过程中的加载进度条,包括硬件调整、系统设置优化等,旨在提升用户体验。 ... [详细]
  • 本文详细介绍了如何在CentOS 7操作系统上搭建GitLab服务器的过程,包括环境准备、软件安装及基本配置等关键步骤。 ... [详细]
  • GNU GRUB(简称GRUB)是一个来自GNU项目的支持多启动的引导加载程序。它允许用户在同一台计算机上安装多个操作系统,并在启动时选择希望启动的系统。 ... [详细]
  • 58同城的Elasticsearch应用与平台构建实践
    本文由58同城高级架构师于伯伟分享,由陈树昌编辑整理,内容源自DataFunTalk。文章探讨了Elasticsearch作为分布式搜索和分析引擎的应用,特别是在58同城的实施案例,包括集群优化、典型应用实例及自动化平台建设等方面。 ... [详细]
  • 本文详细介绍了SSH(Secure Shell)的基础知识、应用场景以及如何在不同平台上使用SSH进行安全的远程操作。文章还探讨了SSH的高级用法,如免密登录和其他安全增强措施。 ... [详细]
  • 在CentOS上构建Ntopng实时网络流量监控平台
    本文详细介绍了如何在CentOS操作系统上安装和配置Ntopng,一个强大的网络流量监控工具。Ntopng能够提供实时的网络流量分析,并通过Web界面展示详细的流量报告。 ... [详细]
  • 大数据时代的机器学习:人工特征工程与线性模型的局限
    本文探讨了在大数据背景下,人工特征工程与线性模型的应用及其局限性。随着数据量的激增和技术的进步,传统的特征工程方法面临挑战,文章提出了未来发展的可能方向。 ... [详细]
  • 1.3数据库系统结构及组成(三级模式结构)
    文章目录1.3.1数据库系统结构一、数据库系统模式的概念二、数据库系统的三级模式结构三、数据库的二级映像功能与数据独立性1.3.2数据库系统的体系结构一、DBS体系结构的组成二、D ... [详细]
  • 深入解析:主流开源分布式文件系统综述
    本文详细探讨了几款主流的开源分布式文件系统,包括HDFS、MooseFS、Lustre、GlusterFS和CephFS,重点分析了它们的元数据管理和数据一致性机制,旨在为读者提供深入的技术见解。 ... [详细]
author-avatar
sumoly_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有