Hadoop一般有三种运行模式,分别是:
-
单机模式(Standalone Mode),默认情况下,Hadoop即处于该模式,使用本地文件系统,而不是分布式文件系统。,用于开发和调试。
-
伪分布式模式(Pseudo Distrubuted Mode),使用的是分布式文件系统,守护进程运行在本机机器,模拟一个小规模的集群,在一台主机模拟多主机,适合模拟集群学习。
-
完全分布式集群模式(Full Distributed Mode),Hadoop的守护进程运行在由多台主机搭建的集群上,是真正的生产环境。
这里介绍的就是如何搭建一个Hadoop完全分布式集群。
安装环境介绍
准备了四个服务器,IP为192.168.0.236、192.168.0.237、192.168.0.238、192.168.0.239,其中192.168.0.236作为主节点,其他3个作为从节点。具体版本信息如下:
-
CentOS 7.4
-
JDK 8
-
Hadoop 2.10.0
准备安装环境
设置主机名
在各个服务器上修改对应的主机名:
#在192.168.0.236上执行:
hostnamectl set-hostname onemore-hadoop-master
#在192.168.0.237上执行:
hostnamectl set-hostname onemore-hadoop-slave1
#在192.168.0.238上执行:
hostnamectl set-hostname onemore-hadoop-slave2
#在192.168.0.239上执行:
hostnamectl set-hostname onemore-hadoop-slave3
关闭SELINUX
编辑/etc/selinux/config文件:
vi /etc/selinux/config
把
SELINUX=enforcing
修改为:
SELINUX=disabled
重启服务器
reboot
设置hosts
cat >> /etc/hosts <<EOF
192.168.0.236 onemore-hadoop-master
192.168.0.237 onemore-hadoop-slave1
192.168.0.238 onemore-hadoop-slave2
192.168.0.239 onemore-hadoop-slave3
EOF
关闭防火墙
停止防火墙
systemctl stop firewalld.service
禁止防火墙开机启动
systemctl disable firewalld.service
设置免密登录
分布式集群搭建需要主节点能够免密登录至各个从节点上。因此,需要在主节点上生成公钥,把将主节点的公钥在从节点中加入授权。
- 在192.168.0.236上生成公钥。
ssh-keygen -t rsa
- 在192.168.0.236上,把公钥发送到各个从节点
scp ~/.ssh/id_rsa.pub 192.168.0.237:~/.ssh
scp ~/.ssh/id_rsa.pub 192.168.0.238:~/.ssh
scp ~/.ssh/id_rsa.pub 192.168.0.239:~/.ssh
这时还不是免密登录登录的,需要输入用户名和密码。
- 将公钥追加到各个从节点的授权里。
在每个从节点执行一下命令:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
安装JDK
参见之前的《详解在Linux系统中安装JDK》,这里就不再赘述了。
Hadoop环境配置
主节点配置
下载Hadoop
从北京理工大学的镜像上下载Hadoop:
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.10.0/hadoop-2.10.0.tar.gz
创建文件夹
mkdir /usr/local/hadoop
解压
tar -xzvf hadoop-2.10.0.tar.gz -C /usr/local/hadoop
配置环境变量
追加Hadoop的环境变量到/etc/profile文件中
cat >> /etc/profile <<EOF
#Hadoop
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.10.0
export PATH=$PATH:$HADOOP_HOME/bin
EOF
使环境变量生效
source /etc/profile
修改配置文件
修改core-site.xml配置文件
vi /usr/local/hadoop/hadoop-2.10.0/etc/hadoop/core-site.xml
修改其内容为:
hadoop.tmp.dir
file:/usr/local/hadoop/tmp
Abase for other temporary directories.
fs.defaultFS
hdfs://onemore-hadoop-master:9000
修改hdfs-site.xml配置文件
vi /usr/local/hadoop/hadoop-2.10.0/etc/hadoop/hdfs-site.xml
修改其内容为:
dfs.replication
3
dfs.name.dir
/usr/local/hadoop/hdfs/name
dfs.data.dir
/usr/local/hadoop/hdfs/data
复制mapred-site.xml.template为mapred-site.xml
cp /usr/local/hadoop/hadoop-2.10.0/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/hadoop-2.10.0/etc/hadoop/mapred-site.xml
再修改mapred-site.xml配置文件
vi /usr/local/hadoop/hadoop-2.10.0/etc/hadoop/mapred-site.xml
修改其内容为:
mapreduce.framework.name
yarn
mapred.job.tracker
http://onemore-hadoop-master:9001
修改yarn-site.xml配置文件
vi /usr/local/hadoop/hadoop-2.10.0/etc/hadoop/yarn-site.xml
修改其内容为:
最后
Java架构学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。
还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2021年最新大厂面试题。
lue>yarn
mapred.job.tracker
http://onemore-hadoop-master:9001
修改yarn-site.xml配置文件
vi /usr/local/hadoop/hadoop-2.10.0/etc/hadoop/yarn-site.xml
修改其内容为:
最后
Java架构学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。
还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2021年最新大厂面试题。
[外链图片转存中…(img-HNFMotU6-1714584546281)]