1.進(jìn)入Hadoop軟件包,命令如下:
先切回到root用戶
[kkb@master ~]$ su - root
進(jìn)入到hadoop目錄下(壓縮包可以使用鼠標(biāo)將壓縮包拖入虛擬機(jī)中)
[root@master ~]$ cd /software/hadoop/
解壓Hadoop安裝包命令如下:
[root@master hadoop]$ tar -zxvf hadoop-2.7.3.tar.gz
2.配置環(huán)境變量hadoop-env.sh
環(huán)境變量文件中,只需要配置JDK的路徑
[root@master hadoop-2.7.3]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
在文件的靠前的部分找到下面的一行代碼:
export JAVA_HOME=${JAVA_HOME}
將這行代碼修改為下面的代碼:
export JAVA_HOME=/usr/java/jdk1.8.0_181/
然后保存文件
如果你不知道自己的Java版本可以通過下面的方法得到
配置環(huán)境變量yarn-env.sh
環(huán)境變量文件中妻坝,只需要配置JDK的路徑芥永。
[root@master hadoop-2.7.3]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/yarn-env.sh
在文件的靠前的部分找到下面的一行代碼:
export JAVA_HOME=/home/y/libexec/jdk1.6.0/
將這行代碼修改為下面的代碼(將#號去掉):
export JAVA_HOME=/usr/java/jdk1.8.0_181/
然后保存文件
3.配置核心組件core-site.xml
使用vi編輯:
[root@master hadoop-2.7.3]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml
用下面的代碼替換core-site.xml中的內(nèi)容:(注意路徑一致)
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/software/hadoop/hadoopdata</value>
</property>
</configuration>
4.配置文件系統(tǒng)hdfs-site.xml
使用vi編輯:
[root@master hadoop-2.7.3]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
用下面的代碼替換hdfs-site.xml中的內(nèi)容:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
5.配置文件系統(tǒng)yarn-site.xml
使用vi編輯:
[root@master hadoop-2.7.3]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/yarn-site.xml
用下面的代碼替換yarn-site.xml中的內(nèi)容:
<?xml version="1.0"?>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:18040</value>
</property>
<property> <name>yarn.resourcemanager.scheduler.address</name>
<value>master:18030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:18025</value>
</property>
<property> <name>yarn.resourcemanager.admin.address</name>
<value>master:18141</value>
</property>
<property> <name>yarn.resourcemanager.webapp.address</name>
<value>master:18088</value>
</property>
</configuration>
6.配置計(jì)算框架mapred-site.xml
復(fù)制mapred-site-template.xml文件:
[root@master hadoop-2.7.3]$ cp /software/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template
/software/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml
使用vi編輯:
[root@master ~]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml
用下面的代碼替換mapred-site.xml中的內(nèi)容
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
cp /software/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template /software/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml
7.在master節(jié)點(diǎn)配置slaves文件
使用vi編輯:
[root@master hadoop-2.7.3]$ vi /software/hadoop/hadoop-2.7.3/etc/hadoop/slaves
用下面的代碼替換slaves中的內(nèi)容:
slave01
slave02
8.更改權(quán)限(三個(gè)節(jié)點(diǎn)都操作)
給hadoop目錄授權(quán)
[root@master hadoop-2.7.3]$ chown kkb.kkb /software/hadoop/ -R # -R是遞歸的意思
給我們每臺虛擬就都創(chuàng)建一個(gè)相同路徑的hadoop文件夾蛤铜,方便管理
9.復(fù)制到從節(jié)點(diǎn)
使用下面的命令將已經(jīng)配置完成的Hadoop復(fù)制到從節(jié)點(diǎn)HadoopSlave上:
[root@master hadoop-2.7.3]$ su - kkb
[root@master ~]$ scp -r /software/hadoop/hadoop-2.7.3 root@slave01:/software/hadoop
[root@master ~]$ scp -r /software/hadoop/hadoop-2.7.3 root@slave02:/software/hadoop
注意:因?yàn)橹耙呀?jīng)配置了免密鑰登錄官研,這里可以直接遠(yuǎn)程復(fù)制。
在我們的slave01,slave02中查看hadoop,并都做一次授權(quán)
六. 啟動Hadoop集群
1.下面所有的操作都使用kkb用戶泻骤,切換kkb用戶的命令是:
su - kkb(如果已在普通用戶下則不用再執(zhí)行)
2.配置Hadoop啟動的系統(tǒng)環(huán)境變量
該節(jié)的配置需要同時(shí)在兩個(gè)節(jié)點(diǎn)(HadoopMaster和HadoopSlave)上進(jìn)行操作漆羔,操作命令如下:
只需要在kkb用戶下執(zhí)行環(huán)境變量配置操作即可
[kkb@master ~]$ vi .bash_profile
復(fù)制粘貼以下內(nèi)容添加到到上面vi打開的文件中:
JAVA_HOME=/usr/java/jdk1.8.0_181/
HADOOP_HOME=/software/hadoop/hadoop-2.7.3
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME
export HADOOP_HOME
export PATH
使改動生效命令:
[kkb@master ~]$ source ~/.bash_profile
3.創(chuàng)建數(shù)據(jù)目錄
該節(jié)的配置需要同時(shí)在兩個(gè)節(jié)點(diǎn)(HadoopMaster和HadoopSlave)上進(jìn)行操作。
在kkb的用戶主目錄下狱掂,創(chuàng)建數(shù)據(jù)目錄演痒,命令如下:
[kkb@master ~]$ mkdir /software/hadoop/hadoopdata
4.啟動Hadoop集群
4.1格式化文件系統(tǒng)
格式化命令如下,該操作需要在HadoopMaster節(jié)點(diǎn)上執(zhí)行:(需要等待一些時(shí)間趋惨,沒有報(bào)錯進(jìn)入下一步)
[kkb@master ~]$ hdfs namenode -format
4.2啟動Hadoop
使用start-all.sh啟動Hadoop集群鸟顺,首先進(jìn)入Hadoop安裝主目錄,然后執(zhí)行啟動命令:
[kkb@master ~]$ cd ~/hadoop-2.7.3
[kkb@master ~]$ start-all.sh
執(zhí)行命令后器虾,提示輸入yes/no時(shí)讯嫂,輸入yes。
注意
可能存在啟動不了曾撤,啟動hadoop時(shí)報(bào)錯端姚,nodemanager running as process 6410. Stop it first.之類的
解決方法:
進(jìn)程已經(jīng)在運(yùn)行中了,先執(zhí)行stop-all.sh下挤悉,然后再執(zhí)行start-all.sh,樓主通過此方法巫湘,問題解決
4.3查看進(jìn)程是否啟動
在HadoopMaster的終端執(zhí)行jps命令装悲,在打印結(jié)果中會看到4個(gè)進(jìn)程,分別是ResourceManager
Jps
NameNode
SecondaryNameNode
如下圖所示尚氛。如果出現(xiàn)了這4個(gè)進(jìn)程表示主節(jié)點(diǎn)進(jìn)程啟動成功诀诊。
在HadoopSlave的終端執(zhí)行jps命令,在打印結(jié)果中會看到3個(gè)進(jìn)程阅嘶,分別是NodeManager
DataNode
Jps