操作系统:CentOS 8 x86_64
Hadoop版本:2.10.1
节点数:3
服务器规划:
node1 | node2 | node3 |
---|---|---|
199.188.166.111 | 199.188.166.112 | 199.188.166.113 |
NameNode(NN) | Secondary NameNode | |
ResourceManager(RM) | ||
DataNode(DN) | DataNode(DN) | DataNode(DN) |
NodeManager(NM) | NodeManager(NM) | NodeManager(NM) |
使用VMware安装,傻瓜式的,这里就不再赘述了
注:本次Hadoop集群搭建是使用VMware虚拟机进行的,首先创建一个虚拟机,因为只是用来搭建hadoop环境,创建虚机时就用hadoop用户,实际也是用hadoop用户来进行搭建(不建议使用root用户,虽然方便,但和不贴合实际项目)。
对安装好的虚拟机进行基础环境的配置,主要是JDK的安装和防火墙的关闭
JDK版本:1.8.0_181
安装路径:/app/java/jdk1.8.0_181 (从官网下载tar.gz包直接解压即可为方便管理,所有app均安装在了/app目录下)
配置环境变量:为了方便,直接配置了全局,对所有用户生效
vi /etc/profile
# 添加以下内容
export JAVA_HOME=/app/java/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
# 生效环境变量
source /etc/profile
为防止本机无法访问集群资源,需要关闭防火墙,命令为:systemctl stop firewalld.service
关闭后可查看防火墙状态是否已经正确关闭
在创建好的虚拟机右键,管理—>克隆,根据提示,再创建两台虚拟机,根据自己的习惯重新命下名
为更贴近实际,我们修改下主机名,命令如下,将三台机器分别进行命名:
# 第一台虚机
hostnamectl set-hostname node1
# 第二台虚机
hostnamectl set-hostname node2
# 第三台虚机
hostnamectl set-hostname node3
为方便后续管理及服务器之间的通信,需要进行IP地址映射配置,三台服务器同样操作
vi /etc/hosts
# 增加如下内容
199.188.166.111 node1
199.188.166.112 node2
199.188.166.113 node3
因为三台服务器组成了一个集群,如果不配置免密访问,那么在集群启动时会N多次提示要输入密码,操作如下(三台服务器均如此操作):
生成密钥:
ssh-keygen -t rsa
复制密钥到其他服务器:
ssh-copy-id -i ~/.ssh/id_rsa.pub node1
先在node1节点进行安装配置,然后直接分发到其他服务器即可
Hadoop的安装其实就是解压并修改配置文件的过程
Hadoop需要修改的配置文件均在/app/hadoop-2.10.1/etc/hadoop目录下,根据集群规划进行相应修改操作,各文件的配置项有很多,此示例仅配置了常用的几项
# The java implementation to use.
export JAVA_HOME=/app/java/jdk1.8.0_181
fs.defaultFS
hdfs://node1:9000
io.file.buffer.size
131072
hadoop.tmp.dir
file:/app/hadoop-2.10.1/tmp
dfs.namenode.name.dir
file:/app/hadoop-2.10.1/dfs/name
dfs.datanode.data.dir
file:/app/hadoop-2.10.1/dfs/data
dfs.replication
3
dfs.http.address
node1:50070
dfs.namenode.secondary.http-address
node2:50071
mapreduce.framework.name
yarn
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.hostname
node1
node1
node2
node3
node2
通过命令,将配置好的hadoop分发到其他服务器
# 分发到服务器node2
scp -r hadoop-2.10.1 node2:/app
# 分发到服务器node3
scp -r hadoop-2.10.1 node3:/app
登录主节点node1,按照如下命令启动:
cd /app/hadoop-2.10.1/sbin
./start-hdfs.sh
./start-yarn.sh
登录web查看是否正常:
http://199.188.166.111:50070/
至此,集群搭建完成!
注:关于配置的其他说明,请参考其他文章~