Hadoop安裝配置-VMWare下CentOS-6.4+ hadoop-0.20.2-cdh3u6分散式安裝【圖文】
3)修改當前機器IP
假定我們的機器連IP在當時安裝機器時都沒有配置好,那此時我們需要對"ifcfg-eth0"檔案進行配置,該檔案位於"/etc/sysconfig/network-scripts"資料夾下。
在這個目錄下面,存放的是網路介面(網絡卡)的制御指令碼檔案(控制檔案),ifcfg- eth0是預設的第一個網路介面,如果機器中有多個網路介面,那麼名字就將依此類推ifcfg-eth1,ifcfg-eth2,ifcfg- eth3,……。
這裡面的檔案是相當重要的,涉及到網路能否正常工作。
設定形式:設定值=值
設定專案專案如下:
DEVICE 介面名(裝置,網絡卡)
BOOTPROTO IP的配置方法(static:固定IP, dhcpHCP, none:手動)
HWADDR MAC地址
ONBOOT 系統啟動的時候網路介面是否有效(yes/no)
TYPE 網路型別(通常是Ethemet)
NETMASK 網路掩碼
IPADDR IP地址
IPV6INIT IPV6是否有效(yes/no)
GATEWAY 預設閘道器IP地址
檢視"/etc/sysconfig/network-scripts/ifcfg-eth0"內容,如果IP不復核,就行修改。
如果上圖中IP與規劃不相符,用下面命令進行修改:
vim /etc/sysconfig/network-scripts/ifcgf-eth0
修改完之後可以用"ifconfig"進行檢視。
從上圖中的值,直接對IP地址進行測試,能夠ping通,但是對主機名進行測試,發現沒有ping通,提示"unknown host——未知主機",這時檢視"Master.Hadoop"的"/etc/hosts"檔案內容。
發現裡面沒有"192.168.1.3 Slave1.Hadoop"內容,故而本機器是無法對機器的主機名為"Slave1.Hadoop" 解析。
在進行Hadoop叢集配置中,需要在"/etc/hosts"檔案中新增叢集中所有機器的IP與主機名,這樣Master與所有的Slave機器之間不僅可以通過IP進行通訊,而且還可以通過主機名進行通訊。所以在所有的機器上的"/etc/hosts"檔案末尾
192.168.1.2 Master.Hadoop
192.168.1.3 Slave1.Hadoop
192.168.1.4 Slave2.Hadoop
192.168.1.5 Slave3.Hadoop
用以下命令進行新增:
vim /etc/hosts
新增結果如下:
現在我們在進行對機器為"Slave1.Hadoop"的主機名進行ping通測試,看是否能測試成功。
從上圖中我們已經能用主機名進行ping通了,說明我們剛才新增的內容,在區域網內能進行DNS解析了,那麼現在剩下的事兒就是在其餘的Slave機器上進行相同的配置。然後進行測試。(備註:當設定SSH無密碼驗證後,可以"scp"進行復制,然後把原來的"hosts"檔案執行覆蓋即可。)
1.4 所需軟體
1)JDK軟體
JDK版本:jdk-6u31-linux-i586.bin
2)Hadoop軟體
Hadoop版本:hadoop-1.0.0.tar.gz
1.5 VSFTP上傳
在"Hadoop叢集(第3期)"講了VSFTP的安裝及配置,如果沒有安裝VSFTP可以按照該文件進行安裝。如果安裝好了,就可以通過FlashFXP.exe軟體把我們下載的JDK6.0和Hadoop1.0軟體上傳到"Master.Hadoop:192.168.1.2"伺服器上。
剛才我們用一般使用者(hadoop)通過FlashFXP軟體把所需的兩個軟體上傳了跟目下,我們通過命令檢視下一下是否已經上傳了。
從圖中,我們的所需軟體已經準備好了。
2、SSH無密碼驗證配置
Hadoop執行過程中需要管理遠端Hadoop守護程序,在Hadoop啟動以後,NameNode是通過SSH(Secure Shell)來啟動和停止各個DataNode上的各種守護程序的。這就必須在節點之間執行指令的時候是不需要輸入密碼的形式,故我們需要配置SSH運用無密碼公鑰認證的形式,這樣NameNode使用SSH無密碼登入並啟動DataName程序,同樣原理,DataNode上也能使用SSH無密碼登入到NameNode。
2.1 安裝和啟動SSH協議
在"Hadoop叢集(第1期)"安裝CentOS6.0時,我們選擇了一些基本安裝包,所以我們需要兩個服務:ssh和rsync已經安裝了。可以通過下面命令檢視結果顯示如下:
rpm –qa | grep openssh
rpm –qa | grep rsync
假設沒有安裝ssh和rsync,可以通過下面命令進行安裝。
yum install ssh 安裝SSH協議
yum install rsync (rsync是一個遠端資料同步工具,可通過LAN/WAN快速同步多臺主機間的檔案)
service sshd restart 啟動服務
確保所有的伺服器都安裝,上面命令執行完畢,各臺機器之間可以通過密碼驗證相互登。
2.2 配置Master無密碼登入所有Salve
1)SSH無密碼原理
Master(NameNode | JobTracker)作為客戶端,要實現無密碼公鑰認證,連線到伺服器Salve(DataNode | Tasktracker)上時,需要在Master上生成一個金鑰對,包括一個公鑰和一個私鑰,而後將公鑰複製到所有的Slave上。當Master通過SSH連線Salve時,Salve就會生成一個隨機數並用Master的公鑰對隨機數進行加密,併發送給Master。Master收到加密數之後再用私鑰解密,並將解密數回傳給Slave,Slave確認解密數無誤之後就允許Master進行連線了。這就是一個公鑰認證過程,其間不需要使用者手工輸入密碼。重要過程是將客戶端Master複製到Slave上。
2)Master機器上生成密碼對
在Master節點上執行以下命令:
ssh-keygen –t rsa –P ''
這條命是生成其無密碼金鑰對,詢問其儲存路徑時直接回車採用預設路徑。生成的金鑰對:id_rsa和id_rsa.pub,預設儲存在"/home/hadoop/.ssh"目錄下。
檢視"/home/hadoop/"下是否有".ssh"資料夾,且".ssh"檔案下是否有兩個剛生產的無密碼金鑰對。
接著在Master節點上做如下配置,把id_rsa.pub追加到授權的key裡面去。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
在驗證前,需要做兩件事兒。第一件事兒是修改檔案"authorized_keys"許可權(許可權的設定非常重要,因為不安全的設定安全設定,會讓你不能使用RSA功能),另一件事兒是用root使用者設定"/etc/ssh/sshd_config"的內容。使其無密碼登入有效。
1)修改檔案"authorized_keys"
chmod 600 ~/.ssh/authorized_keys
備註:如果不進行設定,在驗證時,扔提示你輸入密碼,在這裡花費了將近半天時間來查詢原因。在網上查到了幾篇不錯的文章,把作為"Hadoop叢集_第5期副刊_JDK和SSH無密碼配置"來幫助額外學習之用。
2)設定SSH配置
用root使用者登入伺服器修改SSH配置檔案"/etc/ssh/sshd_config"的下列內容。
RSAAuthentication yes # 啟用 RSA 認證
PubkeyAuthentication yes # 啟用公鑰私鑰配對認證方式
AuthorizedKeysFile .ssh/authorized_keys # 公鑰檔案路徑(和上面生成的檔案同)
設定完之後記得重啟SSH服務,才能使剛才設定有效。
service sshd restart
退出root登入,使用hadoop普通使用者驗證是否成功。
ssh localhost
從上圖中得知無密碼登入本級已經設定完畢,接下來的事兒是把公鑰複製所有的Slave機器上。使用下面的命令格式進行復制公鑰:
scp ~/.ssh/id_rsa.pub 遠端使用者名稱@遠端伺服器IP:~/
例如:
scp ~/.ssh/id_rsa.pub [email protected]:~/
上面的命令是複製檔案"id_rsa.pub"到伺服器IP為"192.168.1.3"的使用者為"hadoop"的"/home/hadoop/"下面。
下面就針對IP為"192.168.1.3"的Slave1.Hadoop的節點進行配置。
1)把Master.Hadoop上的公鑰複製到Slave1.Hadoop上
從上圖中我們得知,已經把檔案"id_rsa.pub"傳過去了,因為並沒有建立起無密碼連線,所以在連線時,仍然要提示輸入輸入Slave1.Hadoop伺服器使用者hadoop的密碼。為了確保確實已經把檔案傳過去了,用SecureCRT登入Slave1.Hadoop:192.168.1.3伺服器,檢視"/home/hadoop/"下是否存在這個檔案。
從上面得知我們已經成功把公鑰複製過去了。
2)在"/home/hadoop/"下建立".ssh"資料夾
這一步並不是必須的,如果在Slave1.Hadoop的"/home/hadoop"已經存在就不需要建立了,因為我們之前並沒有對Slave機器做過無密碼登入配置,所以該檔案是不存在的。用下面命令進行建立。(備註:用hadoop登入系統,如果不涉及系統檔案修改,一般情況下都是用我們之前建立的普通使用者hadoop進行執行命令。)
mkdir ~/.ssh
然後是修改資料夾".ssh"的使用者許可權,把他的許可權修改為"700",用下面命令執行:
chmod 700 ~/.ssh
備註:如果不進行,即使你按照前面的操作設定了"authorized_keys"許可權,並配置了"/etc/ssh/sshd_config",還重啟了sshd服務,在Master能用"ssh localhost"進行無密碼登入,但是對Slave1.Hadoop進行登入仍然需要輸入密碼,就是因為".ssh"資料夾的許可權設定不對。這個資料夾".ssh"在配置SSH無密碼登入時系統自動生成時,許可權自動為"700",如果是自己手動建立,它的組許可權和其他許可權都有,這樣就會導致RSA無密碼遠端登入失敗。
對比上面兩張圖,發現資料夾".ssh"許可權已經變了。
3)追加到授權檔案"authorized_keys"
到目前為止Master.Hadoop的公鑰也有了,資料夾".ssh"也有了,且許可權也修改了。這一步就是把Master.Hadoop的公鑰追加到Slave1.Hadoop的授權檔案"authorized_keys"中去。使用下面命令進行追加並修改"authorized_keys"檔案許可權:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
4)用root使用者修改"/etc/ssh/sshd_config"
具體步驟參考前面Master.Hadoop的"設定SSH配置",具體分為兩步:第1是修改配置檔案;第2是重啟SSH服務。
5)用Master.Hadoop使用SSH無密碼登入Slave1.Hadoop
當前面的步驟設定完畢,就可以使用下面命令格式進行SSH無密碼登入了。
ssh 遠端伺服器IP
從上圖我們主要3個地方,第1個就是SSH無密碼登入命令,第2、3個就是登入前後"@"後面的機器名變了,由"Master"變為了"Slave1",這就說明我們已經成功實現了SSH無密碼登入了。
最後記得把"/home/hadoop/"目錄下的"id_rsa.pub"檔案刪除掉。
rm –r ~/id_rsa.pub
到此為止,我們經過前5步已經實現了從"Master.Hadoop"到"Slave1.Hadoop"SSH無密碼登入,下面就是重複上面的步驟把剩餘的兩臺(Slave2.Hadoop和Slave3.Hadoop)Slave伺服器進行配置。這樣,我們就完成了"配置Master無密碼登入所有的Slave伺服器"。
2.3 配置所有Slave無密碼登入Master
和Master無密碼登入所有Slave原理一樣,就是把Slave的公鑰追加到Master的".ssh"資料夾下的"authorized_keys"中,記得是追加(>>)。
為了說明情況,我們現在就以"Slave1.Hadoop"無密碼登入"Master.Hadoop"為例,進行一遍操作,也算是鞏固一下前面所學知識,剩餘的"Slave2.Hadoop"和"Slave3.Hadoop"就按照這個示例進行就可以了。
首先建立"Slave1.Hadoop"自己的公鑰和私鑰,並把自己的公鑰追加到"authorized_keys"檔案中。用到的命令如下:
ssh-keygen –t rsa –P ''
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
接著是用命令"scp"複製"Slave1.Hadoop"的公鑰"id_rsa.pub"到"Master.Hadoop"的"/home/hadoop/"目錄下,並追加到"Master.Hadoop"的"authorized_keys"中。
1)在"Slave1.Hadoop"伺服器的操作
用到的命令如下:
scp ~/.ssh/id_rsa.pub [email protected]:~/
2)在"Master.Hadoop"伺服器的操作
用到的命令如下:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
然後刪除掉剛才複製過來的"id_rsa.pub"檔案。
最後是測試從"Slave1.Hadoop"到"Master.Hadoop"無密碼登入。
從上面結果中可以看到已經成功實現了,再試下從"Master.Hadoop"到"Slave1.Hadoop"無密碼登入。
至此"Master.Hadoop"與"Slave1.Hadoop"之間可以互相無密碼登入了,剩下的就是按照上面的步驟把剩餘的"Slave2.Hadoop"和"Slave3.Hadoop"與"Master.Hadoop"之間建立起無密碼登入。這樣,Master能無密碼驗證登入每個Slave,每個Slave也能無密碼驗證登入到Master。
3、Java環境安裝
所有的機器上都要安裝JDK,現在就先在Master伺服器安裝,然後其他伺服器按照步驟重複進行即可。安裝JDK以及配置環境變數,需要以"root"的身份進行。
3.1 安裝JDK
首先用root身份登入"Master.Hadoop"後在"/usr"下建立"java"資料夾,再把用FTP上傳到"/home/hadoop/"下的"jdk-6u31-linux-i586.bin"複製到"/usr/java"資料夾中。
mkdir /usr/java
cp /home/hadoop/ jdk-6u31-linux-i586.bin /usr/java
接著進入"/usr/java"目錄下通過下面命令使其JDK獲得可執行許可權,並安裝JDK。
chmod +x jdk-6u31-linux-i586.bin
./jdk-6u31-linux-i586.bin
按照上面幾步進行操作,最後點選"Enter"鍵開始安裝,安裝完會提示你按"Enter"鍵退出,然後檢視"/usr/java"下面會發現多了一個名為"jdk1.6.0_31"資料夾,說明我們的JDK安裝結束,刪除"jdk-6u31-linux-i586.bin"檔案,進入下一個"配置環境變數"環節。
3.2 配置環境變數
編輯"/etc/profile"檔案,在後面新增Java的"JAVA_HOME"、"CLASSPATH"以及"PATH"內容。
1)編輯"/etc/profile"檔案
vim /etc/profile
2)新增Java環境變數
在"/etc/profile"檔案的尾部新增以下內容:
# set java environment
export JAVA_HOME=/usr/java/jdk1.6.0_31/
export JRE_HOME=/usr/java/jdk1.6.0_31/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
相關推薦
Hadoop安裝配置-VMWare下CentOS-6.4+ hadoop-0.20.2-cdh3u6分散式安裝【圖文】
3)修改當前機器IP 假定我們的機器連IP在當時安裝機器時都沒有配置好,那此時我們需要對"ifcfg-eth0"檔案進行配置,該檔案位於"/etc/sysconfig/network-scripts"資料夾下。 在這個目錄下面,存放的是網路介面(網絡卡)的制御指令碼檔案(控制
【Linux】VMware虛擬機器下CentOS 6 64位安裝以及網路配置
環境準備 我的系統:windows10 VMware版本:14.1.3 Linux版本:CenOS 6 64位 資源 CenOS 6 安裝 1. 開啟VMware,點選建立新的虛擬機器 2.
VMware虛擬機下CentOS 6.5配置網絡
tle 方向 應用 linux網卡 vmware centos 配置文件 oot mask 使用NAT模式 虛擬機網絡連接使用NAT模式,物理機網絡連接使用Vmnet8。 虛擬機設置裏面——網絡適配器,網絡連接選擇NAT模式。(用於共享主機的ip地址) 虛擬機菜單欄
CentOS 6.4安裝配置LNMP服務器(Nginx+PHP+MySQL)
mysql- ket 是否 分號 使用 store 重啟 isa tpi 一 安裝篇 1. 安裝nginx yum check-update #更新yum源 yum remove httpd* php* #刪除系統自帶的軟件包 yum install nginx #安裝ng
centos 6.4下安裝與設置apache服務器
sta process vra 關閉selinux 安裝apache tps all cnblogs tar 1.打開虛擬機開啟centos 6.4系統後進入root用戶下,打開終端,輸入#yum -y install httpd,安裝apache服務器。 輸入命令後到
CentOS 6.4安裝配置MairaDB 10.3 Galera Cluster
MariaDB10.3 Galera Cluster 一. 安裝環境不同版本的操作系統(CentOS 6 與 7)、不同版本的數據庫(MariaDB 10.1前後)相關安裝配置命令不太一樣。1. 操作系統:CentOS 6.42. 數據庫 : MariaDB 10.3.7二. 服務器規劃Mar
CentOS 6.4下編譯安裝MySQL 5.6.14
概述: CentOS 6.4下通過yum安裝的MySQL是5.1版的,比較老,所以就想通過原始碼安裝高版本的5.6.14。 正文: 一:解除安裝舊版本 使用下面的命令檢查是否安裝有MySQL Server rpm -qa | grep mysql 有的話通過下面的命令來解除安裝掉 rpm -e
使用VMware安裝CentOS 6.4
環境:Windows7 , VMware Workstation10, CentOS6.4為什麼選擇CentOS ?1. 主流: 目前的Linux作業系統主要應用於生產環境,主流企業級Linux系統仍舊是RedHat或者CentOS2. 免費: RedHat和CentOS
在Centos 6.4中安裝與配置Git
本文章來自【知識林】 安裝 yum install git 安裝完成後此版本為1.7.1屬於相對較老的版本(如果作業系統的版本相對較高時,git的版本也會較高),對於github、Jenkins等服務都支援不好,所以需要升級git版本。 升級
CentOS 6.4下安裝翻譯軟體StarDict
StarDict(中文譯為星際譯王)是linux下一款很強大的翻譯軟體,可以說是linux下的金山詞霸。這個是國人胡正開發的軟體。因為學習linux的時候需要接觸大量的英文資料,每次都要線上查很不方便。所以決定安裝一個離線版的詞典。很多網友推薦stardict,提供的下載連
CentOS 6.4下 BCM4312 802.11b/g無線網絡卡驅動安裝
之前看過官方的教程,發現根本就沒有用,我按照上面所述進行安裝,但是後面還是沒有無線的訊號,這是我找的一篇關於BCM4312的文章,寫的很簡單,但是很實用! 對幫助我的這篇文章的作者表示感謝! 使用命令檢測網絡卡 lspci | grep Network 為“
centos 6.4 FTP安裝和配置
1: 安裝 檢查是否安裝 [[email protected] ~]# rpm -qa | grep vsftpd 開始安裝 [[email protected] ~]# yum install vsftpd Loaded plugins: faste
CentOS 6.5 minimal 安裝配置VMware tools
tools ins 文件夾 http 自己 方法 文件 重新啟動 media 1、登錄到系統,切換到root賬戶 2、配置網絡 minimal版本默認不啟動網絡,所以要自己配置。 配置過程很簡單,編輯配置文件 vi /etc/sysconfig/network-scr
CentOS 6.4安裝Puppet
主機名 pre ima indent cli post article col 安裝過程 CentOS安裝Puppet 環境介紹:centos6.4x64 採用CentOS-6.4-x86_64-minimal.iso最小化安裝
vmware 下centos安裝完畢後不能獲取IP原因記載
vmware今天在vmware下安裝了 centos 6.9,安裝完畢後,ifconfig後,發現eth0不能獲取IP,回想先前安裝過的那個redhat虛擬機並沒有出現此問題,所以,對比了一下兩個虛擬機的設置後,發現redhat虛擬機的網絡連接模式為橋接,而centos為 NAT首先更改為橋接模式,然後打開v
CentOS 6.4 安裝 MariaDB 10.3
MariaDB本文介紹如何使用yum在CentOS 6.4 安裝 MariaDB 10.31. 創建mysql組groupadd mysql2. 創建mysql用戶並添加到mysql組useradd -g mysql mysql3.修改mysql密碼passwd mysql4. 配置 MariaDB 10.3
VMware中CentOS-6.10的安裝方法
到你 系統版本 成了 方法 虛擬 desktop centos 圖形 des 首先提供幾個下載CentOS的下載地址:CentOShttps://wiki.centos.org/Downloadhttp://mirrors.aliyun.comhttp://mirrors.
CentOS 6 4 U盤啟動盤製作 安裝及遇到的問題解決
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
CentOS 6.4 單獨安裝網路工具
#安裝setuptool yum install setuptool #可以發現執行setup後不全,再安裝一個用於系統服務管理 這個包安裝後 就可 service network start/stop 了。 yum install ntsysv #再安裝個防火牆,以及setup中
CentOS 6.4安裝(超級詳細圖解教程)
附:CentOS 6.4下載地址 32位:http://mirror.centos.org/centos/6.4/isos/i386/CentOS-6.4-i386-bin-DVD1to2.torrent 64位:http://mirror.centos.org/centos/6.4/iso