1. 程式人生 > >hadoop叢集配置無密碼登陸 啟動關閉namenode輸入密碼的解決方法

hadoop叢集配置無密碼登陸 啟動關閉namenode輸入密碼的解決方法

最近做hadoop學習,按網上的資料照本宣科做的,發現死活搞不懂為啥在啟動和關閉namenode的時候都要輸入密碼。上網查詢半天都沒摸到頭腦,後來仔細研究了下ssh後才發現,原來是一直沒在namenode主機上加入ssh本地免驗證authorized_keys檔案,ssh 127.0.0.1 還是需要驗證密碼滴。。。。。很多網上的資料都沒專門指出這一步。特此留貼,做個紀念。


[[email protected] .ssh]$ start-all.sh
starting namenode, logging to /home/zzjlzx/hadoop/libexec/../logs/hadoop-zzjlzx-namenode-master.hadoop.com.out
slaves01.hadoop.com: 
slaves01.hadoop.com: starting datanode, logging to /home/zzjlzx/hadoop/logs/hadoop-zzjlzx-datanode-slaves01.hadoop.com.out
slaves02.hadoop.com: ssh: connect to host slaves02.hadoop.com port 22: No route to host
slaves03.hadoop.com: ssh: connect to host slaves03.hadoop.com port 22: No route to host
[email protected]
's password: 
master.hadoop.com: starting secondarynamenode, logging to /home/zzjlzx/hadoop/libexec/../logs/hadoop-zzjlzx-secondarynamenode-master.hadoop.com.out

1. ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
2.cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 
這兩步可以實現,本地 ssh localhost,配置完後,最好先 ssh 一下,這樣可以生成一些東西到 ~/.ssh/known_hosts 
如果是 偽分散式的,ssh 已經配置完成了。
有的系統,有時候還需要將~/.ssh/authorized_keys(
這個也弄了半天,ssh對檔案的安全許可權也是有要求的。) 的許可權改為:600
完全分散式還需配置如下:
3. 將 Namenode 的 金鑰 複製自己的裡面,最好 雙向的都有,都可以互相ssh。
按一般的情況,現在已經配置完成了。
有時候,幾個節點 使用者名稱不一樣,Namenode 啟動其他節點的時候,預設用的自己下的 使用者名稱。
比如:Namenode 使用者名稱為 :hadoop ,node1 使用者名稱為:user1
這樣是:ssh [email protected] 這樣登入 的,啟動時還會提示輸入密碼。
解決辦法:slaves 裡配置成:[email protected]

最好 各節點的使用者名稱一樣,Hadoop 裡 還有 安全認證,這樣好管理 。

hadoop叢集配置無密碼登陸範例:

1 生成私匙 id_rsa 與 公匙 id_rsa.pub 配置檔案 
[[email protected] ~]$ ssh-keygen -t rsa 
Generating public/private rsa key pair. 
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/hadoop/.ssh/id_rsa. 
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub. 
The key fingerprint is: 
d6:63:76:43:e2:5b:8e:85:ab:67:a2:7c:a6:8f:23:f9 [email protected] 

2 私匙 id_rsa 與 公匙 id_rsa.pub 配置檔案 
[[email protected] ~]$ ls .ssh/ 
authorized_keys  id_rsa  id_rsa.pub  known_hosts 
3 把公匙檔案上傳到namenode伺服器
$cd
$cd .ssh 
$cat id_dsa.pub >> authorized_keys
$ll
-rw-rw-r--. 1 zzjlzx zzjlzx  406 11月 29 01:01 authorized_keys
-rw-------. 1 zzjlzx zzjlzx 1675 11月 26 01:30 id_rsa
-rw-r--r--. 1 zzjlzx zzjlzx  406 11月 26 01:30 id_rsa.pub
-rw-r--r--. 1 zzjlzx zzjlzx 2440 11月 29 01:06 known_hosts
$chmod 600 authorized.keys
-rw-------. 1 zzjlzx zzjlzx  406 11月 29 01:01 authorized_keys
-rw-------. 1 zzjlzx zzjlzx 1675 11月 26 01:30 id_rsa
-rw-r--r--. 1 zzjlzx zzjlzx  406 11月 26 01:30 id_rsa.pub
-rw-r--r--. 1 zzjlzx zzjlzx 2440 11月 29 01:06 known_hosts
4 把公匙檔案上傳到datanode伺服器  [[email protected] ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] 
28 
[email protected]'s password: 
Now try logging into the machine, with "ssh '[email protected]'", and check in: 

  .ssh/authorized_keys 

