1、安装Hadoop
上传Hadoop的指定路径/root/softwares
解压安装
cd /root/softwares && tar -zxvf hadoop-2.7.3.tar.gz -C /usr/local
配置环境变量
vim /etc/profile
# Hadoop Environment
export HADOOP_HOME=/usr/local/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
重新使环境变量生效
source /etc/profile
验证是否配置成功
hadoop version
2、案例演示:wordcount
新建一个目录,存放文本文件
mkdir ~/input
执行wordcount
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount ~/input ~/output
查看结果
cat ~/output/*
案例计算:pi
直接计算pi的结果
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar pi 10 10
3、完全分布式模式
集群搭建准备
-
三台机器的防火墙必须是关闭的
-
systemctl stop firewalld systemctl disable firewalld systemctl stop NetworkManager systemctl disable NetworkManager
-
-
确保三台机器的网络配置通畅(NAT模式、静态IP、主机名的配置)
-
确保/etc/hosts文件配置了ip和hostname的映射关系
-
确保配置了三台机器的免密登录认证
-
确保所有机器时间同步
-
ntpdate -u ntp.api.bz
-
-
jdk和Hadoop的环境变量配置
配置文件
- core-site.xml
<configuration>
<!-- 设置namenode节点 -->
<!-- 注意: hadoop1.x时代默认端口9000 hadoop2.x时代默认端口8020 hadoop3.x时代默认端口9820 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://chlinrei01:8020</value>
</property>
<!-- hdfs的基础路径,被其他属性所依赖的一个基础路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-2.7.3/tmp</value>
</property>
</configuration>
- hdfs-site.xml
<configuration>
<!-- 块的副本数量 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- secondarynamenode守护进程的http地址:主机名和端口号。参考守护进程布局 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>chlinrei02:9868</value>
</property>
<!-- namenode守护进程的http地址:主机名和端口号。参考守护进程布局 -->
<property>
<name>dfs.namenode.http-address</name>
<value>chlinrei01:9870</value>
</property>
</configuration>
- hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_162
# Hadoop3中,需要添加如下配置,设置启动集群角色的用户是谁
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
分发
cd /usr/local
scp -r jdk1.8.0_162/ chlinrei02:$PWD
scp -r hadoop-2.7.3/ chlinrei02:$PWD
scp /etc/profile chlinrei02:/etc/
scp -r jdk1.8.0_162/ chlinrei03:$PWD
scp -r hadoop-2.7.3/ chlinrei03:$PWD
scp /etc/profile chlinrei03:/etc/
格式化集群
hdfs namenode -format
启动集群
start-dfs.sh
进程查看
jps