CentOS 7上Hadoop 3的二进制部署方法
Hadoop核心架构解析
Hadoop 3架构包含三大基础组件:
- HDFS:分布式存储系统,支持海量数据持久化
- YARN:资源调度框架,实现集群资源动态分配
- MapReduce:分布式计算模型,处理大规模数据集
集群架构特性
Hadoop集群采用主从架构,包含两个逻辑独立的子系统:
- HDFS集群(名称节点/数据节点)
- YARN集群(资源管理器/节点管理器)
物理部署上,部分服务可共存于同一节点,但功能模块相互隔离。
系统预配置
节点角色分配
节点映射关系如下:
192.168.1.131 hdp01.dialev.com
192.168.1.132 hdp02.dialev.com
192.168.1.133 hdp03.dialev.com
免密登录配置
echo "StrictHostKeyChecking no" > ~/.ssh/config
ssh-copy-id -i 192.168.1.13{1..3}
时间同步设置
yum install -y ntpdate
ntpdate ntp.aliyun.com
echo '*/5 * * * * ntpdate ntp.aliyun.com' | crontab -
JDK环境部署
tar xf jdk-8u65-linux-x64.tar.gz -C /usr/local/
ln -sv jdk1.8.0_65 /usr/local/java
echo 'export JAVA_HOME=/usr/local/java' >> /etc/profile.d/java.sh
source /etc/profile.d/java.sh
Hadoop部署流程
安装包解压
tar xf hadoop-3.1.4.tar.gz -C /usr/local/
ln -sv hadoop-3.1.4 /usr/local/hadoop
目录结构说明:
- bin:执行脚本目录
- etc:配置文件存储位置
- lib:运行时依赖库
- sbin:管理脚本存放路径
环境变量配置
export JAVA_HOME=/usr/local/java
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
HDFS基础配置
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hdp01.dialev.com:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/Hadoop/tmp</value>
</property>
</configuration>
YARN参数调整
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hdp01.dialev.com</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
节点列表配置
hdp01.dialev.com
hdp02.dialev.com
hdp03.dialev.com
集群启动与验证
名称节点初始化
hdfs namenode -format
# 初始化成功日志示例:
# Storage directory /Hadoop/name has been successfully formatted.
服务启动命令
cd /usr/local/hadoop/sbin
start-dfs.sh
start-yarn.sh
验证操作
Web界面访问
- HDFS管理界面:http://192.168.1.131:50070
- YARN管理界面:http://192.168.1.131:8088
数据操作测试
hadoop fs -mkdir /test
hadoop fs -put test.txt /test
基准测试
hadoop jar hadoop-mapreduce-examples-3.1.4.jar pi 2 4