to make sure we haven't added extra keys that you weren't expecting. 

[[email protected] ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] 
28 
[email protected]'s password: 
Now try logging into the machine, with "ssh '[email protected]'", and check in: 

  .ssh/authorized_keys 

to make sure we haven't added extra keys that you weren't expecting. 

[[email protected] ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] 
28 
[email protected]'s password: 
Now try logging into the machine, with "ssh '[email protected]'", and check in: 

  .ssh/authorized_keys 

to make sure we haven't added extra keys that you weren't expecting. 

[[email protected] ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] 
28 
[email protected]'s password: 
Now try logging into the machine, with "ssh '[email protected]'", and check in: 

  .ssh/authorized_keys 

to make sure we haven't added extra keys that you weren't expecting. 


5 驗證 
[[email protected] ~]$ ssh datanode1 
Last login: Thu Feb  2 09:01:16 2012 from 192.168.57.71 
[[email protected] ~]$ exit 
logout 

[[email protected] ~]$ ssh datanode2 
Last login: Thu Feb  2 09:01:18 2012 from 192.168.57.71 
[[email protected] ~]$ exit 
logout 

[[email protected] ~]$ ssh datanode3 
Last login: Thu Feb  2 09:01:20 2012 from 192.168.57.71 
[[email protected] ~]$ exit 
logout 

[[email protected] ~]$ ssh localhost 
Last login: Thu Feb  2 09:01:24 2012 from 192.168.57.71 
[[email protected] ~]$ exit 
logout 


參考:
http://dngood.blog.51cto.com/446195/775368
http://blog.csdn.net/tyj2788540/article/details/8191666

相關推薦

hadoop叢集配置無密碼登陸 啟動關閉namenode輸入密碼解決方法

最近做hadoop學習,按網上的資料照本宣科做的,發現死活搞不懂為啥在啟動和關閉namenode的時候都要輸入密碼。上網查詢半天都沒摸到頭腦,後來仔細研究了下ssh後才發現,原來是一直沒在namenode主機上加入ssh本地免驗證authorized_keys檔案,ssh

hadoop叢集一鍵自動啟動和自動關閉shell指令碼

          #!/bin/bash         echo "-------------------正在啟動叢集-------- "         echo "-------------------正在啟動NameNode-------- "         ssh [email pro

Hadoop配置無密碼登陸

hadoop配置無密碼登陸 第一步: 輸入 ssh-keygen -t rsa 之後連續四個回車 出現這個第一步就成功了 第二步: 輸入cd ~/.ssh/ 進入到.ssh資料夾下,然後追加公鑰到公共檔案 輸入cat id

Hadoop叢集配置安裝,詳細步驟及講解

**涉及linux命令一定要注意大小寫和空格,linux系統對此敏感** **hadoop叢集的安裝一定要靜下心一步一步來** 1、關閉防火牆(防火牆最好關閉,不然以後linux操作會有很多麻煩) 1)輸入命令: vi etc/selinux/config 其中改為 SELINU

偽分散式執行MapReduce(叢集配置,log日誌和namenode格式化,叢集操作)

目錄 叢集的啟動和配置 log日誌和namenode為何不能一直格式化?  操作叢集(上傳,下載,執行MapReduce,查詢) 叢集的啟動和配置 #1,進入/opt/module/hadoop-2.7.2/etc/hadoop目錄,配置hadoop-env.s

elasticsearch5.5多機叢集配置 與 Centos 7關閉防火牆

    今天,講解下elasticsearch叢集的配置與在centos中如何關閉防火牆..... 首先,講解下如何在centos中關閉防火牆?       為啥要講一下這塊內容呢?在實際的開發與運維中,經常會遇到應用啟動後,訪問應用.....報錯404......很多情

適合小白的 Hadoop 叢集配置搭建,非常詳細

準備工作: 1。VMware Workstation 14 中安裝虛擬機器 ,版本為 CentOS7(我搭建的叢集為三臺,安裝一臺克隆兩臺,這裡不做解釋,可自行百度) 2。JDK1.8 ,下載地址為 https://pan.baidu.com/s/15Y

Hadoop叢集配置之後瀏覽器無法訪問問題

