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)程,所有程序都在單個JVM上執(zhí)行道川。由于在本機(jī)模式下測試和調(diào)試MapReduce程序較為方便午衰,因此,這種模式適宜用在開發(fā)階段冒萄。獨(dú)立模式無需配置任何文件臊岸。
2、偽分布運(yùn)行模式
如果Hadoop對應(yīng)的Java進(jìn)程都運(yùn)行在一個物理機(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)行時產(chǎn)生臨時文件的存儲目錄-->
? ? ? ? <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下啟動hadoop
1鸦采、運(yùn)行cmd窗口宾巍,切換到hadoop安裝目錄下的bin目錄下執(zhí)行hdfs namenode -format
2、運(yùn)行cmd窗口渔伯,切換到hadoop的sbin目錄顶霞,執(zhí)行start-all.cmd,它將會啟動5個進(jìn)程锣吼。
啟動之后选浑,可用jps命令查看,如下圖玄叠,然后可進(jìn)行增刪改查古徒、創(chuàng)建的命令操作。
Linux下啟動hadoop
1读恃、切換到hadoop安裝目錄下的bin目錄下執(zhí)行hdfs namenode -format
2隧膘、切換到hadoop的sbin目錄,執(zhí)行start-all.sh寺惫,它將會啟動5個進(jìn)程疹吃。
啟動之后,可用jps命令查看西雀。
3互墓、集群模式
Linux系統(tǒng),在虛擬機(jī)中創(chuàng)建四臺系統(tǒng):首先創(chuàng)建4臺虛擬機(jī)蒋搜,分別命名為hp001、hp002判莉、hp003豆挽、hp004。安裝成功后券盅,然后分別修改主機(jī)名(hp001帮哈、hp002、hp003锰镀、hp004)娘侍,再修改/etc/hosts文件(hp002、hp003泳炉、hp004同hp001)憾筏,本機(jī)IP對應(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/下的四個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個文件
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
首次啟動hadoop
1)格式化文件系統(tǒng)
$>hadoop namenode -format
2)啟動所有進(jìn)程
$>start-all.sh
3)查詢進(jìn)程
$>xcall jps