hadoop分布式搭建
一,前提:下載好虛擬機和安裝完畢Ubuntu系統。因為我們配置的是hadoop分布式,所以需要兩臺虛擬機,一臺主機(master),一臺從機(slave)
選定一臺機器作為 Master 在 Master 節點上配置 hadoop 用戶、安裝 SSH server、安裝 Java 環境
在 Master 節點上安裝 Hadoop,並完成配置
在其他 Slave 節點上配置 hadoop 用戶、安裝 SSH server、安裝 Java 環境
將 Master 節點上的 /usr/local/hadoop 目錄復制到其他 Slave 節點上
在 Master 節點上開啟 Hadoop
二,在Ubuntu中打開終端,可使用快捷鍵ctrl+alt+t
1.首先要搭建好java環境,這時候,Ubuntu安裝的時候默認是nat的網絡連接,可通過執行命令:
sudo apt-get install openjdk-8-jre openjdk-8-jdk
回車,這時候會要求你輸入密碼,就是安裝的時候 你自己設置的密碼,輸入密碼你是不到的,不管它,直接回車,下載的時候會需要一些時間
下載完畢後,還要安裝 ssh 和 vim
同樣的做法: sudo apt-get install openssh-server
sudo apt-get install vim
執行 apt-get 命令的時候要保證網絡是通的
2,好,這時候已經下載完畢,java默認路徑是在 /usr/lib/jvm/java-8-openjdk-amd64
我們這時候要配置java環境變量,在終端輸入 :
vim ~/.bashrc
回車
你就進到一個文件裏面,這時候按快捷鍵 shift+G,跳到文件的最後面部分,你發現,不能夠寫入數據,按 i ,進入 insert 模式,這時候輸入
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
寫入完畢,按 esc 然後 shift+冒號(shift + :),然後 wq (保存並退出)
3,回到終端,輸入
source ~/.bashrc
使環境變量生效
4. 在終端輸入 javac -version出現 java的版本號則說明配置成功
三,ssh實現無密碼登錄
1.
這時候操作是在master(主機)上,第四張圖按兩下,其中ip要怎麽改呢?,打開你的本機的doc窗口,輸入ipconfig,假如你的ip是192.168.41.128,則你的如圖所示的ip改為192.168.41.129,記得保存,時候你的虛擬機的網絡方式要由默認的 nat 改為橋接模式,怎麽改?虛擬機主頁左上角有個虛擬機,設置,網絡適配器,改為橋接模式,確定。
由於我們要配置的是hadoop分布式,一個主機一個從機,主機名是master,從機是slave
2. vim /etc/hostname
修改你的用戶名為master
同樣在slave中的 /etc/hostname改為slave
3. vim /etc/hosts
添加 :192.168.31.129 master
192.168.41.130 slave
重啟
通過ping master和ping slave 是否成功
4. ssh-keygen -t rsa
一直回車,生成公匙
cat ./id_rsa.pub >> ./authorized_keys
授權
5. ssh localhost
會看到一個welcome頁面,不用輸入密碼,要是還要輸入密碼,那就是前面的步驟出錯了
scp ./authorized_keys 192.168.41.130:/home/hadoop/.ssh
// 這個直接把授權好的鑰匙復制到slave上。若是slave上沒有.ssh目錄,則先生成該目錄,一般都有的,
這一步完成後,執行
ssh slave
不用輸入密碼就可以登錄slave。出現歡迎頁面,到這裏,完成Ubuntu無密碼登錄
四,hadoop的安裝與配置
1. 首先把下載好的hadoop壓縮包解壓到指定的文件夾 (hadoop文件:鏈接:https://pan.baidu.com/s/1kVahwYb 密碼:qzpi)
解壓hadoop
sudo tar -zxf hadoop-2.7.4.tar .gz -C /usr/local
這時候的hadoop文件的壓縮包是在 /home/hadoop 下,若是操作失敗,檢查該路徑下是否有需要操作的文件
2. cd /usr/local
// 進入該路徑,ls 看一下解壓後的hadoop文件是否存在
sudo mv hadoop-2.7.4 hadoop
// 改hadoop-2.7.4為hadoop,改個文件名而已
sudo chown -R hadoop ./hadoop
// -R把hadoop下的所有文件和文件夾都改變所屬用戶為hadoop用戶
cd hadoop
bin/hadoop version
// 測試hadoop是否安裝成功,若出現版本號,則說明安裝成功
3.接下來配置hadoop環境變量
vim ~/.bashrc
添加
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP/sbin
同樣的
source ~/.bashrc
使環境變量生效
4.修改5個配置文件
slave
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
<1> vim /usr/local/hadoop/etc/slave
添加
salve
<2> vim /usr/local/etc/hadoop/core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://Master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop/tmp</value> </property> </configuration>View Code
<3> vim /usr/local/etc/hadoop/hdfs-site.xml
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>Master:50090</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/data</value> </property> </configuration>View Code
<4> vim /usr/local/etc/hadoop/mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>Master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>Master:19888</value> </property> </configuration>View Code
<5> vim /usr/local/etc/hadoop/yarn-site.xml
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>Master</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>View Code
5.配置好後,將 Master 上的 /usr/local/Hadoop 文件夾復制到各個節點上。如果之前有跑過偽分布式模式,建議在切換到集群模式前先刪除之前的臨時文件。在 Master 節點上執行: tar -zcf ~/hadoop.master.tar.gz ./hadoop
cd ~
scp ./hadoop.master.tar.gz slave:/home/hadoop
在slave上執行
sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local
sudo chown -R hadoop /usr/local/hadoop
同樣,如果有其他 Slave 節點,也要執行將 hadoop.master.tar.gz 傳輸到 Slave 節點、在 Slave 節點解壓文件的操作。
首次啟動需要先在 Master 節點執行 NameNode 的格式化:
hdfs namenode –format
如果是centos系統,需要關閉防火墻
這裏可能會出現java環境配置不被發現的錯誤,只需要
vim /usr/local/etc/hadoop/hadoop.env.sh
記得source ~/.bashrc
接著可以啟動 hadoop 了,啟動需要在 Master 節點上進行:
start-dfs.sh
start-yarn.sh
通過命令 jps 可以查看各個節點所啟動的進程。正確的話,在 Master 節點上可以看到 NameNode、ResourceManager、SecondrryNameNode、
在 Slave 節點可以看到 DataNode 和 NodeManager 進程,大功告成!!!
hadoop分布式搭建