
Hadoop在大數(shù)據(jù)技術(shù)體系中的地位至關(guān)重要,Hadoop是大數(shù)據(jù)技術(shù)的基礎(chǔ),對Hadoop基礎(chǔ)知識的掌握的扎實程度,會決定在大數(shù)據(jù)技術(shù)道路上走多遠。
這是在課程中實際操作的文章,Hadoop的學習方法很多,網(wǎng)上也有很多學習路線圖。本文的思路是:以安裝部署Apache Hadoop2.x版本為主線,來介紹Hadoop2.x的架構(gòu)組成、各模塊協(xié)同工作原理、技術(shù)細節(jié)。安裝不是目的,通過安裝認識Hadoop才是目的。
1、主機規(guī)劃
HDP125作為Master節(jié)點,其余主機作為Slave節(jié)點。
2、操作系統(tǒng)
Hadoop可以同時支持在Linux和Windows系統(tǒng)下進行安裝,但是在windows系統(tǒng)下沒有進行過大量的測試,不穩(wěn)定容易出現(xiàn)問題。因此,我們使用Linux系統(tǒng)進行安裝。
在國內(nèi)大型企業(yè)中使用最多的Linux系統(tǒng)是Redhat,筆者就使用Redhat的7.4版本進行安裝。
3、關(guān)閉iptables
關(guān)閉正在運行的iptbables防火墻:
systemctl stop firewalld.service
關(guān)閉開機自動啟動iptables:
systemctl disable firewalld.serg
4、關(guān)閉SElinux
關(guān)閉自在運行的SElinux:
setenforce 0
修改配置文件,關(guān)閉開機自己啟動SElinux:
vi /etc/selinux/config
SELINUX=disabled
5、配置主機名和映射
注意:主機名只能用英文字母、數(shù)字、“-”。不能使用下劃線“_”,會出現(xiàn)問題。
6、映射
Spark通過主機名來進行互相訪問,通過修改/etc/hosts文件可配置本地主機名映射關(guān)系,在hosts文件中添加計算機的名稱和IP的對應(yīng)關(guān)系,如在本機中添加master的主機(假設(shè)IP為172.16.219.125),在末尾添加內(nèi)容為: 172.16.219.125 HDP125
所有主機都在/etc/hosts添加:
172.16.219.125 ?HDP125
172.16.219.126 ?HDP126
172.16.219.127 ?HDP127
172.16.219.128 ?HDP128
7、修改主機名
修改本次運行期間的主機名:
hostname HDP125
修改/etc/sysconfig/network文件,將主機名改為HDP125:
HOSTNAME=HDP125
操作系統(tǒng)啟動的時候,會讀取該文件并設(shè)置主機名。因此,修改后不會立即生效。只有當系統(tǒng)重啟后,主機名便會生效。
在所有主機上執(zhí)行上面兩步,并把HDP125替換成相應(yīng)主機名。
8、用戶
在所有主機上添加用戶:
groupadd hadoop
useradd hadoop -g hadoop
9、SSH無密碼登錄
Master到Slaves節(jié)點需要配置SSH無密碼登錄。
在Master生成公私鑰對:
su hadoop
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
在其它主機上創(chuàng)建~/.ssh文件夾:
su hadoop
mkdir ~/.ssh
chmod 700 ~/.ssh
把公鑰~/.ssh/dsa.pub發(fā)送到其它主機:
scp ~/.ssh/dsa.pub hadoop@HDPXXX:~/.ssh/id_dsa.pub
測試是否成功:
ssh HDPxxx
10、安裝Java的JDK
解壓:
tar -zxvf jdk-7u51-linux-x64.tar.gz -C /opt
ln -s /opt/jdk1.7.0_51 /opt/jdk
配置環(huán)境變量:
#JDK setting
export JAVA_HOME=/opt/jdk
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
11、配置文件句柄數(shù)
修改本次運行期間的句柄數(shù):
ulimit -n 65535
修改操作系統(tǒng)重啟時默認的句柄數(shù):
vi /etc/security/limits.conf
\* ???hard ???nofile ??65535
\* ???soft ???nofile ??65535
12、Hadoop的下載與解壓
到hadoop.apache.org上下載Hadoop的安裝文件,筆者使用的是”hadoop-2.5.1.tar.gz”。
在發(fā)布式安裝模式下,所有服務(wù)器Hadoop的安裝目錄需要一樣。筆者安裝的位置為/opt/hadoop,使用解壓命令如下:
tar ?-zxvf ?hadoop-2.5.1.tar.gz ?-C /opt/
mv /opt/hadoop-2.5.1 /opt/hadoop
chown -R hadoop:hadoop /opt/hadoop
su hadoop
13、配置hadoop-env.sh
修改hadoop目錄下conf/hadoop-env.sh的環(huán)境變量,在末尾添加:
export JAVA_HOME=/opt/jdk
注:此處采用最小配置
14、配置core-site.xml
修改hadoop目錄下conf/core-site.xml的配置文件,在標簽中添加如下內(nèi)容:
<property>
????<name>fs.default.name</name>
????<value>hdfs://HDP125:9000</value>
</property>
<property>
????<name>hadoop.tmp.dir</name>
????<value>/home/${user.name}/tmp</value>
</property>
<property>
????<name>fs.trash.interval</name>
????<value>1440</value>
</property>
說明:
fs.defaultDFS:設(shè)置NameNode的IP和端口
hadoop.tmp.dir:設(shè)置Hadoop臨時目錄,(默認/tmp,機器重啟會丟失數(shù)據(jù)?。?/p>
fs.trash.interval:開啟Hadoop回收站
注:明天更新配置hdfs-site.xml以及把配置好的Hadoop程序復制到其它節(jié)點? 有喜歡的可以關(guān)注轉(zhuǎn)發(fā)加收藏