Hadoop叢集安裝步驟
大家好,今天講解的是Hadoop安裝步驟,內容下:
一、前期準備
1、必須要有三臺Linux(小編使用的是ubuntu14.04server版,大家也可以使用別的Linux,但三臺電腦必須是統一的Linux版本,ubuntu14.04server下載地址[http://releases.ubuntu.com/?_ga=1.129027977.446445887.1487857185])。
2、小編使用的是Hadoop2.6,下載地址[http://apache.fayea.com/hadoop/common/],選擇2.6.*任意一版即可,下載後,將其分別傳入linux的使用者目錄下。
3、下載一個java JDK1.8Linux安裝包,將其分別傳入linux的使用者目錄下。
有了這三樣東西,前期準備工作算是幹好了,接著就是搭建Hadoop叢集
二、開始搭建Hadoop叢集
ubuntu安裝後,/opt目錄是個空目錄,所以我們將Hadoop叢集安裝到此目錄下,
1、將jdk安裝到三臺ubuntu上
程式碼如下:
cd /opt
sudo tar zvxf ~/jdk1.8.* jdk的名字
ln -s jdk1.8.*(解壓後的jdk名字) jdk
sudo vim /etc/profile #在檔案最後加入以下內容後儲存退出,並驗證是否配置真確
JAVA_HOME=/opt/jdk
CLASSPATH=.
PATH=$PATH:$JAVA_HOME/bin
如何驗證java配置正確與否請百度。
2、配置ubuntu的IP
查出每一臺電腦的ip,在每一臺ubuntu的/etc/hosts檔案中做一下修改
註釋127.0.0.1這一行,如果有Localhost行也註釋該行,並加入
ip 主機名 主機名
hosts所加內容如下:
# 127.0.0.1 **********
# localhost***********
ip1 主機名1 主機名1
ip2 主機名2 主機名2
ip3 主機名3 主機名3
提示:以下用到的主機名和使用者名稱不是同一個名字,不知道兩者關係的百度
3.安裝hadoop
將hadoop安裝包解壓到/opt目錄下,程式碼如下:
sudo tar zvxf ~/hadoop*
sudo ln -s hadoop* hadoop
vim /etc/profile #在此檔案中加入以下內容
HADOOP_HOME=/opt/hadoop
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
儲存後執行source /etc/profile
三臺ubuntu全部執行
4.安裝hadoop步驟 操作
此時可以檢視你之前的工作是否正確,每臺電腦執行程式碼
sudo chown –R 你的使用者名稱 /opt
hadoop version
如果出現
Hadoop 2.*.*(自己安裝的hadoop版本號)
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r baa91f7c6bc9cb92be5982de4719c1c8af91ccff
Compiled by root on 2016-08-18T01:41Z
Compiled with protoc 2.5.0
From source with checksum 2e4ce5f957ea4db193bce3734ff29ff4
This command was run using /opt/hadoop-2.7.3/share/hadoop/common/hadoop-common-2.*.*.jar
如果報JAVA_HOME找不到,就在hadoop安裝目錄下的etc/hadoop/hadoop-env.sh 檔案裡找到JAVA_HOME,JAVA_HOME=/opt/jdk補全。
說明前期安裝成功,可以執行下面的操作,如果不對,請返回前面步驟重新來過。
5.配置hadoop
此時需要將三臺ubuntu分成兩部分,一臺作為主節點,剩下兩臺作為從節點(一般將hosts檔案中的ip1的ubuntu作為主節點,其他兩個作為從節點即:
ip1 主機名 1 使用者名稱1
ip2 主機名 2 使用者名稱2
ip3 主機名 3 使用者名稱3),
在主節點做如下配置:
配置檔案修改:
配置檔案在/opt/hadoop/etc/hadoop/下,修改 mapred-site.xml.template、core-site.xml、hdfs-site.xml、yarn-site.xml四個檔案,其他不動,程式碼如下:
mapred-site.xml.template:
複製mapred-site.xml.template :cp mapred-site.xml.template mapred-site.xml
執行vim mapred-site.xml
加入以下程式碼:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
core-site.xml 加入以下程式碼:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://(此處寫你hadoop主節點的主機名):9000</value>
</property>
</configuration>
hdfs-site.xml 加入以下程式碼:
<configuration>
<property>
<name>dfs.nameservices</name>
<value>hadoop-cluster1</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file: /opt/hadoop_data/hdfs/nn</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>file:/opt/hadoop_data/hdfs/checkpoint</value>
</property>
<property>
<name>fs.checkpoint.edits.dir</name>
<value>file:/opt/hadoop_data/hdfs/checkpointedits</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/hadoop_data/hdfs/dn</value>
</property>
</configuration>
yarn-site.xml 加入以下程式碼:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>主節點主機名</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/opt/hadoop_data/yarn/nodemanager</value>
</property>
</configuration>
完成以上修改後,將將上面修改後的四個檔案,複製到其他兩臺機器上的相同位置,不做任何修改
6、建立資料夾,每臺ubuntu上執行下列程式碼:
sudo mkdir -p /opt/hadoop/logs
sudo mkdir -p /opt/hadoop_data/hdfs/nn
sudo mkdir -p /opt/hadoop_data/hdfs/dn
sudo mkdir -p /opt/hadoop_data/hdfs/checkpointedits
sudo mkdir -p /opt/hadoop_data/hdfs/checkpoint
sudo mkdir -p /opt/hadoop_data/yarn/nodemanager
sudo chown –R 你的使用者名稱 /opt
7.驗證hadoop叢集
(1)在 主節點 執行hdfs namenode –format
格式化檔案系統
(2)配置ssh無密碼登入:
在主節點執行ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
在你使用者的家目錄下的.ssh目錄下產生兩個檔案,其中將id_rsa.pub拷貝到兩個從節點的相同目錄下,三臺電腦都執行cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
驗證:在主節點測試
ssh 主節點主機名
ssh 從節點主機名
(第一次可能需要密碼,第二次如果不需要,就配置成功了,否則,重新配置)
(3)如果以上全部正確,請在主節點輸入start-dfs.sh start-yarn.sh
,
(4)hdfs和YARN都有UI介面分別是
http://“主節點主機名”:50070,
http://“主節點主機名”:80080
如果成功出現介面,就OK了,叢集搭建完成