转自 http://blog.csdn.net/zhaogezhuoyuezhao/article/details/7328313

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机器免密钥登录集群的其他机器。

hadoop 伪分布模式的配置的更多相关文章

  1. hadoop伪分布模式的配置和一些常用命令

    大数据的发展历史 3V:volume.velocity.variety(结构化和非结构化数据).value(价值密度低) 大数据带来的技术挑战 存储容量不断增加 获取有价值的信息的难度:搜索.广告.推 ...

  2. Linux环境搭建Hadoop伪分布模式

    Hadoop有三种分布模式:单机模式.伪分布.全分布模式,相比于其他两种,伪分布是最适合初学者开发学习使用的,可以了解Hadoop的运行原理,是最好的选择.接下来,就开始部署环境. 首先要安装好Lin ...

  3. Hadoop伪分布模式配置

    本作品由Man_华创作,采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.基于http://www.cnblogs.com/manhua/上的作品创作. 请先按照上一篇文章H ...

  4. Hadoop伪分布模式配置部署

    .实验环境说明 注意:本实验需要按照上一节单机模式部署后继续进行操作 1. 环境登录 无需密码自动登录,系统用户名 shiyanlou,密码 shiyanlou 2. 环境介绍 本实验环境采用带桌面的 ...

  5. 【原】Hadoop伪分布模式的安装

    Hadoop伪分布模式的安装 [环境参数] (1)Host OS:Win7 64bit (2)IDE:Eclipse Version: Luna Service Release 2 (4.4.2) ( ...

  6. Hadoop伪分布模式操作

    http://blog.csdn.net/wangloveall/article/details/20195813 摘要:本文介绍Hadoop伪分布模式操作,适合于Hadoop学习.开发和调试. 关键 ...

  7. hadoop伪分布模式安装

    软件环境 操作系统 :  OracleLinux-R6-U6 主机名: hadoop java: jdk1.7.0_75 hadoop: hadoop-2.4.1 环境搭建 1.软件安装 由于所需的软 ...

  8. Hadoop 伪分布模式安装

    ( 温馨提示:图片中有id有姓名,不要盗用哦,可参考流程,有问题评论区留言哦 ) 一.任务目标 1.了解Hadoop的3种运行模式 2.熟练掌握Hadoop伪分布模式安装流程 3.培养独立完成Hado ...

  9. linux环境tomcat配置及hadoop 2.6伪分布模式安装配置

    一.ubuntu 15.04.openjdk1.7.tomcat7环境配置 1. 配置openjdk1.7,输入命令: -jdk 2. 查看java是否安装成功,输入命令: envjava -vers ...

随机推荐

  1. Android 内存相关 onTrimMemory,onLowMemory,MemoryInfo()

    参考: Android Application生命周期学习 Android中如何查看内存(上) Android OnLowMemory和OnTrimMemory OnLowMemory OnLowMe ...

  2. What floating point types are available in .NET?

    The C# standard only lists double and float as floating points available (those being the C# shortha ...

  3. Lepus经历收获杂谈(一)——confirm features的小工具

    ------记Project of AIM_PointCloudTrainingManager------ ---------------------------------------------- ...

  4. 彻底搞清javascript中this, constructor, prototype

    说起这三个属性,肯定有一些同学和我一样,初学js时非常困惑,头大,一脸的迷茫.今天就来给大家彻底解决这些担心受怕的问题. 先看this this定义: this就是函数赖以执行的对象. 分析这句话: ...

  5. UVa 11093 Just Finish it up

    从第一个加油站开始枚举起点,如果到第i个加油站油量不够的话,那么1~i个加油站都不可能是起点. 将第i+1个加油站作为起点继续枚举. 比如说,第一个加油站开始最多跑到第5个加油站,那么第二个加油站不可 ...

  6. OpenERP 安装在Windows server上时间显示不对的解决办法

    这个问题一直困扰着我,后台设置关于时区也参考过一些文章(如改配置文件),显示时间总是差8个小时,后来看了上面的文章后才搞定,虽然那个是解决OE7.0的,但原理一样: server\openerp\ad ...

  7. 【转】vim - tab变空格

    vim中将tab自动转换成空格 在vim中,有时需要将tab转换成space.使用ret命令(replace tab).[range]ret[ab]! [new-tabstop] 举例:将第一行到文件 ...

  8. opengl截图

    int GetEncoderClsid(const WCHAR* format, CLSID* pClsid) { UINT num = ; // number of image encoders U ...

  9. ProgressBar 各种样式

    多式样ProgressBar 普通圆形ProgressBar 该类型进度条也就是一个表示运转的过程,例如发送短信,连接网络等等,表示一个过程正在执行中. 一般只要在XML布局中定义就可以了. < ...

  10. HDU 1423 Greatest Common Increasing Subsequence

    最长公共上升子序列   LCIS 看这个博客  http://www.cnblogs.com/nuoyan2010/archive/2012/10/17/2728289.html #include&l ...