Hadoop集群配置免密登录方法

Hadoop集群包含1个主节点和3个从节点,需要实现各节点之间的免密码登录,下面介绍具体的实现方法。

一、Hadoop集群环境

二、免密登录原理

每台主机authorized_keys文件里面包含的主机(ssh密钥),该主机都能无密码登录,所以只要每台主机的authorized_keys文件里面都放入其他主机(需要无密码登录的主机)的ssh密钥就行了。

三、实现方法

1. 配置每个节点的hosts文件

#vim /etc/hosts1 192.168.44.3 hadoop01
2 192.168.44.4 hadoop02
3 192.168.44.5 hadoop03
4 192.168.44.6 hadoop04

2. 每个节点生成ssh密钥

[[email protected] ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory ‘/root/.ssh‘.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
.....................

[[email protected] .ssh]# ls
id_rsa  id_rsa.pub

执行命令后会在~目录下生成.ssh文件夹,里面包含id_rsa和id_rsa.pub两个文件。

注:使用ssh-keygen -t rsa -P ‘‘ -f ~/.ssh/id_rsa命令可避免上述交互式操作。

3. 在主节点上将公钥拷到一个特定文件authorized_keys中。

[[email protected] ~]# cd .ssh
[[email protected] .ssh]# ls
id_rsa  id_rsa.pub
[[email protected] .ssh]# cp id_rsa.pub authorized_keys
[[email protected] .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub

4. 将authorized_keys文件拷到下一个节点,并将该节点的ssh密钥id_rsa.pub加入该文件中。

#在hadoop01上使用scp命令实现远程文件拷贝[[email protected] .ssh]# scp authorized_keys  [email protected]:/root/.ssh/
The authenticity of host ‘hadoop02 (192.168.44.11)‘ can‘t be established.
ECDSA key fingerprint is SHA256:MyB1zs0E3J/fm8pC0AN8ycsgEIBNHtUqd9xS0WAyv3s.
ECDSA key fingerprint is MD5:88:48:3a:ba:3e:14:a7:d7:86:f6:51:74:00:10:f9:00.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘hadoop02,192.168.44.11‘ (ECDSA) to the list of known hosts.
[email protected]‘s password:
authorized_keys                                                                100%  395   306.2KB/s   00:00    

#登录hadoop02主机

[[email protected] ~]# cd .ssh/
[[email protected] .ssh]# ls
authorized_keys id_rsa id_rsa.pub
[[email protected] .ssh]# cat id_rsa.pub >> authorized_keys #使用cat追加方式

5. 重复第4步的操作,依次将hadoop03、hadoop04节点的ssh密钥加入到authorized_keys文件中,并将hadoop04节点生成的authorized_keys文件拷贝到其他三个节点(hadoop01、hadoop02、hadoop03)即可。

#登录hadoop03主机,将ssh密钥加入authorized_keys文件中
[[email protected] .ssh]# cat id_rsa.pub >> authorized_keys
[[email protected] .ssh]# scp authorized_keys [email protected]:/root/.ssh/

#登录hadoop04主机,将ssh密钥加入authorized_keys文件中
[[email protected] .ssh]# cat id_rsa.pub >> authorized_keys 

#将最后生成的authorized_keys文件分别拷贝到hadoop01、hadoop02和hadoop03
[[email protected] .ssh]# scp authorized_keys [email protected]:/root/.ssh/
[[email protected] .ssh]# scp authorized_keys [email protected]:/root/.ssh/
[[email protected] .ssh]# scp authorized_keys [email protected]:/root/.ssh/

6. 验证免密登录

使用ssh 用户名@节点名或ssh ip地址命令验证免密码登录。

[[email protected] .ssh]# ssh [email protected]
Last login: Tue Feb 12 03:59:46 2019 from 192.168.44.1

[[email protected] .ssh]# ssh [email protected]
Last login: Tue Feb 12 21:27:24 2019 from hadoop04

[[email protected] .ssh]# ssh [email protected]
Last login: Tue Feb 12 04:00:47 2019 from 192.168.44.1

[[email protected] .ssh]# ssh [email protected]
Last login: Tue Feb 12 21:26:44 2019 from hadoop02

原文地址:https://www.cnblogs.com/shireenlee4testing/p/10366061.html

时间: 2024-08-29 07:13:12

Hadoop集群配置免密登录方法的相关文章

hadoop集群配置和在windows系统上运用java操作hdfs

安装 配置 概念 hadoop常用shell命令 使用java操作hadoop 本文介绍hadoop集群配置和在windows系统上运用java操作hdfs 安装 http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.1.1/ sudo apt-get install ssh sudo apt-get install rsync mkdir /usr/local/hadoop tar -zxvf hadoop-3.1.1.tar.gz -C

Hadoop 集群配置记录小结

Hadoop集群配置往往按照网上教程就可以"配置成功",但是你自己在操作的时候会有很多奇奇怪怪的问题出现, 我在这里整理了一下常见的问题与处理方法: 1.配置/etc/hosts 这个文件至关重要,他决定了各个节点是否能够成功通信,有两个地方要注意 1.127.0.0.1 localhost 要配置在其他的地址之后 2.127.0.0.1 hostname 配置要删掉,因为有对应的配置,比如192.168.0.150 service1 常见问题:节点间无法通信,datanode无法和n

Hadoop集群配置心得(低配置集群+自动同步配置)

本文为本人原创,首发到炼数成金 http://f.dataguru.cn/thread-138720-1-1.html. 情况是这样的,我没有一个非常强劲的电脑来搞出一个性能非常NB的服务器集群,相信很多人也跟我差不多,所以现在把我的低配置集群经验拿出来写一下好了. 我的配备:1)五六年前的赛扬单核处理器2G内存笔记本 2)公司给配的ThinkpadT420,i5双核处理器4G内存(可用内存只有3.4G,是因为装的是32位系统的缘故吧...) 就算是用公司配置的电脑,做出来三台1G内存的虚拟机也

Hadoop集群配置过程中需要注意的问题

环境:VMwareWorkstation8.0 和 Ubuntu14.04 1. 使用三台虚拟机搭建Hadoop集群 2. 一定要在每台机器上配置ssh免密码登录 3. 由于需要给/etc/hosts文件配置3台虚拟机的IP,所以尽量给三台虚拟机设置静态IP.不然即使之前整个集群搭建成功了,但是当某一台的IP变化后,这个集群又不可以使用了. 例如报如下错误: 当重新将/etc/hosts中各个节点的ip以及mapred-site.xml中master节点的ip改正确后,在重新启动hadoop就好

Hadoop集群配置(最全面总结)

通常,集群里的一台机器被指定为 NameNode,另一台不同的机器被指定为JobTracker.这些机器是masters.余下的机器即作为DataNode也作为TaskTracker.这些机器是slaves\ 官方地址:(http://Hadoop.apache.org/common/docs/r0.19.2/cn/cluster_setup.html) 1 先决条件 确保在你集群中的每个节点上都安装了所有必需软件:sun-JDK  ,ssh,Hadoop JavaTM1.5.x,必须安装,建议

为已存在的Hadoop集群配置HDFS Federation

一.实验目的 1. 现有Hadoop集群只有一个NameNode,现在要增加一个NameNode. 2. 两个NameNode构成HDFS Federation. 3. 不重启现有集群,不影响数据访问. 二.实验环境 4台CentOS release 6.4虚拟机,IP地址为 192.168.56.101 master 192.168.56.102 slave1 192.168.56.103 slave2 192.168.56.104 kettle 其中kettle是新增的一台"干净"

hadoop集群配置

一.首先我们需要一个 hadoop-2.8.5.tar.gz 这里就省略了什么解压,指定路径什么的步骤啦 1.配置hadoop环境变量 vim /etc/profile export HADOOP_HOME=/usr/java/hadoop-2.8.5 (按自己的路径来) export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 记得 source   /etc/profile 2.修改hadoop的配置文件 cd /usr/java/hadoop

SSH配置免密登录

[参考文章]:linux服务器ssh免密码登录 [参考文章]:ssh分发秘钥时出现错误“Permission denied (publickey,gssapi-keyex,gssapi-with-mic)” [参考文章]:ssh免密码登录Permission denied (publickey,gssapi-keyex,gssapi-with-mic) 的解决方案! [参考文章]:ssh配置无密码登录 1. 生成服务器的公钥和私钥文件 输入命令:ssh-keygen -t rsa 提示输入点击回

expect一键实现集群ssh免密登入

expect具有非交互式功能 yum -y install expect mkpasswd -l 20   #<==生成随机字符串,-l参数指定生成字符串的长度 非交互密钥分发 添加用户(所有机器) useradd jiege1 echo 123456|passwd --stdin jiege1 id jiege1 10创建密钥对 su - jiege1 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa>/dev/null 2>&1 10一键分发公