1. 程式人生 > >配置hadoop叢集時,ssh無密碼登陸設定(各個主機的使用者名稱需要一樣)

配置hadoop叢集時,ssh無密碼登陸設定(各個主機的使用者名稱需要一樣)

目標:

在配置hadoop分散式安裝過程中,需要配置ssh的無密碼登入。在組建hadoop叢集的時候,需要多臺實體機進行通訊(傳送或者讀取資料,namenode和datanode之間)就是藉助ssh,在通訊過程中如果需要操作人員頻繁輸入密碼是不切實際的,所以需要ssh的無密碼登入。

環境:

  • 主機hadoop0,namenode,centos6.4 作業系統,使用者名稱hadoop
  • 從機hadoop1,datanode,centos6.4 作業系統,使用者名稱hadoop
  • JDK1.7
  • Hadoop 2.2.0
  • HBase 0.90.5

配置:

首先請確保防火牆都處於關閉狀態,具體命令是ufs disable。並確保安裝ssh spenssh-server。

在主機hadoop0中執行以下命令:

  1. cd ~/.ssh     (進入使用者目錄下的隱藏檔案.ssh)
  2. ssh-keygen -t rsa   (用rsa生成金鑰)
  3. cp id_rsa.pub authorized_keys   (把公鑰複製一份,並改名為authorized_keys,這步執行完,應該ssh localhost可以無密碼登入本機了,可能第一次要密碼)
  4. scp authorized_keys[email protected]:/home/hadoop/.ssh  (把重新命名後的公鑰通過ssh提供的遠端複製檔案複製到從機qiuchenl1上面)
  5. chmod 600 authorized_keys
        (更改公鑰的許可權,也需要在從機qiuchenl1中執行同樣程式碼)
  6. ssh hadoop1  (可以遠端無密碼登入qiuchenl1這臺機子了,注意是ssh不是sudo ssh。第一次需要密碼,以後不再需要密碼)

注意:

在安裝分散式hadoop過程中,需要將所有機子的使用者名稱改為一樣,如我的例子:hadoop。在linux下,有“主機名”和“使用者名稱”之分。“主機名”相當與機子的IP,是該機子的唯一標識(可以用命令hostname來檢視本機主機名),而一個作業系統可以有多個使用者,每個使用者都有使用者名稱,如我的hadoop(root也是一個使用者,只不過許可權比較大)。

我們如果要訪問其他主機,都是通過對方的ip來訪問,比如ping 192.168.137.101.既然主機名也是標識,為什麼不能ping hadoop1呢。因為當前機子步識別這個主機名,需要修改/etc/profile檔案如下:

  現在就把ip和主機名一一對應起來,也就可以ping hadoop1了。

下面迴歸正題,ssh遠端登入其他機子,是登入那個機子的某個使用者,所以在上面的第四步 我是把公鑰檔案拷貝到hadoop1主機下的hadoop使用者,所以我只能遠端控制該使用者。再看上面第6步,要登入hadoop1hadoop使用者,命令應該是ssh hadoop@hadoop1,為什麼是ssh hadoop1就可以呢。因為ssh hadoop1會預設以當前主機的使用者名稱(也就是hadoop0hadoop)來遠端登入。因為hadoop0hadoop1兩個機子的使用者名稱都是hadoop,所以可以用ssh hadoop1代替 ssh hadoop@hadoop1.如果hadoop1這臺主機沒有hadoop這個使用者,那麼ssh hadoop1就無法使用。

最後:

既然可以用ssh hadoop@hadoop1代替ssh hadoop1,就沒有必要讓hadoop每臺自己的使用者名稱一樣。這樣想是不對的。因為ssh遠端無密碼登入可以用ssh hadoop@hadoop1。但是hadoop內部是不會這樣智慧處理的。所以在配置hadoop叢集時,要把所有機子的使用者名稱設定一樣。

相關推薦

配置hadoop叢集ssh無密碼登陸設定各個主機的使用者名稱需要一樣

目標: 在配置hadoop分散式安裝過程中,需要配置ssh的無密碼登入。在組建hadoop叢集的時候,需要多臺實體機進行通訊(傳送或者讀取資料,namenode和datanode之間)就是藉助ssh,在通訊過程中如果需要操作人員頻繁輸入密碼是不切實際的,所以需要ssh的

【完全分散式Hadoop叢集設定SSH無密碼登陸

之前的文章已經有SSH免密部分,這裡單獨列出來只是為了方便查詢 打通SSH,設定ssh無密碼登陸(所有節點) 組建了三個節點的叢集hadoop000、hadoop001、hadoop002 在所有節點上執行 ssh-keygen -t rsa 一路回車,生成無密碼的金鑰對。 將各個節點的公鑰

2.修改/etc/hosts檔案 /安裝SSH配置SSH無密碼登陸全程切換到hadoop使用者下操作

修改/etc/hosts檔案 sudo gedit /etc/hosts 127.0.0.1 localhost 192.168.222.129 master 下面分別對應三個機器的IP地址,用ifconfig檢視 192.168.222.

hadoop-13-root ssh無密碼登陸

服務 bsp tar == rest zed gin root conf hadoop-13-root ssh無密碼登陸 生產機器禁止ROOT遠程SSH登錄: vi /etc/ssh/sshd_config 把 PermitRootLogin yes 改為 PermitRo

