Hadoop安裝
在Linux、Windows、macOS下安裝都需要先安裝java環(huán)境,再安裝hadoop,均需要配置環(huán)境變量。怎么配置可自行查找資料,這里就不介紹了。
Hadoop的運(yùn)行模式配置
Hadoop的運(yùn)行模式分為3種:本地運(yùn)行模式、偽分布運(yùn)行模式、集群運(yùn)行模式。
1、獨(dú)立模式即本地運(yùn)行模式
無需運(yùn)行任何守護(hù)進(jìn)程,所有程序都在單個(gè)JVM上執(zhí)行。由于在本機(jī)模式下測試和調(diào)試MapReduce程序較為方便,因此,這種模式適宜用在開發(fā)階段。獨(dú)立模式無需配置任何文件。
2、偽分布運(yùn)行模式
如果Hadoop對(duì)應(yīng)的Java進(jìn)程都運(yùn)行在一個(gè)物理機(jī)器上,稱為偽分布運(yùn)行模式。以Windows為例,在其它系統(tǒng)下,需要修改路徑。Linux下需要在hadoop-2.7.2/etc/hadoop/hadoop-env.sh指定java環(huán)境變量
偽分布運(yùn)行模式需要配置core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml
core-site.xml:指定hadoop的主節(jié)點(diǎn)master。
hdfs-site.xml:指定hadoop中的文件副本數(shù)。
mapred-site.xml:指定mapreduce的資源管理。
yarn-site.xml:
core-site.xml配置如下:
<configuration>
<property>
? ? ? ? <name>hadoop.tmp.dir</name>
? ? ? ? <value>/G:/tmp</value> <!--windows下創(chuàng)建文件夾 -->
<value>/home/hadoop/bigdata/temp</value> <!--linux下創(chuàng)建文件夾 指定hadoop運(yùn)行時(shí)產(chǎn)生臨時(shí)文件的存儲(chǔ)目錄-->
? ? ? ? <description>Abase for other temporary directories.</description>
? </property>
<property>
? ? ? ? <name>fs.default.name</name>
? ? ? ? <value>hdfs://localhost:9000</value>? ?
</property>
</configuration>
hdfs-site.xml配置:
<configuration>
? ? ? ? <property>
? ? ? ? ? ? ? <name>dfs.replication</name>
? ? ? ? ? ? ? <value>1</value><!--副本為1 -->
? ? ? ? </property>
? <property>
? ? ? ? <name>dfs.namenode.name.dir</name>
? ? ? ? <value>/G:/tmp/data/namenode</value><!--windows下創(chuàng)建文件夾 ,linux需要指定目錄-->
? ? </property>
? ? <property>
? ? ? ? <name>dfs.datanode.data.dir</name>
? ? ? ? <value>/G:/tmp/data/datanode</value><!--windows下創(chuàng)建文件夾,linux需要指定目錄 -->
</property>
<property>
? <name>dfs.namenode.secondary.http-address</name>
? ? <value>http://localhost:50090</value>
? </property>
</configuration>
mapred-site.xml配置:
<configuration>
? ? ? <property>
? ? ? ? ? ? <name>mapreduce.framework.name</name>
? ? ? ? ? ? <value>yarn</value>(選擇yarn來mapreduce)
? ? ? </property>
</configuration>
yarn-site.xml配置:
<configuration>
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>yarn.resourcemanager.hostname</name>
? ? ? ? ? ? ? ? <value>localhost</value>
? ? ? ? </property>
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>yarn.nodemanager.aux-services</name>
? ? ? ? ? ? ? ? <value>mapreduce_shuffle</value>
? ? ? ? </property>
</configuration>
Windows下啟動(dòng)hadoop
1、運(yùn)行cmd窗口,切換到hadoop安裝目錄下的bin目錄下執(zhí)行hdfs namenode -format
2、運(yùn)行cmd窗口,切換到hadoop的sbin目錄,執(zhí)行start-all.cmd,它將會(huì)啟動(dòng)5個(gè)進(jìn)程。
啟動(dòng)之后,可用jps命令查看,如下圖,然后可進(jìn)行增刪改查、創(chuàng)建的命令操作。

Linux下啟動(dòng)hadoop
1、切換到hadoop安裝目錄下的bin目錄下執(zhí)行hdfs namenode -format
2、切換到hadoop的sbin目錄,執(zhí)行start-all.sh,它將會(huì)啟動(dòng)5個(gè)進(jìn)程。
啟動(dòng)之后,可用jps命令查看。
3、集群模式
Linux系統(tǒng),在虛擬機(jī)中創(chuàng)建四臺(tái)系統(tǒng):首先創(chuàng)建4臺(tái)虛擬機(jī),分別命名為hp001、hp002、hp003、hp004。安裝成功后,然后分別修改主機(jī)名(hp001、hp002、hp003、hp004),再修改/etc/hosts文件(hp002、hp003、hp004同hp001),本機(jī)IP對(duì)應(yīng)主機(jī)名。
hadoop1? node1作為名稱節(jié)點(diǎn)
hadoop2? node2作為輔助名稱節(jié)點(diǎn)
hadoop3? node3作為數(shù)據(jù)節(jié)點(diǎn)
hadoop4? node4作為數(shù)據(jù)節(jié)點(diǎn)
完全分布式配置方式:配置文件/home/hadoop/bigdata/hadoop-2.7.2/etc/hadoop/下的四個(gè)xml文件。
core-site.xml
<configuration>
? ? ? ? <property>
? <name>fs.defaultFS</name>
? <value>hdfs://hp001</value>
? </property>
? <property>
? <name>hadoop.tmp.dir</name>
? <value>/home/hadoop/bigdata</value>
? </property>
</configuration>
hdfs-site.xml
<configuration>
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.replication</name>
? ? ? ? ? ? ? ? <value>3</value>
? ? ? ? </property>
? ? ? ? <property>
? <name>dfs.namenode.secondary.http-address</name>
? ? <value>hp002:50090</value>
? </property>
</configuration>
mapred-site.xml
<configuration>
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>mapreduce.framework.name</name>
? ? ? ? ? ? ? ? <value>yarn</value>
? ? ? ? </property>
</configuration>
yarn-site.xml
<configuration>
? ? ? ? <property>
? <name>yarn.resourcemanager.hostname</name>
? <value>hp001</value>
? </property>
? <property>
? <name>yarn.nodemanager.aux-services</name>
? <value>mapreduce_shuffle</value>
? ? </property>
</configuration>
把/home/hadoop/bigdata/hadoop-2.7.2/etc/hadoop/slaves文件修改為
hp003
hp004
在集群上分發(fā)以上5個(gè)文件
cd /home/hadoop/bigdata/hadoop-2.7.2/etc/hadoop
xsync core-site.xml
xsync hdfs-site.xml
xsync mapred-site.xml
xsync yarn-site.xml
xsync slaves
首次啟動(dòng)hadoop
1)格式化文件系統(tǒng)
$>hadoop namenode -format
2)啟動(dòng)所有進(jìn)程
$>start-all.sh
3)查詢進(jìn)程
$>xcall jps
