主页 > 多肉

大数据基础Hadoop 3.1.1 的高可用HA安装~踩坑记录

时间:2019-07-11 来源:NIEBURG丽堡格

最近负责的项目准备上大数据平台存储,主要还是围绕Hadoop平台来实现,虽然打算上cdh版本的hadoop,但是为了前期方便开发还是先使用原声的hadoop进行开发,后期再准备更好的环境进行扩展。

环境准备

三台服务器系统环境是建立在Centos7.6基础上。并且是建立在root账户上运行的,如果需要使用其他用户操作,注意权限的问题

基础机器分配

在三台新购买的服务器上进行搭建。服务器规划如下

hostnameip说明
tidb1192.168.108.66namenode与datanode
tidb2192.168.108.67namenode与datanode
tidb3192.168.108.68namenode与datanode

搭建大数据集群基础机器配置是三台,真实环境部署建议namenode与datanode进行分开,两台机器专门做namenode节点,其他三台做datanode节点。

每台机器安装内容如下:


tidb1tidb2tidb3
NameNode
DataNode
ResourceManager
NodeManager
Zookeeper
journalnode
zkfc

在3.0版本以上,我们可以进行安装多个NameNode节点,来保证更高的高可用方案。但是作为基础的测试环境开发这样就是可以了,更多机器扩展也在此进行扩展即可。

防火墙

三台机器都需要这么做

部署集群之前将集群的防火墙进行关闭,否则部署出现,访问端口访问不到的情景。

centos 系统中存在两种防火墙,firewall 与iptables , 7.0以后默认是firewall 防火墙,但是也在网上看到其他朋友遇见过 7.0系统上存在两种防火墙策略导致布置程序端口一直访问不到的情况。

firewall

查看防火墙的状态

  1. [root@tidb1 sbin]# firewall-cmd --state

  2. running

停止防火墙

  1. systemctl stop firewalld.service

禁止开机启动

  1. systemctl disbale firewalld.service

执行以上三步之后,程序再开机之后不再出现防火墙的配置问题。

iptabel

如果是这个防火墙的配置,我们也需要进行防火墙的关闭,如果熟悉的话其实打开对应的端口策略即可。

查看防火墙的状态

  1. service iptables status

停止防火墙

  1. service iptables stop

  2. Redirecting to /bin/systemctl stop  iptables.service

禁止开机启动

  1. chkconfig iptables off

对于安装在其他系统上的集群环境,按照对应的策略进行关闭防火墙。

Selinux

三台机器都需要这么做

关于这个增强型Linux,网上很多都建议关闭,在这里搜索下了相关资料,主要是没有人进行专门的维护运营白名单导致的。

测试环境上我们也进行关闭,方便我们集群的搭建。正式上线根据运维的需要进行部署执行。

查看SELinux当前状态:

  1. getenforce

修改SELinux状态(临时修改,重启机器后失效)

  1. setenforce 0   #将SELinux修改为Permissive状态(遇到违反安全策略的,会采取警告,允许通过)


  2.  setenforce 1   #将SELinux状态修改为Enforcing状态(遇到违反安全策略的,不允许通过)

修改SELinuxw为禁用状态 (永久性,重启机器后保持生效)

  1. 打开文件:  /etc/selinux/config  修改 SELINUX = disabled  

  2. 重启机器后生效,重启机器命令:reboot

ip固定

三台机器都需要这么做

在企业环境中,如果是真实的服务器,不是利用云服务器,那么我们使用服务器之前需要进行ip的固定,不然服务器出现意外重启,会导致我们ip变动,集群就不能正常启动。 固定ip,两种执行方案:

  • 有专门的人员路由器端进行固定分配,这样是最简单的操作步骤。建议这么做

  • 给专门的网卡进行固定ip,很多时候服务器是有双网卡与光口的,其参考以下步骤,仅供参考

查看网卡(文件 ifcfg-enp* 为网卡文件)

  1. ls /etc/sysconfig/network-scripts/

配置网卡ip

  1. vi /etc/sysconfig/network-scripts/ifcfg-enp*

  2. # 启用host-only网卡

  3. cd /etc/sysconfig/network-scripts/

  4. cp ifcfg-enp0s3  ifcfg-enp0s8

修改网卡为静态ip

    1. 修改BOOTPROTO为static

    2. 修改NAME为enp0s8

    3. 修改UUID(可以随意改动一个值,只要不和原先的一样)

    4. 添加IPADDR,可以自己制定,用于主机连接虚拟机使用。

    5. 添加NETMASK=255.255.255.0 (网管 也可以和网段一样 x.x.x.255)

重启网卡

  1. service network restart

配置hosts

三台机器都需要这么做

重点注意,配置主节点Namenode的时候,需要将localhost 两行 注释掉,不然会出现找不到hostname的问题。其他节点可以存在

  1. vim /etc/hosts


  2. [root@tidb1 network-scripts]# cat /etc/hosts  

  3. #127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

  4. #::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

  5. 192.168.108.66 tidb1

  6. 192.168.108.67 tidb2

  7. 192.168.108.68 tidb3

配置免登陆

老生常态,集群之间需要通过ssh,互相通信,那么需要设置免登陆的情况。 步骤如下:

生成秘钥

  1. ssh-

相关阅读

  • Copyright © all rights reserved 版权所有 NIEBURG丽堡格