1. 前置准备
1.准备三台虚拟机 – node-1 (主节点) , node-2, node-3
2.JDK环境
3.修改主机名称
hostnamectl set-hostname node-1
vi /etc/hosts
<!-- hosts末尾添加 -->
192.168.25.111 node-1
192.168.25.112 node-2
192.168.25.113 node-3
4.SSH免密登录
ssh-keygen
ssh-copy-id node-1
2. 配置文件
2.1 修改配置文件
- 修改etc/hadoop/hadoop-env.sh
vi hadoop-env.sh
<!-- 将配置文件中的JAVA_HOME路径改为安装路径 -->
export JAVA_HOME=~/jdk1.8.0_231
- 修改etc/hadoop/core-site.xml
vi core-site.xml
<!-- 在configuration中添加2个属性 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node-1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/export/data/hddata</value>
</property>
- 修改etc/hadoop/hdfs-site.xml
vi hdfs-site.xml
<!-- 指定分片数量以及秘书节点的位置 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node-2:50090</value>
</property>
- 复制mapred-site.xml.template进行修改
mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<!-- 指定mr运行时的框架为yarn,默认是local -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
- 修改yarn-site.xml
vi yarn-site.xml
<!-- 指定yarn的老大 (ResourceManager) 的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node-1</value>
</property>
<!-- NodeManager上运行的附属服务 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
- 修改slaves
vi slaves
<!-- 指定从节点 -->
node-1
node-2
node-3
- 修改 /etc/profile 添加Hadoop环境变量
export HADOOP_HOME=~/hadoop-2.10.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
2.2 配置文件说明
xxx-default.xml :hadoop默认配置
xxx-site.xml :用户自定义配置
优先级:site > default
3. 集群启动
3.1 首次启动HDFS时,必须对其进行格式化操作
本质上是做一些清理和准备工作,因为此时的HDFS在物理上是不存在的。
注意事项:格式化只能进行一次,在主角色(namenode)所在的机器操作。
hdfs namenode -format
3.2 脚本一键启动
如果配置了/etc/hadoop/slaves
和ssh免密登录,则可以使用脚本启动所有hadoop两个集群的相关进程,在主节点所设定的机器上运行。
cd ~/hadoop-2.10.0/sbin
start-dfs.sh
start-yarn.sh
3.3 访问
查看HDFS集群(NameNode):http://192.168.25.111:50070
查看yarn(ResourceManager):http://192.168.25.111:8088