1. 程式人生 > >Hadoop的安裝(兩種方式)

Hadoop的安裝(兩種方式)

Hadoop的安裝(偽分散式和完全分散式)

(一)偽分散式的安裝 {生產中不用 自己測試的時候,有時會用} 假的分散式 所有的程序全部執行在一個節點上 linux操作 普通使用者下 1.安裝準備 1)設定ip(安裝Linux時應該已經設定完畢了) 2)設定主機名(安裝Linux時應該已經設定完畢了) 若想修改主機名,用以下命令: vim /etc/sysconfig/network 這樣就永久修改主機名稱了,不過記得要重啟哦(reboot) 3)配置對映(域名與IP地址之間的對映) Windows:c:\windows\system32\drivers\etc\hosts 記得要配windows 下的對映,否則你用主機名進行連線時會出現問題。 Linux:vim /etc/hosts ip地址 主機名 (有幾臺虛擬機器寫幾臺虛擬機器) 4)關閉防火牆和selinux a.關閉防火牆 檢視防火牆狀態:service iptables status 關閉防火牆:service iptables stop 建議把防火牆設定成開機關閉狀態:chkconfig iptables off b.關閉sellinux vi /etc/sysconfig/selinux 找到SELINUX,並且設定:SELINUX=disabled (linux的安全認證 高階運維人員會用到) 5)為普通使用者新增 sudoers vi /etc/sudoers hadoop ALL=(ALL) ALL 6) 切換到普通使用者 7)做免密碼登入(記得一定要在普通使用者下,不要在root使用者下) 這裡和使用者有關的 ssh-keygen ssh-copy-id model 測試: ssh model 8)安裝jdk sudo rpm -e java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64 --nodeps sudo rpm -e java-1.6.0-openjdk-1.6.0.38-1.13.10.4.el6.x86_64 --nodeps 最後一定要記住:source /etc/profile 9)修改系統的啟動級別 3 sudo vi /etc/inittab (通常情況下一般是級別5,是帶有圖形介面系統模式,要修改成啟動級別為3,是多使用者,不帶圖形介面的,這樣可以提高效率) 注意:準備事項就做完了,但一定要注意是在普通使用者下操作。

2.安裝Hadoop 1)上傳 2)解壓 tar -xvzf hadoop-2.7.6.tar.gz 3)修改配置檔案 etc/hadoop/進入Hadoop下進行相應的操作 A)hadoop-env.sh 將java的環境變數新增上(根據自己的實際存放地址進行配置) export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_73 B)hdfs-site.xml hdfs的相關配置資訊 hdfs的副本的個數 <property> <name>dfs.replication</name> <value>1</value> </property> C)core-site.xml 公共的配置 hdfs的訪問的url mysql連線的url mysql:jdbc:// hdfs(協議)//主機名:埠(內部通訊埠) <property> <name>fs.defaultFS</name> <value>hdfs://model:9000</value> </property> D)mapred-site.xml mapreduce的相關配置 cp mapred-site.xml.template mapred-site.xml mapreduce任務進行資源排程的框架 <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> E)yarn-site.xml 資源排程的 計算任務的型別 <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> F)slaves 從節點的資訊 一行一個主機名 不要有多餘的空格 也不要有多餘的換行符 model 4)配置hadoop的環境變數 export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_73 export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.6 exportPATH=P
ATH:PATH:
JAVA_HOME/bin:HADOOPHOME/bin:HADOOP_HOME/bin:HADOOP_HOME/sbin 記得: source /etc/profile 驗證 hadoop version 5)格式化hdfs的檔案系統 hadoop namenode -format 18/09/27 15:41:40 INFO common.Storage: Storage directory /tmp/hadoop-hadoop/dfs/name has been successfully formatted. ps:格式化不成功 一致格式化 直到成功 一旦成功 不能重複執行 6)啟動 先啟動hdfs
start-dfs.sh
啟動yarn start-yarn.sh 驗證: hdfs: http://namenode:50070 http://model:50070

