3节点分布式–Hadoop集群搭建
1. 第一步需要确定各个节点的角色分布,明确思路
3个节点的角色部署:
第一个节点:datanode,nodemanager,zookeeper,journalnode,namenode,resourcemanager
第二个节点:datanode,nodemanager,zookeeper,journalnode,namenode
第三个节点:datanode,nodemanager,zookeeper,journalnode,resourcemanager
2. 在三个节点上需要部署集群所需的基础环境
- 关掉防火墙及selinux和同步主机时间
·关闭防火墙 systemctl stop firewalld
·禁用防火墙 systemctl disable firewalld
·关掉selinux setenforce 0
·禁用selinux vim /etc/selinux/config
修改配置 SELINUX=disabled
同步主机时间 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime - 修改为不同的主机名
hostnamectl set-hostname centos1
hostnamectl set-hostname centos2
hostnamectl set-hostname centos3 - 修改/etc/hosts
添加hosts的IP和主机名映射
192.168.0.118 centos1
192.168.0.119 centos2
192.168.0.120 centos3 - 免密登录设置
三个节点上执行 ssh-keygen 连续四下回车
第一个节点 ssh-copy-id root@centos1
第二个节点 ssh-copy-id root@centos1
第三个节点 ssh-copy-id root@centos1
之后进行分发~.ssh/authorized_keys密钥文件到三个节点上。后进行免密验证。 - 安装jdk并配置环境变量
解压jdk安装包 tar zxvf jdk-8u212-linux-x64.tar.gz
vim ~/.bash_profile
JAVA_HOME=/home/software/jdk1.8.0_212
PATH=$PATH:$JAVA_HOME/bin
:wq保存退出后 source ~/.bash_profile 使其生效 - 搭建zookeeper集群
具体在这里👉zookeeper集群搭建
搭建完成后启动zookeeper - 解压Hadoop安装包 进入Hadoop目录下的etc/hadoop
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
进行不通配置文件的配置,修改6个配置文件
修改hadoop-env.sh
修改JAVA_HOME=修改为对应的jdk安装目录
修改HADOOP_CONF_DIR=修改为对应的hadoop解压目录/etc/hadoop
修改core-site.xml
<!-- 指定hdfs的nameservice,为整个集群起一个别名 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://cluster1</value>
</property>
<!-- 指定Hadoop数据临时存放目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/software/hadoop-2.7.7/tmp</value>
</property>
<!-- 指定zookeeper的存放地址 -->
<property>
<name>ha.zookeeper.quorum</name>
<value>centos1:2181,centos2:2181,centos3:2181</value>
</property>
修改hdfs-site.xml
<!-- 给集群起一个名称 -->
<property>
<name>dfs.nameservices</name>
<value>cluster1</value>
</property>
<!-- 两个namenode的名称 -->
<property>
<name>dfs.ha.namenodes.cluster1</name>
<value><