最重要的前提就是:集群中的所有机器的用户名和用户组必须一样

一般做法都是在每台机器上新建用户组和用户名。

比如:sudo addgroup sparks 新建用户组sparks;

   sudo adduser spark sparks 在新建用户组sparks中添加用户spark

   sudo adduser spark sudo 添加sudo权限

补充说明:

   ubuntu默认root是不能使用,这一点个人感觉不如cntos方便,命令经常要加sudo

继续说ssh的事情,步骤:

   1.首先确认每台机器都安装了openssh-server,ubuntu默认安装了openssh-client

     查看方法:ps -e |grep ssh

         1028 ?        00:00:00 sshd     已安装

         如果没有,执行sudo apt-get install openssh-server安装即可

   2.分别先在每台机器执行 ssh-keygen -t rsa ,当然rsa只是一种方式,也可以用别的,比如dsa

     具体ssh-keygen 可以查看help

     会在~/ 目录下生成 .ssh文件,原来是没有cd ~/.ssh 可以看到id_rsa.pub(公钥)和id_rsa(私钥)

   3.主从式集群结构master和slave

将每台slave的公钥拷贝到master

     例如:在slave1机器上

scp ~/.ssh/id_rsa.pub spark@master:~/.ssh/pub1

在slave2机器上

scp ~/.ssh/id_rsa.pub spark@master:~/.ssh/pub2

…………………

   4.在master的~/.ssh下,将pub1,pub2等等追加到authorized_keys文件

      authorized_keys该文件默认是不存在(除非以前配过ssh)

直接cat pub1 pub2 >> authorized_keys

5.    将包含所有机器公钥的authorized_keys在分发给所有的slave,即可

     scp ~/.ssh/authorized_keys spark@slave1:~/.ssh/

以上演示主要是说明原理,实际工作均用脚本化完成!     

然后就可以在任意机器无密码访问别的机器

ssh slave1

如果出现:

     Agent admitted failure to sign using the key

   执行ssh-add即可!

     

ubuntu集群下ssh配置总结的更多相关文章

  1. Ubuntu 14.10 下SSH配置

    安装Hadoop时候需要设置SSH ,故将此过程记录下来   推荐安装 OpenSSH , Hadoop 需要通过 SSH 来启动 Slave 列表中各台主机的守护进程,因此 SSH 是必需安装的.虽 ...

  2. 如何解决quartz在集群下出现的资源抢夺现象

    Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中.它提供了巨大的灵活性而不牺牲简单性.你能够用它来为执行一个作业而创建简单的或复杂的调度,简单的说就是可以 ...

  3. Linux下Ganglia集群监控安装、配置笔记

    http://www.blogjava.net/henry14/archive/2011/12/17/ganglia.html 枪声依旧 Linux下Ganglia集群监控安装.配置笔记 Gangli ...

  4. 3-3 Hadoop集群完全分布式配置部署

    Hadoop集群完全分布式配置部署 下面的部署步骤,除非说明是在哪个服务器上操作,否则默认为在所有服务器上都要操作.为了方便,使用root用户. 1.准备工作 1.1 centOS6服务器3台 手动指 ...

  5. CEPH集群操作入门--配置

      参考文档:CEPH官网集群操作文档   概述 Ceph存储集群是所有Ceph部署的基础. 基于RADOS,Ceph存储集群由两种类型的守护进程组成:Ceph OSD守护进程(OSD)将数据作为对象 ...

  6. hadoop-2.6.0集群开发环境配置

    hadoop-2.6.0集群开发环境配置 一.环境说明 1.1安装环境说明 本例中,操作系统为CentOS 6.6, JDK版本号为JDK 1.7,Hadoop版本号为Apache Hadoop 2. ...

  7. Jenkins集群下的pipeline实战

    关于Jenkins集群 在<快速搭建Jenkins集群>一文中,我们借助docker快速搭建了Jenkins集群,今天就在这个集群环境中创建pipeline任务,体验Jenkins集群下的 ...

  8. KingbaseES R6 集群修改ssh端口执行sys_backup.sh备份案例

    数据库环境:** test=# select version(); version ---------------------------------------------------------- ...

  9. 教你如何利用分布式的思想处理集群的参数配置信息——spring的configurer妙用

    引言 最近LZ的技术博文数量直线下降,实在是非常抱歉,之前LZ曾信誓旦旦的说一定要把<深入理解计算机系统>写完,现在看来,LZ似乎是在打自己脸了.尽管LZ内心一直没放弃,但从现状来看,需要 ...

随机推荐

  1. [转]Angular4 数据请求 POST、GET

    本文转自:https://blog.csdn.net/dailuwen/article/details/79375980 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog ...

  2. EF(EntityFramework)与mysql使用,序列化问题[System.ObjectDisposedException]

    在EF 中使用mysql关联取数据时,如果当前实体中包含另一个实体的list成员,而这个成员为空的话,在json序列化的时候就会报错: '((System.Data.Entity.DynamicPro ...

  3. SET XACT_ABORT ON是什么?

    避免自己遗忘,在这里做个笔记: SET XACT_ABORT ON:强制事务回滚,如果不加这句的话事务有可能回滚失败.

  4. 浅谈Token理解运用

    周末没带电脑,闲着也是闲着,出来分享一点东西,也当自己学习和巩固了. 今天分享一下Token的理解,首先Token的定义是什么? 概念 Token被翻译成为('令牌','标记')在计算机中的含义也差不 ...

  5. Codeforces Round #308 (Div. 2)

    A. Vanya and Table   Vanya has a table consisting of 100 rows, each row contains 100 cells. The rows ...

  6. spring boot之hello

    自己使用springboot也已经写过一段时间的代码,但是对springboot真正运行的流程还是有点模糊,今天写出自己对springboot的认识,如有不对,还请各位大佬不吝赐教,话不多说,直接上代 ...

  7. 如何清除浮动(float)所带来的影响

    清除浮动(float) 1.定义和用法 在w3c中给了浮动这样的定义. "float 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素 ...

  8. 4:Python的while循环

    while循环: while count<10: print(count) #count=100 count=count+1 print(123) while循环break:终止所有循环 cou ...

  9. JS中replace替换全部的正确应用

    一般使用 var str = "test-test-test"; str = "test-test-test".replace("test" ...

  10. git 入门教程之实战 git

    实战 git git 是一款分布式版本控制系统,可以简单概括: 不要把鸡蛋放在一个篮子里,你的一举一动都在监视中. 实战场景 你作为某项目的其中一员或者负责人,和小伙伴们一起开发,大家既有着各自分工互 ...