http://blog.csdn.net/wx217415/article/details/51943863?locationNum=12 最近在做Hadoop分散式叢集學習,配置好之後通過瀏覽器訪問50070埠來監測管理, 但是配置好之後發現瀏覽器訪問不到,網上查

hadoop叢集之間無密碼登入設定

目前有幾臺機器,主機器叫master,另一臺叫slave1。要在master上無密碼登入slave1,需要做無密碼登入操作。 步驟一 在master上操作下面命令: 輸入ssh-keygen -t rsa後一直按回車鍵,好像有3次 $ cd ~

生產環境下hadoop叢集配置之DNS配置實驗

一、實驗環境: Mac os 下 VirtualBox中三臺安裝centos 6.3虛擬機器 主機名 別名 IP地址 系統版本 角色 lhmaster lhmaster.lihui.hadoop 192.168.1.4 Centos

hadoop叢集的搭建和啟動

Hadoop的叢集搭建一:JDK裝好二:配置了免密登陸和主機名對映三:同步時間和關閉防火牆四:然後開始搭建hadoop叢集NAT 方式聯網配置 h ssh  免密登陸#生成 ssh 免登陸金鑰ssh-keygen -t rsa (四個回車)執行完這個命令後,會生成 id_rs

Hadoop的HA機制(Zookeeper叢集+Hadoop叢集)配置記錄

博主:hadoop_version=2.4.1 java_version=1.7 zooKeeper_version=3.4.5 Linux =CentOs 6.5 1.首先說明HA是什麼?

hadoop叢集只有一個datanode啟動問題

之前不懂犯了個低階錯誤,導致datanode只能啟動一個;很是奇怪; 首先,之前多次將namenode格式化,導致namenode和datanode的clusterID不一致無法啟動datanode 注:clusterID在/usr/local/hadoop/hdfs/na

hadoop叢集配置(一,單點配置

參考書籍:Hadoop+Speak大資料巨量分析與機器學習整合開發實戰。林大貴。不錯  單點 叢集  機器學習都可以。走一遍hadoop叢集配置在一臺節點上建立新使用者Hadoop      useradd Hadoop   新增密碼  passwd  hadoop 更新包:

ganglia監控hadoop叢集配置

本篇文章是參考網上別人的部落格,加自己實踐後記錄下來的,免得自己又忘了,感謝網際網路的分享精神,感謝大牛們的分享。 ganglia簡介 Metrics- 監控電腦的執行資料 Node - 一臺電腦,或許擁有多個CPU,中文稱之為節點。 Clu

hadoop ha 只能同時啟動一個namenode問題的解決方案

啟動一個,另外一個就自動退出了。。 後來發現是我配置檔案的問題: 1. hdfs-site.xml 裡缺少如下配置,這是關於HA的 <property> <name>dfs.client.failover.proxy.pr

centos7下/etc/rc.local文件裏配置的開機啟動項不執行的解決辦法

mpat rip pre pat 正在 nbsp his local other 習慣於在/etc/rc.local文件裏配置我們需要開機啟動的服務,這個在centos6系統下是正常生效的。但是到了centos7系統下,發現/etc/rc.local文件裏的開機啟動項不

首次安裝mysql服務,無法啟動服務&登陸被拒ERROR 1045 (28000)解決方法

2.10.4保護初始MySQL帳戶(複製於MySQL官網) MySQL安裝過程涉及初始化資料目錄,包括mysql包含定義MySQL帳戶的授權表的資料庫。有關詳細資訊,請參見第2.10節“安裝後設置和測試”。 本節介紹如何為rootMySQL安裝過程中建立的初始帳戶分配密碼 (如果尚未

本地搭建hadoop叢集--hadoop2.7.6-src在linux上編譯解決downloading過慢教程

第一步:工具的準備 apache-ant-1.9.9-bin.tar.gz apache-maven-3.0.5-bin.tar.gz hadoop-2.7.6-src.tar.gz jdk1.7 就好別用1.8 據說 用1.8 maven 編譯 會報各種錯。 protobuf-2

首次安裝mysql服務,無法啟動服務&登陸被拒ERROR 1045 (28000)解決方法

2.10.4保護初始MySQL帳戶(複製於MySQL官網) MySQL安裝過程涉及初始化資料目錄,包括mysql包含定義MySQL帳戶的授權表的資料庫。有關詳細資訊,請參見第2.10節“安裝後設置和測試”。 本節介紹如何為rootMySQL安裝過程中建立的初始帳