http://resourcemanager:8088 http://model:8088 (二)完全分散式的安裝 ##計算機配置要求:如果你的計算機是8G執行,建議叢集用3臺虛擬機器搭建,如果是16G執行,叢集可以用4臺虛擬機器搭建,並且執行效率還高。## 叢集搭建的思路: 叢集安裝在多個節點上的 1)多個節點的要求: 多個節點的使用者名稱(安裝的時候使用的使用者/普通使用者)一定要統一 多個節點的安裝目錄統一 叢集規劃:叢集中的各個節點安裝的元件有哪些 HDFS yarn namenode datanode secondarynamenode rm nm hadoop01 namenode resourcemanager hadoop02 datanode secondarynamenode nodemanager hadoop03 datanode nodemanager hadoop04 datanode nodemanager 1.安裝準備: (這裡準備工作簡寫了,具體的可以參考偽分散式的) 1)ip 2)主機名 3)對映 4)關閉防火牆和sellinux vi /etc/sysconfig/selinux SELINUX=disabled (linux的安全認證 高階運維人員會用到) 5)為普通使用者新增 sudoers vi /etc/sudoers hadoop ALL=(ALL) ALL 6) 切換到普通使用者 7)做免密碼登入 一定切換到普通使用者 ~/.ssh 這裡和使用者有關的 4臺機器之間 相互都需要做 免密碼登入 ssh-keygen ssh-copy-id hadoop01 ssh-copy-id hadoop02 ssh-copy-id hadoop03 ssh-copy-id hadoop04 測試: ssh hadoop01 ssh hadoop02 ssh hadoop03 ssh hadoop04 source /etc/profile 8)修改系統的啟動級別 3 sudo vi /etc/inittab 2.hadoop的安裝: 先裝在一個節點上 在進行遠端傳送 mkdir /home/hadoop/apps 1)安裝jdk sudo rpm -e java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64 --nodeps sudo rpm -e java-1.6.0-openjdk-1.6.0.38-1.13.10.4.el6.x86_64 --nodeps 記得哦:source /etc/profile java -version 2)上傳安裝包 3)解壓hadoop的安裝包 tar -xvzf hadoop-2.7.6.tar.gz 4)配置hadoop的環境變數(根據具體儲存地址進行匹配) sudo vi /etc/profile export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_73 export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.6 exportPATH=PATH:PATH:JAVA_HOME/bin:HADOOPHOME/bin:HADOOP_HOME/bin:HADOOP_HOME/sbin 記得哦:source /etc/profile 驗證 hadoop version 5)修改hadoop的配置檔案 6個 記得要改主機名和相應配置檔案的地址哦,一定要記住!!! $HADOOP_HOME/etc/hadoop/ A)hadoop-env.sh export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_73 B)core-site.xml 公共的配置檔案 hdfs的訪問url hdfs://namenode的主機名:9000 <property> <name>fs.defaultFS</name> <value>hdfs://hadoop01:9000</value> </property> hdfs的檔案的儲存路徑 包括namenode的資訊儲存目錄 datanode的資訊儲存目錄 沒有配置 /tmp儲存 會造成核心資料的丟失 這個生產環境中一定要配置的 <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/data/hadoopdata</value> </property> C)hdfs-site.xml <property> <name>dfs.namenode.name.dir</name> <value>/home/hadoop/data/hadoopdata/name</value> <description>namenode的資料的儲存目錄</description> </property>

<property> <name>dfs.datanode.data.dir</name> <value>/home/hadoop/data/hadoopdata/data</value> \ datanode 的資料儲存目錄</description> </property>

<property> <name>dfs.replication</name> <value>2</value> <description>HDFS 的資料塊的副本儲存個數</description> </property> <property> <name>dfs.secondary.http.address</name> <value>hadoop02:50090</value> <description>secondarynamenode 執行節點的資訊,和 namenode 不同節點</description> </property> D)mapred-site.xml cp mapred-site.xml.template mapred-site.xml <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> E)yarn-site.xml 配置的是yarn的主節點的 主機名 <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop01</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> <description>YARN 叢集為 MapReduce 程式提供的 shuffle 服務</description> </property> F)vi slaves 從節點資訊 一行一個 不要有空格 和換行 datanode nodemanager hadoop02 hadoop03 hadoop04 6)遠端傳送到其他節點 jdk scp -r jdk1.8.0_73 hadoop02:/home/hadoop/apps/ scp -r jdk1.8.0_73 hadoop03:/home/hadoop/apps/ scp -r jdk1.8.0_73 hadoop04:/home/hadoop/apps/

hadoop: scp -r hadoop-2.7.6 hadoop02:/home/hadoop/apps/ scp -r hadoop-2.7.6 hadoop03:/home/hadoop/apps/ scp -r hadoop-2.7.6 hadoop04:/home/hadoop/apps/

/etc/profile sudo scp /etc/profile hadoop02:/etc/ sudo scp /etc/profile hadoop03:/etc/ sudo scp /etc/profile hadoop04:/etc/ 4個節點都執行 source /etc/profile

驗證: jdk java -version hadoop hadoop version 7)進行格式化 格式化的是hdfs 在namenode所在的節點 —hadoop01 hadoop namenode -format /home/hadoop/data/hadoopdata/name has been successfully formatted. 成功的格式化只能進行一次 8)啟動 先啟動hdfs: 任意一個節點啟動 start-dfs.sh jps hadoop01: namenode hadoop02: secondarynamenode datanode hadoop03:datanode hadoop04:datanode 啟動yarn: start-yarn.sh 最好在yarn的主節點執行 hadoop01 驗證: hdfs的網頁: 主節點主機名或ip:50070 hadoop01:50070 yarn的網頁: yarn主節點的主機名或ip:8088

說明: 叢集的關閉和重啟的問題 叢集關閉: 關閉hdfs: stop-dfs.sh 任意節點執行 關閉yarn: stop-yarn.sh 在yarn的主節點執行 叢集重啟: 不需要格式化 先啟動hdfs 再啟動yarn

重要事情說三遍 搭建的時候一定要 小心、細心、耐心! 搭建的時候一定要 小心、細心、耐心! 搭建的時候一定要 小心、細心、耐心!