当前位置:   article > 正文

Hadoop3+zookeeper3 HA高可用集群搭建_hadoop3 zk ah

hadoop3 zk ah

安装软件包

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
  • 1
  • 2
  • 3
  • 4
  • 5
使文件生效
# source /etc/profile
  • 1
  • 2

Linux系统环境设置

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

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

测试是否可以免密登录

 [yskang@node1 ~]$ ssh node2
 [yskang@node2 ~]$ 
  • 1
  • 2

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/
  • 1
  • 2
  • 3
  • 4
  • 5

进入到$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,如果是普通用户,就写对应的普通用户名即可
  • 1
  • 2
  • 3
  • 4
  • 5
  • mapred-env.sh
export JAVA_HOME=/opt/tools/java/jdk1.8
  • 1
  • yarn-env.sh
export JAVA_HOME=/opt/tools/java/jdk1.8
  • 1
  • 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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • workers
node2
node3
node4
  • 1
  • 2
  • 3
  • 再把修改配置后的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`
  • 1
  • 2
  • 3
  • 格式化(namenode所在的节点)
  $ bin/hdfs namenode -format
  • 1
  • 启动
  $ sbin/hadoop-daemon.sh start namenode
  $ sbin/start-dfs.sh
  • 1
  • 2

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

  • 集群规划
hostname namenode-1 namenode-2 datanode zookeeper zkfc journalnode
node1
node2
node3
node4
  • 安装Zookeeper
  1. 进入主机node1,
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/855739
推荐阅读
相关标签
  

闽ICP备14008679号