zoukankan      html  css  js  c++  java
  • CentOS-7.2安装Ambari-2.6.1

     CentOS-7.2安装Ambari-2.6.1

    一、Ambari 是什么?

      Ambari 跟 Hadoop 等开源软件一样,也是 Apache Software Foundation 中的一个项目,并且是顶级项目。目前最新的发布版本是 2.6.1。就 Ambari 的作用来说,就是创建、管理、监视 Hadoop 的集群,但是这里的 Hadoop 是广义,指的是 Hadoop 整个生态圈(例如 Hive,Hbase,Sqoop,Zookeeper 等等),而并不仅是特指 Hadoop。用一句话来说,Ambari 就是为了让 Hadoop 以及相关的大数据软件更容易使用的一个工具。
      现在,大家应该知道什么人最需要Ambari了。那些苦苦花费好几天去安装、调试 Hadoop 的初学者是最能体会到 Ambari 的方便之处的。而且,Ambari 现在所支持的平台组件也越来越多,例如流行的 Spark,Storm 等计算框架,以及资源调度平台 YARN 等,我们都能轻松地通过 Ambari 来进行部署。
      Ambari 自身也是一个分布式架构的软件,主要由两部分组成:Ambari Server 和 Ambari Agent。简单来说,用户通过 Ambari Server 通知 Ambari Agent 安装对应的软件;Agent 会定时地发送各个机器每个软件模块的状态给 Ambari Server,最终这些状态信息会呈现在 Ambari 的 GUI,方便用户了解到集群的各种状态,并进行相应的维护。

    二、Ambari安装详解(在线安装)

    1.安装准备
      关于 Ambari 的安装,目前网上能找到两个发行版,一个是 Apache 的 Ambari,另一个是 Hortonworks 的,两者区别不大。安装 Ambari 最方便的方式就是使用公共的库源(public repository)。这个不是重点,所以不在此赘述,下面只给出安装思路,注重说下离线安装。

      在进行具体的安装之前,需要做几个准备工作。
      

      SSH 的无密码登录;
      Ambari 的 Server 会 SSH 到 Agent 的机器,拷贝并执行一些命令。因此我们需要配置 Ambari Server 到 Agent 的 SSH 无密码登录。在这个例子里,namenode 可以 SSH 无密码登录datanode1,datanode2,SecondNamenode。
      

      确保 Yum 可以正常工作;
      通过公共库(public repository),安装 Hadoop 这些软件,背后其实就是应用 Yum 在安装公共库里面的 rpm 包。所以这里需要您的机器都能访问 Internet。
     

      确保 home 目录的写权限。
      Ambari 会创建一些 OS 用户(我安装ambari的时候使用root用户以避免权限问题)。

    2.获取 Ambari 的公共库文件(public repository)

      登录到 Linux 主机并执行下面的命令(也可以自己手工下载):

     1 wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.1.0/ambari.repo


      将下载的 ambari.repo 文件拷贝到 Linux 的系统目录/etc/yum.repos.d/。拷贝完后,我们需要获取该公共库的所有的源文件列表。依次执行以下命令。

    1 yum clean all
    2 yum list|grep ambari

      如果可以看到 Ambari 的对应版本的安装包列表,说明公共库已配置成功。然后就可以安装 Ambari 的 package 了。执行下面的命令安装 Ambari Server 到该机器。

    1 yum install ambari-server

      待安装完成后,便需要对 Ambari Server 做一个简单的配置。执行下面的命令。

    1 amari-server setup

      在这个交互式的设置中,采用默认配置即可。Ambari 会使用 Postgres 数据库,默认会安装并使用 Oracle 的 JDK。默认设置了 Ambari GUI 的登录用户为 admin/admin。并且指定 Ambari Server 的运行用户为 root。
      简单的 setup 配置完成后。就可以启动 Ambari 了。运行下面的命令。

    1 ambari-server start

      当成功启动 Ambari Server 之后,便可以从浏览器登录,默认的端口为 8080。以本文环境为例,在浏览器的地址栏输入 http://www.namenode:8080,登录密码默认为 admin/admin。Ambari的在线安装相对比较简单,在此就不太详细叙述,有什么不清楚的可以看下下面的离线安装。

    三、Ambari安装详解(离线安装)

    1.安装环境说明

    安装ambari前先安装好 Centos 7并更新。要确保之前没有安装过Ambari,并且没有搭建过hadoop环境,均是新安装的系统,未做任何设置。

    2.操作系统环境准备

    2.1 配置SSH免密码登录
    主节点里root用户登录执行如下步骤,生成sshkey

    ssh-keygen

    一路回车键,直到结束,执行完成后会在~目录下生成.ssh文件夹,其中包含id_rsa 和 id_rsa.pub两个文件。

    生成authorized_keys

    cat id_rsa.pub >> authorized_keys

    其他centos主机也依次执行 ssh-keygen命令

    ssh-keygen

    scp拷贝authorized_keys 到ssh连接主机

    scp ~/.ssh/authorized_keys  hadoop61:~/.ssh/authorized_keys 
    scp ~/.ssh/authorized_keys  hadoop62:~/.ssh/authorized_keys 
    ...
    scp ~/.ssh/authorized_keys  hadoop70:~/.ssh/authorized_keys 

    验证ssh登录

    ssh hadoop61

     

     2.2 关闭防火墙(也可以不关闭防火墙,给需要的应用开方端口。所有节点都要设置)
    1 systemctl disable firewalld
    2 systemctl stop firewalld 
    2.3 关闭SELinux(所有节点都要设置)

    查看SELinux状态:

    sestatus

    如果SELinux status参数为enabled即为开启状态

    临时关闭,不用重启机器:

     setenforce 0

    修改配置文件需要重启机器:

    vi /etc/sysconfig/selinux
    SELINUX
    =disabled

     3.制作本地源

     制作本地源只需在主节点上进行即可。

    3.1 安装 Apache HTTP 服务器

    允许 http 服务通过防火墙(永久,如果已经关闭防火墙,则可以不用执行2、3行命令)。

    1 yum install httpd
    2 firewall-cmd --add-service=http
    3 firewall-cmd --permanent --add-service=http

    添加 Apache 服务到系统层使其随系统自动启动。

    systemctl start httpd.service
    systemctl enable httpd.service
    3.2 安装本地源制作相关工具
    yum install yum-utils createrepo
    3.3下载安装资源

    下载 Ambari 2.6.1 , HDP 2.6.5 的安装资源,本次安装是在Centos 7 上,只列出centos7的资源,其他系统的请现在对用系统的资源。

    ambari下载资源

    wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.1.0/ambari.repo
    wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.1.0/ambari-2.6.1.0-centos7.tar.gz

    hdp下载资源

    wget http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.5.0/hdp.repo
    wget http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.5.0/HDP-2.6.5.0-centos7-rpm.tar.gz
    wget http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz

    其他版本,下载地址请参考:

    Ambari:

    http://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.0/bk_ambari-installation/content/ambari_repositories.html

    HDP和HDP UTILS:

    http://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.0/bk_ambari-installation/content/hdp_stack_repositories.html

    在httpd网站根目录,默认是即/var/www/html/,创建目录repository(自定义名字,自己根据情况命名),并且将下载的压缩包解压到/var/www/html/ambari目录。

    tar -zxvf ambari-2.6.1.0-centos7.tar.gz -C /var/www/html/repository/
    tar -zxvf HDP-2.6.5.0-centos7-rpm.tar.gz -C /var/www/html/repository/
    tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/repository/

    curl命令验证本地源地址是否可用

    curl http://localhost/repository
    3.4 配置ambari、HDP、HDP-UTILS的本地源

    ambari.repo、hdp.repo可以在解压后的包中找到,修改文件中地址为本地源地址即可

    vi ambari.repo
    #VERSION_NUMBER=2.6.1.0-143
    [ambari-2.6.1.0]
    name=ambari Version - ambari-2.6.1.0
    baseurl=http://master/repository/ambari/centos7/2.6.1.0-143/
    gpgcheck=1
    gpgkey=http://master/repository/ambari/centos7/2.6.1.0-143//RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
    enabled=1
    priority=1
    vi hdp.repo
    #VERSION_NUMBER=2.6.5.0-292
    [HDP-2.6.5.0]
    name=HDP Version - HDP-2.6.5.0
    baseurl=http://master/repository/HDP/centos7/2.6.5.0-292/
    gpgcheck=1
    gpgkey=http://master/repository/HDP/centos7/2.6.5.0-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
    enabled=1
    priority=1
    
    
    [HDP-UTILS-1.1.0.22]
    name=HDP-UTILS Version - HDP-UTILS-1.1.0.22
    baseurl=http://master/repository/HDP-UTILS/centos7/1.1.0.22/
    gpgcheck=1
    gpgkey=http://master/repository/HDP-UTILS/centos7/1.1.0.22//RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
    enabled=1
    priority=1

     将上面的修改过的源放到/etc/yum.repos.d/下面

    mv ambari.repo /etc/yum.repos.d/
    mv hdp.repo /etc/yum.repos.d/

    然后更新yum

    yum clean all
    yum list update
    yum makecache
    yum repolist
    
    3.5 安装Mysql数据库

    Ambari安装会将安装等信息写入数据库,建议使用自己安装的MySQL数据库,也可以不安装而使用默认数据库PostgreSQL。
    Mysql数据库安装过程如下:

    3.5.1. 下载mysql的repo源(CentOS 7的yum源中默认没有mysql,要先下载mysql的repo源)

    wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

    3.5.2. 安装mysql57-community-release-el7-8.noarch.rpm包

    rpm -ivh mysql57-community-release-el7-8.noarch.rpm  --nodeps --force

    安装这个包后,会获得两个mysql的yum repo源

     /etc/yum.repos.d/mysql-community.repo
     /etc/yum.repos.d/mysql-community-source.repo
    

    3.5.3.安装mysql

    yum install mysql-server

    3.5.4. 启动mysql服务

    查看MySQL服务是否已启动

    service mysqld status

    启动服务:

    systemctl start mysqld

    3.5.5. 重置root密码(如果需要设置简单密码,请查看另外一篇文章:mysql密码策略修改

    MySQL5.7会在安装后为root用户生成一个随机密码,而不是像以往版本的空密码。 可以安全模式修改root登录密码或者用随机密码登录修改密码。下面用随机密码方式
    MySQL为root用户生成的随机密码通过mysqld.log文件可以查找到:

     grep 'temporary password' /var/log/mysqld.log

    修改root用户密码:(MySQL的密码策略比较复杂,过于简单的密码会被拒绝)

    mysql -u root -p
    mysql> Enter password: (输入刚才查询到的随机密码)
    mysql> SET PASSWORD FOR 'root'@'localhost'= "Zgw-123";
    mysql> exit

    3.5.6. 开放3306端口

    mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Zgw-123' WITH GRANT OPTION;
    mysql>FLUSH PRIVILEGES;
    mysql>exit;

    开启防火墙mysql 3306端口的外部访问:

    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    firewall-cmd --reload

    安装完成后创建ambari数据库及用户,登录root用户执行下面语句:

    create database ambari character set utf8 ; 
    CREATE USER 'ambari'@'%'IDENTIFIED BY '123456';
    GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
    FLUSH PRIVILEGES;

    如果要安装Hive,再创建Hive数据库和用户 再执行下面的语句:

    create database hive character set utf8 ; 
    CREATE USER 'hive'@'%'IDENTIFIED BY '123456';
    GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
    FLUSH PRIVILEGES;

    如果要安装Oozie,再创建Oozie数据库和用户 再执行下面的语句:

    create database oozie character set utf8 ;  
    CREATE USER 'oozie'@'%'IDENTIFIED BY '123456';
    GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%';
    FLUSH PRIVILEGES;

    安装mysql jdbc 驱动:

    yum install mysql-connector-java

     4.进行安装Ambari

    4.1.1安装Ambari
     yum install ambari-server

    4.1.2 配置Ambari
    ambari-server setup

     1.检查SELinux是否关闭,如果关闭不用操作。

    Using python  /usr/bin/python
    Setup ambari-server
    Checking SELinux...
    SELinux status is 'disabled'

    2.提示是否自定义设置。输入:y

    Customize user account for ambari-server daemon [y/n] (n)?

    3.ambari-server 账号。输入:ambari,默认为root

    Enter user account for ambari-server daemon (root):ambariAdjusting ambari-server permissions and ownership...

    4.检查防火墙,如果关闭则不用操作。

    Enter user account for ambari-server daemon (root):ambariAdjusting ambari-server permissions and ownership...

    5.检查JDK。

    Checking JDK...
    [1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
    [2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
    [3] Custom JDK
    ==============================================================================
    Enter choice (1):3

    6.置JAVA_HOME

    WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.
    WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts.
    Path to JAVA_HOME: /opt/java/jdk1.8.0_121

    7.配置数据库

    Configuring database...
    Enter advanced database configuration [y/n] (n)? y

    8.选择数据库

    Configuring database...
    ==============================================================================
    Choose one of the following options:
    [1] - PostgreSQL (Embedded)
    [2] - Oracle
    [3] - MySQL / MariaDB
    [4] - PostgreSQL
    [5] - Microsoft SQL Server (Tech Preview)
    [6] - SQL Anywhere
    [7] - BDB
    ==============================================================================
    Enter choice (1): 3

    9.设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车。

    Enter choice (1): 3
    Hostname (localhost):
    Port (3306):
    Database name (ambari):
    Username (ambari):
    Enter Database Password (bigdata):
    Re-enter password:
    Configuring ambari database...

    10.设置数据库连接属性,完成配置。

    Configuring remote database connection properties...
    WARNING: Before starting Ambari Server, you must run the following DDL against the database to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
    Proceed with configuring remote database connection properties [y/n] (y)? y
    Extracting system views...
    ....ambari-admin-2.6.2.0.155.jar
    .......
    Adjusting ambari-server permissions and ownership...
    Ambari Server 'setup' completed successfully.
    Configuring remote database connection properties...
    WARNING: Before starting Ambari Server, you must run the following DDL against the database to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
    Proceed with configuring remote database connection properties [y/n] (y)? y
    Extracting system views...
    ....ambari-admin-2.6.2.0.155.jar
    .......
    Adjusting ambari-server permissions and ownership...
    Ambari Server 'setup' completed successfully.

     11.将Ambari数据库脚本导入到数据库

    mysql> use ambari;
    Database changed
    mysql> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
     4.1.3启动Amabri
     ambari-server start
    Using python  /usr/bin/python
    Starting ambari-server
    Ambari Server running with administrator privileges.
    Organizing resource files at /var/lib/ambari-server/resources...
    Ambari database consistency check started...
    Server PID at: /var/run/ambari-server/ambari-server.pid
    Server out at: /var/log/ambari-server/ambari-server.out
    Server log at: /var/log/ambari-server/ambari-server.log
    Waiting for server start......................
    Server started listening on 8080
    
    DB configs consistency check: no errors and warnings were found.
    Ambari Server 'start' completed successfully.

    成功启动后在浏览器输入Ambari地址:http://yourhostname:8080

    出现登录界面,默认管理员账户登录, 账户:admin 密码:admin。

     登录成功后出现下面的界面,至此Ambari的安装成功。

    4.2 安装安装HDP 2.4.2 配置集群

    点击上面登录成功页面的Launch Install Wizard 按钮进行集群配置

    4.2.1设置集群名称

    4.2.2设置HDP版本信息

    点击Add Version添加自己下载的HDP版本。

    弹出的窗口中指定之前配置的HDP源中HDP版本文件,然后点击Read Version Info按钮,确定版本信息。

     4.3.设置HDP 安装源

    因为HDP安装包非常大,不建议采用Public Repository,本次安装采用Local Repository,前边已经配置完成,此处只需指定为前边所配置的本地源地址即可,如下图所示。

    4.4设置集群信息,并配置ambari-server ssh私钥信息(前提是已经完成集群机器ssh的配置)。

     

    配置完成后,点击Register and Confirm,确认集群配置信息,ambari-server会通过ssh自动在集群中刚才所配置的机器上安装ambari-agent。

     如果ssh配置的没有问题的话,安装会在几分钟之内结束,如下图所示。

     注意:此处安装完成后,表格下边可能会有警告信息,打开查看警告信息,根据出现的问题进行修复,然后再执行下一步。

     4.5 选择要安装的服务

    4.6 配置服务Master

    4.7  服务的Slaves Clients节点配置 

    4.8 服务属性配置

    4.9 确认配置信息

    4.10  安装、启动、测试服务

     

    4.11 安装完成

  • 相关阅读:
    命令行中邮件的收发
    关于location对象
    正则表达式
    一家初创公司的 CTO 应当做什么?
    移动数据网络质量的国家奖牌榜
    MFQ&PPDCS测试分析和测试设计框架l学习记录
    Python学习笔记之基本语法学习1
    《用Python做HTTP接口测试》学习感悟
    我的中台的理解
    中台与平台的区别
  • 原文地址:https://www.cnblogs.com/mymelody/p/9253643.html
Copyright © 2011-2022 走看看