Amabri安装HDP Hadoop集群

简介

    Ambari作为Apache的顶级项目,是一个基于Web的工具,主要用来创建、管理、监控Hadoop集群。
    HDP(Hortonworks Data Platform)是Hortonworks开源的数据平台,几乎包含了Hadoop生态系统中的所有项目,如HDFS、MapReduce、Hive、HBase、Pig、Oozie等等。
    本文总结Ambari的基本原理,并在本地安装HDP Hadoop集群。

原理

    Ambari采用的是Client/Server模式(C/S模式)。由一个Ambari-server和多个Ambari-agent组成。
    Ambari-server(Ambari服务节点):向agent发送指令
    Ambari-agent(Ambari代理节点):接收server的指令并执行操作;向server发送心跳汇报所在节点状态等。
    注:
    1、Ambari-agent不需要手动安装,在安装Ambari-server后,可在WebUI界面配置安装。
    2、Ambari-server需要在root用户下安装、配置、启动,并且Ambari-server需要能免密登录到其他节点。

安装HDP Hadoop集群

1、环境准备

(1)节点规划

HOST Ambari角色
node1 ambari-agent
node2 ambari-agent
node3 ambari-agent
node4 ambari-agent 和ambari-server

注:通过WebUI来安装Hadoop、Spark时,ambari会自动分配,因此,这里可先不指定。

(2)配置HOST映射

cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.222.101 node1
    192.168.222.102 node2
    192.168.222.103 node3
    192.168.222.104 node4

(3)关闭防火墙

临时生效:service iptables stop
service iptables status
永久生效:chkconfig iptables off
chkconfig --list | grep iptables (2 3 4 5为off即可)

(4)时间同步

配置系统时间、硬件时间,自动和时间服务器同步

yum –y install ntp
临时生效:service ntpd start
ntpdate -u cn.pool.ntp.org
永久生效:chkconfig ntpd on
chkconfig --list | grep ntpd (2 3 4 5为on即可)
硬件时间和系统时间同步:clock -w
配置自动同步:/etc/crontab写入 */1 * * * * root ntpdate -u cn.pool.ntp.org >> /dev/null 2>&1

(5)安装JDK

rpm -ivh jdk-8u11-linux-x64.rpm
/etc/profile
    JAVA_HOME=/usr/java/jdk1.8.0_11
    CLASSPATH=$JAVA_HOME/lib/
    PATH=$PATH:$JAVA_HOME/bin
    export PATH JAVA_HOME CLASSPATH

(6)配置SSH root互相免密

如在node1节点
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node3
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node4

注:这里node4既是ambari-server节点,也是ambari-agent节点,因此,node4和node4之间也需要配置公钥免密。

2、Ambari-server安装

(1)、下载Ambari yum源配置文件repo

[root@node4 ~]# wget -nv http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.6.1.0/ambari.repo -O /etc/yum.repos.d/ambari
 .repo

(2)、安装Ambari-server

[root@node4 ~]# yum install ambari-server

注:安装的时候也会默认安装PostgreSQL。

(3)、配置Ambari-server

[root@node4 ~]# ambari-server setup
Checking JDK... 选择[3] Custom JDK 自定义JDK,然后输入本机JDK HOME路径

(4)、启动Ambari-server

[root@node4 ~]# ambari-server start

(5)、访问Ambari WebUI

http://node4:8080/#/login

3、安装HDP Hadoop集群

(1)、登录Ambari WebUI设置集群名称



(2)、选择版本和仓库


注:在这里可以选择要安装的HDP版本,同时能看到对应的HDFS、YARN、Spark、Kafka、Storm、Hive、HBase等版本信息。这里选择HDP 2.6.4版本,由于没有配置HDP本地仓库,选择公共仓库。

(3)、设置Ambari-agent HOST和Ambari-server SSH私钥文件


注:这里node4既是server节点也是agent节点。Ambari-server SSH私钥文件默认位置:Ambari-server节点 /root/.ssh/id_rsa

(4)、安装Ambari-agent

Ambari-agent安装需注意

某节点Agent安装失败,可单独在此节点手动安装agent并启动,如下:

yum install ambari-agent
vi /etc/ambari-agent/conf/ambari-agent.ini
        [server]
        hostname=node4
        url_port=8440
        secured_url_port=8441
ambari-agent start

(5)、选择要安装的组件

(6)、指定Hadoop组件Master节点

(7)、指定Hadoop组件Slave节点和Client节点

(8)、自定义配置


注:这里会设置Hive MetaStore Mysql等的密码,按提示操作即可。

(9)、确认仓库

(10)、安装启动Hadoop组件

Hadoop组件安装需注意:

A、可以配置本地仓库安装。
B、默认使用公共仓库安装,主要会因为网络等因素导致安装不成功。如在node2节点安装slider-client报No more mirrors to try错误,解决方法如下:

在node2节点yum clean all && yum makecache 然后重新安装

C、类似错误Cannot match package for regexp name livy2_${stack_version} 可尝试如下解决方式:

yum list installed |grep livy2_*
yum remove livy2_*
然后在Ambari WebUI 上Retry

D、安装好了之后,会自动启动所有服务,但有些服务启动不起来,不用管,稍后在Ambari 监控页面手动启动即可。
E、网络不行,首次安装就不要安装太多组件,可以去除不必须的组件如Zeppelin等,以后用到的时候再安装。

(11)、Ambari Dashboard页面

(12)、Ambari上给Root用户增加HDFS写权限

Ambari WebUI Dashboard/HDFS/Configs/Advanced/Advanced hdfs-site/设置dfs.permissions.enabled=false,然后重启受到影响的服务。

(13)、验证集群

A、HDFS Namenode:http://node1:50070/dfshealth.html#tab-overview
B、YARN:http://node2:8088/cluster
C、测试MapReduce

    [root@node3 ~]# hdfs dfs -mkdir /data/
    [root@node3 ~]# cat mr_test_data.txt 
                    hadoop
                    hadoop
                    spark
                    hbase
                    hbase
                    hbase
    [root@node3 ~]# hdfs dfs -put mr_test_data.txt /data/
    [root@node3 hadoop-mapreduce]# hadoop jar /usr/hdp/2.6.4.0-91/hadoop-mapreduce/hadoop-mapreduce-examples-2.7.3.2.6.4.0-91.jar  wordcount /data/mr_test_data.txt  /result/

D、测试Spark yarn-client

    [root@node1 ~]# cd /usr/hdp/2.6.4.0-91/spark2/ && bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-client --executor-memory 540M --num-executors 1 examples/jars/spark-examples_2.11-2.2.0.2.6.4.0-91.jar 100

E、测试Spark yarn-cluster

    [root@node1 ~]# cd /usr/hdp/2.6.4.0-91/spark2/ && bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-cluster
 --executor-memory 750M --num-executors 1 examples/jars/spark-examples_2.11-2.2.0.2.6.4.0-91.jar 10

你可能感兴趣的:(Ambari)