一,前提:下載好虛擬機和安裝完畢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>
? ? ? ? ? ?<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>
? ? ? ? ? ? <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>
? ? ? ? ? ? <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>
? ? ? ?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 進程,大功告成!!!
? ? ? ? ? ?第一次寫文檔,不足之處,請見諒