zoukankan      html  css  js  c++  java
  • cent os 6.5+ambari+HDP集群安装

    1. 搭建一个测试集群,集群有4台机器,配置集群中每一台机器的/etc/hosts文件:

    [root@nn .ssh]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    172.28.3.40  nn  nn.hadoop.plat
    172.28.3.41  dn1  dn0.hadoop.plat
    172.28.3.42  dn2  dn1.hadoop.plat 
    172.28.3.43  dn3  dn2.hadoop.plat

    2. 配置namenode到datanode ssh免密码登陆:

    在nn上执行,ssh-keygen –t rsa

    cd ~/.ssh

    cat id_rsa.put >> authorized_keys

    对集群中每一台data node执行:  ssh-copy-id root@dn1  ssh-copy-id root@dn2 ssh-copy-id root@dn13

    这样就可以保证,nn节点可以免密码登陆到dn1, dn2, dn3

    [root@nn .ssh]# ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:1A:4A:C6:6B:A0  
              inet addr:172.28.3.40  Bcast:172.28.7.255  Mask:255.255.248.0
              inet6 addr: fe80::21a:4aff:fec6:6ba0/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:1064845 errors:0 dropped:0 overruns:0 frame:0
              TX packets:557212 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:1578655986 (1.4 GiB)  TX bytes:647178854 (617.1 MiB)
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:103276 errors:0 dropped:0 overruns:0 frame:0
              TX packets:103276 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:58108687 (55.4 MiB)  TX bytes:58108687 (55.4 MiB)
    
    [root@nn .ssh]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    172.28.3.40  nn  nn.hadoop.plat
    172.28.3.41  dn1  dn0.hadoop.plat
    172.28.3.42  dn2  dn1.hadoop.plat 
    172.28.3.43  dn3  dn2.hadoop.plat
    [root@nn .ssh]# ssh dn1
    SIOCADDRT: File exists

     

    3. 关闭iptables

    chkconfig iptables off

    /etc/init.d/iptables stop

     

    4. 关闭seLinux

    查看selinux状态:

    [root@localhost ~]# /usr/sbin/sestatus –v

    /usr/sbin/setenforce 0 #使SELinux工作模式变成permissive模式
    /usr/sbin/setenforce 1 #使SELinux工作模式变成enforcing模式

    这样就可以实时控制SELinux的启用和不启用了。

    三个参数介绍介绍

    • enforcing — The SELinux security policy is enforced.

    • permissive — The SELinux system prints warnings but does not enforce policy.

    • disabled — SELinux is fully disabled. SELinux hooks are disengaged from the kernel and the pseudo-file system is unregistered.

    永久关闭SELinux

    编辑/etc/selinux/config,找到SELINUX 行修改成为:SELINUX=disabled:

    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    # enforcing - SELinux security policy is enforced.
    # permissive - SELinux prints warnings instead of enforcing.
    # disabled - No SELinux policy is loaded.
    SELINUX=disabled

    # SELINUXTYPE= can take one of these two values:
    # targeted - Only targeted network daemons are protected.
    # strict - Full SELinux protection.
    SELINUXTYPE=targeted 

    如果重启系统,就会发现SELinux的状态变成disabled

    image

     

    5. 关闭linux内核huge_page:

    Add the following lines in /etc/rc.local and reboot the server:
    echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
    echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

     

    6. 安装java,配置JAVA_HOME

    mkdir /usr/java
    cd /usr/java
    rz -be
    /usr/java/jdk1.7.0_75
    ln -s /usr/java/jdk1.7.0_75 /usr/java/default
    
    vim /etc/profile
    
    route add default gw 172.28.0.1
    export JAVA_HOME=/usr/java/default
    export PATH=$JAVA_HOME/bin:$PATH

    编辑好/etc/profile,执行source /etc/profile使配置生效,保证每一台机器上的java版本都是一致的,并且JAVA_HOME环境变量是有效的:

    image

     

    7. 每台机器上安装ntpd

    rpm -aq | grep ntpd
    yum install ntpd
    chkconfig ntpd on
    service ntpd start

    确保每台机器的ntpd服务都处于运行状态:

    image

    8. 确保机器上安装了openssh-server,并且升级openssl到最新:

    rpm -qa | grep ssh
    yum install openssh-server
    service sshd restart
    chkconfig sshd on

    确保openssl最新:

    yum install openssl-devel-1.0.1e-42.el6.x86_64

     

    9. yum源确保可以用,本次安装采用了163的yum源,先将/etc/yum.repos.d/中,所有的文件都删掉,然后新建文件CentOS6-Base-163.repo,填入如下内容:

    # CentOS-Base.repo
    #
    # The mirror system uses the connecting IP address of the client and the
    # update status of each mirror to pick mirrors that are updated to and
    # geographically close to the client.  You should use this for CentOS updates
    # unless you are manually picking other mirrors.
    #
    # If the mirrorlist= does not work for you, as a fall back you can try the
    # remarked out baseurl= line instead.
    #
    #
    
    [base]
    name=CentOS-$releasever - Base - 163.com
    baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
    gpgcheck=1
    gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
    
    #released updates
    [updates]
    name=CentOS-$releasever - Updates - 163.com
    baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
    gpgcheck=1
    gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
    
    #additional packages that may be useful
    [extras]
    name=CentOS-$releasever - Extras - 163.com
    baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
    gpgcheck=1
    gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
    
    #additional packages that extend functionality of existing packages
    [centosplus]
    name=CentOS-$releasever - Plus - 163.com
    baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
    gpgcheck=1
    enabled=0
    gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
    
    #contrib - packages by Centos Users
    [contrib]
    name=CentOS-$releasever - Contrib - 163.com
    baseurl=http://mirrors.163.com/centos/$releasever/contrib/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
    gpgcheck=1
    enabled=0
    gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

     

    配置ambari的yum源,本配置源是部署在本地局域网中的一台apache服务器上的:

    image

    [root@hdp159 yum.repos.d]# cat ambari.repo 
    [Updates-ambari-2.0.1]
    name=ambari-2.0.1 - Updates
    baseurl=http://172.28.4.159/ambari-test/centos6
    gpgcheck=1
    gpgkey=http://172.28.4.159/ambari-test/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
    enabled=1
    priority=1
    [root@hdp159 yum.repos.d]#

    image

     

    将yum源配置好好了后,执行如下命令:

    yum clean all
    yum repolist

     

    10. 在nn机器上,安装ambari-servier,执行如下命令,之所以加—nogpgcheck参数,是因为此处安装的是公司修改后的ambari,如果是安装原生的ambari,不用加该选项:

    yum install --nogpgcheck ambari-server

     

    11.配置和启动ambari-server, setup –j 配置ambari-server要使用的java环境:

     

    ambari-server setup -j /usr/java/default
    ambari-server start

    12. 在浏览器中,输入nn:8080进入ambari的登陆页面,用户名和密码都是admin:

    image

    13. 配置HDP的redhat6的baseURL,此处使用的是本地局域网中的HDP安装源:

    http://172.28.4.159/HDP2.2.6/HDP/centos6/2.x/updates/2.2.6.0/


    http://172.28.4.159/HDP2.2.6/HDP-UTILS-1.1.0.20/repos/centos6/

    Image

    14. 将nn节点下,/root/.ssh/id_rsa文件上传到ambari中,配置好Target Hosts:

     

    Image

    15. 发现一个警告消息,在每一台机器上执行如下命令,消除警告:

    [root@dn3 yum.repos.d]# python /usr/lib/python2.6/site-packages/ambari_agent/HostCleanup.py --silent --skip=users
    INFO:HostCleanup:
    Killing pid's: ['']
    
    INFO:HostCleanup:Deleting packages: ['']
    
    INFO:HostCleanup:
    Deleting directories: ['']
    INFO:HostCleanup:Path doesn't exists:
    INFO:HostCleanup:
    Deleting additional directories: ['']
    INFO:HostCleanup:
    Deleting repo files: []
    INFO:HostCleanup:
    Erasing alternatives:{'symlink_list': [''], 'target_list': ['']}
    
    INFO:HostCleanup:Path doesn't exists:
    INFO:HostCleanup:Clean-up completed. The output is at /var/lib/ambari-agent/data/hostcleanup.result

    image

    16. 分配slaves和clients:

    Image

    设置好,hive和oozie数据库的用户名和密码:

    Image

    查看总结信息:

    Image

    17. 进入安装流程,最后安装成功:

    image

    image

  • 相关阅读:
    吃推荐3个最近去了的好地方
    30岁生日
    今天开始试用Briglow Hair Cream
    WPF中如何在文本外面加虚线外框
    对账算法改进
    如何退出正在Sleep的线程
    关于framework4.5的相关介绍
    恐怖的报警邮件
    对帐引擎2个月后的监控数据
    wcf rest服务启用gzip压缩
  • 原文地址:https://www.cnblogs.com/justinzhang/p/4914426.html
Copyright © 2011-2022 走看看