安裝Hadoop之前奉狈,請(qǐng)先安裝好zookeeper集群并啟動(dòng)
參考 CentOS7安裝Zookeeper集群
我這里準(zhǔn)備了三臺(tái)服務(wù)器,一臺(tái)主機(jī)名為hadoop1(做NameNode)孽椰,一臺(tái)主機(jī)名為hadoop2(做DataNode),一臺(tái)主機(jī)名為hadoop3(做DataNode)
192.168.1.186(hadoop1)
192.168.1.188(hadoop2)
192.168.1.18(hadoop3)
創(chuàng)建名為 hadoop 的用戶野芒,參考CentOS7建立用戶
將所有hadoop服務(wù)器框杜,配置好 hadoop 用戶的免密碼登錄,讓所有hadoop主機(jī)之間可以免密碼互通
參考 CentOS7配置ssh無密碼登錄
設(shè)置好zookeeper踱蠢、hadoop所有服務(wù)器的 hosts 文件的內(nèi)容
192.168.1.232 zookeeper1
192.168.1.200 zookeeper2
192.168.1.233 zookeeper3
192.168.1.186 hadoop1
192.168.1.188 hadoop2
192.168.1.18 hadoop3
切換到 hadoop 用戶火欧,安裝并配置hadoop,從http://hadoop.apache.org/releases.html找到一個(gè)你想要的版本茎截,下載binary包(下載到hadoop1機(jī)上苇侵,配置完畢以后再?gòu)?fù)制到其他機(jī)器上),我這里下載的是hadoop-2.7.3.tar.gz
su hadoop
cd ~
wget http://119.90.25.43/mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
解壓縮企锌,并重命名為hadoop
tar -zxvf hadoop-2.7.3.tar.gz
mv hadoop-2.7.3 hadoop
編輯 hadoop-env.sh 文件榆浓,修改JAVA_HOME部分,不知道java按照位置的請(qǐng)參考CentOS7安裝OpenJDK
vi ~/hadoop/etc/hadoop/hadoop-env.sh
編輯 yarn-env.sh 文件撕攒,修改JAVA_HOME部分
vi ~/hadoop/etc/hadoop/yarn-env.sh
編輯 slaves 文件陡鹃,添加DataNode節(jié)點(diǎn)服務(wù)器的主機(jī)名,我這里添加了兩個(gè)
vi ~/hadoop/etc/hadoop/slaves
建立臨時(shí)文件夾
mkdir ~/hadoop/tmp
編輯 core-site.xml 文件
vi ~/hadoop/etc/hadoop/core-site.xml
添加如下內(nèi)容
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop1:9000</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>zookeeper1:2181,zookeeper2:2181,zookeeper3:2181</value>
</property>
</configuration>
編輯 hdfs-site.xml 文件
vi ~/hadoop/etc/hadoop/hdfs-site.xml
添加如下內(nèi)容
<configuration>
<property>
<name>dfs.http.address</name>
<value>hadoop1:50070</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop1:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
復(fù)制 mapred-site.xml.template 文件為 mapred-site.xml
cp ~/hadoop/etc/hadoop/mapred-site.xml.template ~/hadoop/etc/hadoop/mapred-site.xml
編輯其內(nèi)容
vi ~/hadoop/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop1:9001</value>
</property>
<property>
<name>mapred.map.tasks</name>
<value>20</value>
</property>
<property>
<name>mapred.reduce.tasks</name>
<value>4</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop1:19888</value>
</property>
</configuration>
修改 yarn-site.xml 文件
vi ~/hadoop/etc/hadoop/yarn-site.xml
將其內(nèi)容修改為
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoop1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop1:8088</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop1:8033</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
將配置好的hadoop文件夾復(fù)制到其他節(jié)點(diǎn)機(jī)器
scp -r ~/hadoop hadoop@hadoop2:~/
scp -r ~/hadoop hadoop@hadoop3:~/
cd ~/hadoop
./bin/hdfs namenode -format
./sbin/start-all.sh
在NameNode機(jī)器中抖坪,使用jps命令杉适,看到下面內(nèi)容就說明成功了
在其他DataNode節(jié)點(diǎn)查看jps
可以打開瀏覽器,查看http://192.168.1.186:50070
一般我們是使用http://hadoop1:50070這個(gè)地址訪問柳击,因?yàn)閔adoop1才是NameNode機(jī)器,當(dāng)然片习,這需要你打開瀏覽器的那臺(tái)機(jī)器配置hosts文件
停止hadoop的命令
./sbin/stop-all.sh