配置ssh無密碼登陸Linux

zed art 名稱 請求 需要 pre use 基於 lin Windows下面的話需要安裝git,或者其他能執行shell命令的軟件 1、首先要先修改SSH的配置文件 vi /etc/ssh/sshd_config#修改配置文件 #如果被#註釋了,就取消#號,改為

叢集配置多臺計算機之間ssh無密碼登入的一種簡便方法

當我們在配置多臺計算,使之可以相互使用無密碼登入-ssh,之前都是一臺一臺的配置,現在一臺A上新增B,然後在另一臺B上再次新增A,這樣使得authorized_keys中的內容相同,但時並不是完全相同,比如新增順序。如果超過2臺,這種配置就相當複雜了,而且容易出錯。後來,在

淺談遠程登錄ssh的加密原理

回車 直接 phrase 允許 輸入密碼 tar continue 兩種 left 登錄方式主要有兩種: 1、基於用戶密碼的登錄方式: 加密原理: 當服務器知道用戶請求登錄時,服務器會把自己的公鑰發給用戶,ssh會將服務器的公鑰存放在客戶端的~/.ssh/

配置hadoop叢集常見問題和概念聯絡

1)防火牆沒關閉、或者沒有啟動yarn(如果namenode和yarn的resourcemanager在同一臺伺服器上,就只需要配置該臺伺服器的ssh,然後把公鑰分發到其他節點,如果namenode和resourcemanager在不同伺服器上,那麼這兩臺伺服器都必須配置ssh,把各自的公鑰

關於Hadoop叢集中使用SSH免密登入的詳細操作!

很多時候,在我們操作不同的虛擬機器時,常常因為一些需要密碼的操作,因此,各虛擬機器之間的免密設定必不可少。那麼這篇我們就來介紹關於虛擬機器之間配置SSH免密操作的詳細流程! 準備條件:兩臺以上的虛擬機器,因為想要給大家介紹關於Hadoop叢集的搭建,所以我這邊準備了三臺虛擬機器,分別為: h

docker 安裝centos7配置hadoop叢集

$ docker pull centos ##檢視下載映象##檢視下載映象 $ doker image ls -a ##啟動容器載入映象,同時進入啟動的容器 $ docker run -it --name centos-1 centos /bin/bash

vmware centOS7.0環境下配置hadoop叢集+spark叢集

從開始玩linux,配置hadoop和spark叢集的過程用了二十多個小時,後面也是進行得越來越順利。 在安裝和配置過程中學習和用到的一些網站和部落格,在此分享一下。 一、vmware centOS7.0 hadoop jdk hadoop scala spark 安裝包百度網盤分享

阿里雲搭建hadoop叢集伺服器內網、外網訪問問題詳解。。。

  這個問題花費了我將近兩天的時間,經過多次是錯和嘗試,現在想分享給大家來解決此問題避免大家入坑,以前都是在區域網上搭建的hadoop叢集,並且是區域網訪問的,沒遇見此問題。 因為阿里雲上搭建的hadoop叢集,需要配置對映叢集經過內網訪問,也就是區域網的ip地址。   如果配置為公網IP地址,就會出現叢

Hadoop叢集搭建中ssh免密登入

 參考: 大資料系列(3) Hadoop中的ssh無密碼登入配置 解決 Agent admitted failure to sign using the key 問題 with ssh

密碼正確SSH無法登陸Received disconnect from ***: Too many /Permission denied, please try again.

下午嘗試**把本地windows系統檔案上傳到多個linux伺服器**, 因為windows系統本身不支援ssh協議,所以,要想上面的命令成功執行,必須在windows客戶端安裝ssh for windows的客戶端軟體, 於是在本地win10上安裝ssh客

Ubuntu 搭建hadoop叢集成功但MobaXterm無法遠端連線叢集各個節點

由於我是在VMware上 使用的ubuntu系統,因此解決這個問題需要先了解一下VMware三種網路工作模式: 我們可以看到有VMnet0(橋接模式)、VMnet1(僅主機模式)、VMnet8(NAT模式)其中: VMnet0表示的是:用於橋接模式下的虛擬交換機;

搭建hadoop叢集的一些問題

1、在做格式化時,/bin/hdfs namenode -format出錯:ERROR namenode.NameNode: Failed to start namenode.java.lang.IllegalArgumentException: URI has an authority componenta

redis叢集出現的幾個異常問題

1、in `call’: ERR Slot 8579 is already busy (Redis::CommandError) 在 /my_soft/Redis安裝包及jar包/redis-3.0.4/src 目錄下 執行redis 叢集安裝命令: [sql] view plain copy pri

配置Hadoop叢集:java.net.NoRouteToHostException: No route to host問題的解決

datanode連線不上namenode,導致datanode無法啟動。[[email protected] bin]# ./hdfs dfsadmin -report report: No

裝完jdk後配置環境變數不小心把path裡的內容刪了怎麼辦?

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Te

Struts2的web.xml中的url-pattern路徑配置為/*.actionTomcat一啟動執行就報錯嚴重: A child container failed during star

Struts2中web.xml中的url-pattern路徑配置錯誤導致Tomcat一起動就報錯。   如上圖url-pattern配置為/*.action  (錯誤)      修改成: