1.安装并配置Hadoop
mkdir -p /usr/hadoop && cd /usr/package277/
tar -zxvf hadoop-2.7.7.tar.gz -C /usr/hadoop/
xsync.sh /usr/hadoop/
将Hadoop安装目录配置到环境变量中,方便后续使用:
vim /etc/profile
# hadoop
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.7/
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
xsync.sh /etc/profile
source /etc/profile
安装成功后我们进行Hadoop的基本配置分别编辑core-site.xml
以及hdfs-site.xml
与yarn-site.xml
的配置文件:
cd $HADOOP_HOME/etc/hadoop
1.hadoop-env.sh运行环境 ======================
vim hadoop-env.sh
echo $JAVA_HOME
echo "export JAVA_HOME=/usr/java/jdk1.8.0_221" >> hadoop-env.sh
2.core-site.xml全局参数============================
vim core-site.xml # 增加如下内容
#namenode 主机为master 端口9000
#临时目录位置为绝对路径 /root/hadoopData/tmp
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoopData/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>fs.checkpoint.period</name>
<value>60</value>
</property>
<property>
<name>fs.checkpoint.size</name>
<value>67108864</value>
</property>
</configuration>
三台机器都创建
mkdir -p /root/hadoopData/tmp
3,hdfs-site.xml配置文件============================
vim hdfs-site.xml # 增加如下内容
# namenode临时文件所存放的目录
# datanode临时文件所存放的目录
# 关闭权限校验 集群间用hostname通信
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/root/hadoopData/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/root/hadoopData/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.datanode.use.datanode.hostname</name>
<value>true</value>
</property>
</configuration>
三台机器都创建
mkdir -p /root/hadoopData/name
mkdir -p /root/hadoopData/data
4,YARN框架运行环境============================
echo "export JAVA_HOME=/usr/java/jdk1.8.0_221" >> yarn-env.sh
5.YARN框架的核心配置============================
vim yarn-site.xml # 增加如下内容
<configuration>
<!-- 指定ResourceManager的地址-->
<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.webapp.address</name>
<value>master:18088</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>
<!-- 指定reducer获取数据的方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
6,拷贝并编辑MapReduce的配置文件:
cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml # 增加如下内容
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
7,配置从节点:
echo master > master && echo slave1 > slaves && echo slave2 >> slaves
8,分发到其它服务器上
cd /usr/hadoop
xsync.sh hadoop-2.7.7
2.格式化Hadoop并启停
在Master中对NameNode进行格式化操作:
hdfs namenode -format
启动集群:
start-all.sh
start-dfs.sh
start-yarn.sh
查看进程:
jps
# 查看是否有以下几个进程
# Master节点:
6256 Jps
5843 ResourceManager
5413 NameNode
5702 SecondaryNameNode
# Slave节点
6256 Jps
5538 DataNode
5945 NodeManager
访问监控主页:
在浏览器上访问主节点的50070端口:192.168.42.128:50070
。可以访问50070端口就代表集群中的HDFS是正常的。
访问主节点的8088端口,这是YARN的web服务端口,例如:192.168.42.128:8088
。
关闭节点:
stop-dfs.sh
stop-yarn.sh