Ambari 2.5.1.0安装——踩坑实录2(Ambari Server安装前戏)

在 踩坑实录1 中我们已经创建好了三台虚拟机,并分别为其安装了CentOS 6.5的操作系统,这篇文章将告诉你在安装Ambari Server之前需要做哪些前戏工作。

目前我们已经为下面三台虚拟机配置好了网络,安装了yum,可以一台虚拟机可以Ping通其他两台机器。我们为三台虚拟机分别设置了hostname,分别是:

master.example.com (用来安装Ambari Server以及以后作为NameNode节点,主节点)
slaver1.example.com (用来安装Ambari Agent以及以后作为DataNode节点)
slaver2.example.com (用来安装Ambari Agent)

在进入高潮之前,我们需要来点儿前戏。前戏步骤如下:
  • Hostname检查(三台虚拟机都要做):
  1. 确保hostname的配置符合Fully Qualified Domain Name (FQDN)规则,即hostname.domainname,如何修改domainname?
    1.1. 修改/etc/sysctl.conf : kernel.domainname=example.com
    1.2. 修改/etc/hosts 增加域名 如:master.example.com
    1.3. 修改/etc/sysconfig/network 增加域名 如:master.example.com
    1.4. reboot 重启系统。
  2. 使用 hostname 和 hostname -f 检查两个结果是否一致,如果不一致,问度娘怎么办
  3. 使用 cat /etc/hosts 检查是否将所有机器的hostname都包括了,并且包含了:127.0.0.1 以及 ::1的配置信息。这两条一定要有,一定要有,一定要有!!!


    Ambari 2.5.1.0安装——踩坑实录2(Ambari Server安装前戏)_第1张图片
    image.png
  • 免密“互通”,这里其实只需要从master ssh到各个slaver免密即可。
  1. 为了简单,我们首先关闭了防火墙(每个虚拟机都做)
    vi /etc/selinux/config
    修改SELINUX=disabled
  2. 允许使用公钥访问(每个虚拟机都做)
    vi /etc/ssh/sshd_config
    找到以下内容,并去掉注释符“#”
      RSAAuthentication yes
      PubkeyAuthentication yes
      AuthorizedKeysFile .ssh/authorized_keys
  3. 主机(master虚拟机)执行命令生成公钥和私钥,再把公钥拷贝到需要免密登录的slaver上。
    3.1. ssh-keygen -t rsa -P '' (在master上/root/.ssh目录下生成公钥和私钥对)
    3.2. scp /root/.ssh/id*pub root@slaver2:/root/.ssh (在master上copy文件到slaver上)
    3.3. cat id*pub >> au*keys (在slaver上将id文件的内容复制到authorized_keys文件中)
    如果上述步骤中没有.ssh或者没有authorized_keys文件,可以自建。
  4. 在master上使用 ssh 命令测试是否可以免密登录其他slaver机器,第一次可能需要密码,后面就不需要了。
  5. 坑来了!除了需要ssh免密登录各个slaver机器,还需要ssh免密登录自己,即在master机器上使用ssh命令,如:ssh master.example.com 也必须是免密的,免密的,免密的!!! 否则安装完Ambari Server,在配置Cluster,步骤做到"Confirm Hosts"的时候,会出现“These are the hosts that have registered with the server, but do not appear in the list of hosts that you are adding.” 的问题!如图:


    Ambari 2.5.1.0安装——踩坑实录2(Ambari Server安装前戏)_第2张图片
    image.png

    详细failed信息如下:
    Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
    SSH command execution finished
    host=localhost.localdomain, exitcode=255
    ERROR: Bootstrap of host localhost.localdomain fails because previous action finished with non-zero exit code (255)
    ERROR MESSAGE: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
    STDOUT:
    Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

  • 其他前戏工作
  1. 安装NTPD
  2. 设置Transparent Huge Pages 为关闭状态
    修改/etc/rc.local,增加下面代码
    if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    fi
    if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    fi

至此,重要的前戏工作都做完了,为了达到高潮,付出点儿时间和精力都是值得的。后面一篇开始正式进入高潮部分,我将告诉你如何安装Ambari Server以及如何配置Cluster,更重要的是踩了多少坑!:)

你可能感兴趣的:(Ambari 2.5.1.0安装——踩坑实录2(Ambari Server安装前戏))