Hadoop2.0X64位環(huán)境搭建
1、搭建環(huán)境
部署節(jié)點(diǎn)操作系統(tǒng)為CentOS无埃,防火墻和SElinux禁用蜒谤,創(chuàng)建了一個(gè)shiyanlou用戶并在系統(tǒng)根目錄下創(chuàng)建/app目錄击费,用于存放Hadoop等組件運(yùn)行包赋兵。因?yàn)樵撃夸浻糜诎惭bhadoop等組件程序,用戶對(duì)hadoop必須賦予rwx權(quán)限(一般做法是root用戶在根目錄下創(chuàng)建/app目錄搔预,并修改該目錄擁有者為shiyanlou(chown –R hadoop:hadoop /app)霹期。
Hadoop搭建環(huán)境
虛擬機(jī)操作系統(tǒng): CentOS7.5 64位
JDK:1.8.0_12 64位
Hadoop:2.2.0 64位
2.部署Hadooop2.X
2.1配置Hadoop環(huán)境
下載并解壓hadoop安裝包,解壓縮并移動(dòng)到/app目錄下
`tar -xzf hadoop-2.2.0.tar.gz
mv hadoop-2.2.0 /app`
2.2 在Hadoop目錄下創(chuàng)建子目錄
在hadoop-2.2.0目錄下創(chuàng)建tmp、name和data目錄
cd /app/hadoop-2.2.0
mkdir tmp
mkdir hdfs
mkdir hdfs/name
mkdir hdfs/data
2.3配置hadoop-env.sh
- 打開(kāi)配置文件hadoop-env.sh
cd /app/hadoop-2.2.0/etc/hadoop
sudo vi hadoop-env.sh
加入配置內(nèi)容拯田,設(shè)置了hadoop中jdk和hadoop/bin路徑
export HADOOP_CONF_DIR=/app/hadoop2.2.0/etc/hadoop
export JAVA_HOME=/app/lib/jdk1.8.0_12
export PATH=$PATH:/app/hadoop-2.2.0/bin編譯配置文件hadoop-env.sh历造,并確認(rèn)生效
source hadoop-env.sh
hadoop version
2.4配置yarn-env.sh
打開(kāi)配置文件yarn-env.sh,設(shè)置了hadoop中jdk路徑勿锅,配置完畢后使用source yarn-env.sh編譯該文件
export JAVA_HOME=/app/lib/jdk1.8.0_12
2.5配置core-site.xml
- 使用如下命令打開(kāi)core-site.xml配置文件
cd /app/hadoop-2.2.0/etc/hadoop
sudo vi core-site.xml - 在配置文件中帕膜,按照如下內(nèi)容進(jìn)行配置
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop:9000</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/app/hadoop-2.2.0/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>hadoop.proxyuser.hduser.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hduser.groups</name>
<value>*</value>
</property>
</configuration>
2.6配置hdfs-site.xml
- 使用如下命令打開(kāi)hdfs-site.xml配置文件
cd /app/hadoop-2.2.0/etc/hadoop
sudo vi hdfs-site.xml
2.在配置文件中,按照如下內(nèi)容進(jìn)行配置
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/app/hadoop-2.2.0/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/app/hadoop-2.2.0/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
2.7 配置mapred-site.xml
1.默認(rèn)情況下不存在mapred-site.xml文件溢十,可以從模板拷貝一份垮刹,并使用如下命令打開(kāi)mapred-site.xml配置文件
cd /app/hadoop-2.2.0/etc/hadoop
cp mapred-site.xml.template mapred-site.xml
sudo vi mapred-site.xml
2.在配置文件中,按照如下內(nèi)容進(jìn)行配置
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop:19888</value>
</property>
</configuration>
2.8 配置yarn-site.xml
1.使用如下命令打開(kāi)yarn-site.xml配置文件
cd /app/hadoop-2.2.0/etc/hadoop
sudo vi yarn-site.xml
2.在配置文件中张弛,按照如下內(nèi)容進(jìn)行配置
<configuration>
<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>
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoop:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop:8088</value>
</property>
</configuration>
2.9配置slaves文件
在slaves配置文件中設(shè)置從節(jié)點(diǎn)荒典,這里設(shè)置為hadoop,與Hadoop1.X區(qū)別的是Hadoop2.X不需要設(shè)置Master
cd /app/hadoop-2.2.0/etc/hadoop
vi slaves
2.10格式化namenode
cd /app/hadoop-2.2.0/bin
./hdfs namenode -format
3啟動(dòng)Hadoop
3.1啟動(dòng)hdfs
cd /app/hadoop-2.2.0/sbin
./start-dfs.sh
3.2 驗(yàn)證當(dāng)前進(jìn)行
cd /app/hadoop-2.2.0/sbin
./start-yarn.sh
3.3 驗(yàn)證當(dāng)前進(jìn)行
使用jps命令查看運(yùn)行進(jìn)程吞鸭,此時(shí)在hadoop上運(yùn)行的進(jìn)程除了:namenode寺董、secondarynamenode和datanode,增加了resourcemanager和nodemanager兩個(gè)進(jìn)程
4 測(cè)試Hadoop
4.1創(chuàng)建測(cè)試目錄
cd /app/hadoop-2.2.0/bin
./hadoop fs -mkdir -p /class3/input
準(zhǔn)備測(cè)試數(shù)據(jù)
./hadoop fs -copyFromLocal ../etc/hadoop/* /class3/input
4.2 運(yùn)行wordcount例子
cd /app/hadoop-2.2.0/bin
./hadoop jar ../share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /class3/input /class3/output
4.3 查看結(jié)果
使用如下命令查看運(yùn)行結(jié)果:
./hadoop fs -ls /class3/output/
./hadoop fs -cat /class3/output/part-r-00000 | less