Hadoop3+zookeeper3 HA高可用集群搭建

本文详细介绍了如何搭建Hadoop3和Zookeeper3的HA高可用集群,包括Java环境配置、Linux系统设置、关闭防火墙、禁用SELinux、时间同步、HDFS和YARN的高可用集群搭建步骤,以及Zookeeper的安装和配置。
摘要由CSDN通过智能技术生成

安装软件包

jdk jdk-8u192-linux-x64.tar.gz
hadoop hadoop-3.1.2.tar.gz
zookeeper zookeeper-3.4.13.tar.gz

java环境配置

# vi + /etc/profile
在末尾添加以下内容:
# JAVA_HOME
export JAVA_HOME=/opt/tools/java/jdk1.8 
export PATH=$PATH:$JAVA_HOME/bin
使文件生效
# source /etc/profile

Linux系统环境设置

  • 关闭并禁用防火墙(开机不自启)
# service ntpd stop
# chkconfig iptables off
  • 禁用selinux
# vi /etc/sysconfig/selinux
修改	selinux=disabled
  • 设置文件打开数量和用户最大进程数(每台都要设置)
#  vi /etc/security/limits.conf
 * soft nofile 65535
 * hard nofile 65535
 * soft nproc 32000
 * hard nproc 32000
  • 集群系统的时间同步

1.检查是否有时间同步的插件:# rpm -qa | grep ntp
2.没有就安装(每台都要安装):# yum -y install ntp ntpdate
3.选择一台服务器作为集群的时间服务器
    比如:node1:时间服务器,node2、node3、node4时间同步node1
4.查看Linux中的ntpd时间服务(这里只要开启第一台机器的ntpd服务,其他的不用开)
    # service ntpd status
    # service ntpd start
5.开机启动设置(在第一台设置,其他不要设置)
    # chkconfig ntpd on
6.修改时间服务器的配置文件
    # vi /etc/ntp.conf
    【第一处】修改为本集群的网段,注意将前面的#去掉,生效
      # Hosts on local network are less restricted.
      restrict 192.168.93.0 mask 255.255.255.0 nomodify notrap
    【第二处】由于是内网环境不用添加服务,前面加上注释
      #server 0.centos.pool.ntp.org
      #server 1.centos.pool.ntp.org
      #server 2.centos.pool.ntp.org
    【第三处】开启本地服务(没有就手动添加),注意将前面的#去掉,生效
      # local clock
      server 127.127.1.0
      fudge 127.127.1.0 stratum 10
    保存文件,重启ntpd服务
      #service ntpd restart
配置文件修改如下图所示:
在这里插入图片描述
7.更新本地时间   #ntpdate -u 202.120.2.101
   注:可用于同步时间的网站
      us.pool.ntp.org
      cn.pool.ntp.org
      ntp.sjtu.edu.cn 202.120.2.101 (上海交通大学网络中心NTP服务器地址)
      s1a.time.edu.cn 北京邮电大学
      s1b.time.edu.cn 清华大学
8.查看本地硬件时钟时间,并进行更新
  # hwclock --localtime
  # hwclock --localtime -w 或者  #  hwclock --systohc //系统时间同步给硬件时间
9.设置服务器启动后自动将硬件时钟时间同步给系统时间
  # vi /etc/sysconfig/ntpd
  添加: SYNC_HWCLOCK=yes
如图:在这里插入图片描述
10.设置让系统时间自动同步给本地硬件时钟时间
  # vi /etc/sysconfig/ntpdate
    SYNC_HWCLOCK=yes
如图:在这里插入图片描述
11.其他的服务器与这台时间服务器进行时间同步(剩余3台所有机器)
  # crontab -e
    ## 每10分钟同步一次时间
    0-59/10 * * * * /sbin/service ntpd stop
    0-59/10 * * * * /usr/sbin/ntpdate -u node1
    0-59/10 * * * * /sbin/service ntpd start

  • ssh免密登陆配置
在4台机器上都执行
   $ ssh-keygen -t rsa 
然后三次回车,运行结束会在~/.ssh下生成两个新文件:
	id_rsa.pub和id_rsa就是公钥和私钥
然后也是在4台机器上都执行:
   $ ssh-copy-id node1;ssh-copy-id node2;ssh-copy-id node3;ssh-copy-id node4

测试是否可以免密登录

 [yskang@node1 ~]$ ssh node2
 [yskang@node2 ~]$ 

Hadoop完全分布式(full)

  • 集群规划
hostname 配置
node1 namenode
node2 secondarynamenode、datanode
node3 datanode
node4 datanode
  • 在node1节点上,配置hadoop
将hadoop解压到/opt/modules/full-hadoop目录下
   $ tar -zxvf hadoop-3.1.2.tar.gz -C /opt/modules/full-hadoop
删掉doc文件夹
   $ cd /opt/modules/full-hadoop/hadoop-3.1.2/share
   $ rm -rf doc/

进入到$HADOOP_HOME/etc/hadoop/目录下,修改以下文件

  • hadoop-env.sh
export JAVA_HOME=/opt/tools/java/jdk1.8
export HDFS_NAMENODE_USER=yskang
export HDFS_DATANODE_USER=yskang
export HDFS_SECONDARYNAMENODE_USER=yskang
##说明:yskang是指你当前集群的用户,如果是root用户,就写root,如果是普通用户,就写对应的普通用户名即可
  • mapred-env.sh
export JAVA_HOME=/opt/tools/java/jdk1.8
  • yarn-env.sh
export JAVA_HOME=/opt/tools/java/jdk1.8
  • core-site.xml
<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://node1:9820</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/opt/datas/hadoop/full-hadoop</value>
	</property>
</configuration>
  • hdfs-site.xml
<configuration>
	<property>
		<name>dfs.replication</name>
		<value>2</value>
	</property>
	<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>node2:9868</value>
	</property>
</configuration>
  • workers
node2
node3
node4
  • 再把修改配置后的hadoop分发到其他节点的相同目录下
  $ scp -r /opt/modules/full-hadoop/hadoop-3.1.2 node2:`pwd`
  $ scp -r /opt/modules/full-hadoop/hadoop-3.1.2 node3:`pwd`
  $ scp -r /opt/modules/full-hadoop/hadoop-3.1.2 node4:`pwd`
  • 格式化(namenode所在的节点)
  $ bin/hdfs namenode -format
  • 启动
  $ sbin/hadoop-daemon.sh start namenode
  $ sbin/start-dfs.sh

Hadoop HDFS高可用集群搭建(NameNode HA With QJM)

  • 集群规划
hostname namenode-1 namenode-2 datanode zookeeper zkfc journalnode
node1
node2
node3
node4
  • 安装Zookeeper
  1. 进入主机node1,
  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值