ambari介绍及安装

Ambari简介

Ambari概述

Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的创建、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop和Hcatalog等;除此之外,Ambari还支持Spark、Storm等计算框架及资源调度平台YARN。

Apache Ambari 从集群节点和服务收集大量信息,并把它们表现为容易使用的,集中化的接口:Ambari Web.

Ambari Web显示诸如服务特定的摘要、图表以及警报信息。可通过Ambari Web对Hadoop集群进行创建、管理、监视、添加主机、更新服务配置等;也可以利用Ambari Web执行集群管理任务,例如启用 Kerberos 安全以及执行Stack升级。任何用户都可以查看Ambari Web特性。拥有administrator-level 角色的用户可以访问比 operator-level 或 view-only 的用户能访问的更多选项。例如,Ambari administrator 可以管理集群安全,一个 operator 用户可以监控集群,而 view-only 用户只能访问系统管理员授予他的必要的权限。

Ambari体系结构

Ambari 自身也是一个分布式架构的软件,主要由两部分组成:Ambari Server 和 Ambari Agent。简单来说,用户通过Ambari Server通知 Ambari Agent 安装对应的软件;Agent 会定时地发送各个机器每个软件模块的状态给 Ambari Server,最终这些状态信息会呈现在 Ambari 的 GUI,方便用户了解到集群的各种状态,并进行相应的维护。

Ambari Server 从整个集群上收集信息。每个主机上都有 Ambari Agent, Ambari Server 通过 Ambari Agent 控制每部主机。

Ambari安装

http://doc.ailinux.net/docs/data/data-1ardi0l817b5q[[1]][1]

#Ambari操作指南
https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.5/bk_ambari-operations/content/ch_Overview_hdp-ambari-user-guide.html

安装准备阶段:

本文介绍ambari安装及常用大数据组件安装配置等

HDP版本兼容性

CentOS 7
Python 2.7.x
JDK1.8+
Mariadb 5.5
Ambari2.6.1.5
HDP 2.6.4

查看一下地址获取软件版本兼容性支持
https://supportmatrix.hortonworks.com/
由于严格依赖版本,所以要先确定安装的版本。

系统初始化

更新yum源

yum install -y wget
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache

修改主机名

sudo hostnamectl set-hostname test-bg-xx
sudo hostname test-bg-xx

修改时区:

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

同步集群时间

yum install –y ntp
ntpdate -u cn.pool.ntp.org
或:
ntpdate time1.aliyun.com
### 硬件时间和系统时间同步:
clock -w
配置自动同步:/etc/crontab写入
*/1 * * * * root ntpdate -u cn.pool.ntp.org >> /dev/null 2>&1

关闭防火墙和selinux

#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

#关闭selinux
修改配置
sed -i ‘s#SELINUX=enforcing#SELINUX=disabled#g‘ /etc/sysconfig/selinux
临时关闭
setenforce 0

配置免密钥登录

为了让Ambari服务器在所有集群主机上自动安装Ambari代理,您必须在Ambari服务器主机和集群中的所有其他主机之间设置无密码SSH连接。Ambari服务器主机使用SSH公钥认证来远程访问和安装Ambari代理
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
注意:您可以选择在每个集群主机上手动安装Ambari代理。在这种情况下,您不需要生成和分发SSH密钥
可以使用非root SSH帐户,如果该帐户可以执行sudo而不输入密码

#
#如果ssh端口不是默认,可以在.ssh下创建config文件,修改文件权限 配置如下:
touch config
chmod 600 config
[[email protected] .ssh]$ cat config
Host test-bg-m01
HostName test-bg-m01
User jt_ops
Port xx

Host test-bg-w01
HostName test-bg-w01
User jt_ops
Port xx
也可以修改/etc/sshd/ssh_config配置文件中的端口

系统初始化参数

cat >> /etc/sysctl.conf << EOF
fs.file-max=1000000
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.ipv4.tcp_max_syn_backlog = 16384
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_fin_timeout = 20
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_syncookies = 1
#net.ipv4.tcp_tw_len = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.ip_local_port_range = 1024 65000
net.nf_conntrack_max = 6553500
net.netfilter.nf_conntrack_max = 6553500
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_established = 3600
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
kernel.numa_balancing = 0
kernel.shmmax = 68719476736
kernel.printk = 5
kernel.sysrq = 1
vm.overcommit_memory = 0
vm.swappiness = 0
EOF

文件描述符和用户最大进程数

### 调整文件描述符
cat >> /etc/security/limits.conf <<EOF
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
EOF
##用户进程限制
cat >> /etc/security/limits.d/20-nproc.conf <<EOF
* soft nproc 8192
root soft nproc unlimited
EOF

安装

 安装有两种方法:
      在线安装和搭建本地yum源仓库安装

在线安装

下载yum源配置文件repo

#如果做了免秘钥登陆,则只需要在主节点下载yum源
```javascript
sudo wget -nv http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.1.5/ambari.repo -O /etc/yum.repos.d/ambari.repo

sudo wget –nv http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.4.0/hdp.repo -O /etc/yum.repos.d/hdp.rep

sudo wget -nv http://public-repo-1.hortonworks.com/HDP-GPL/centos7/2.x/updates/2.6.4.0/hdp.gpl.repo -O /etc/yum.repos.d/hdp.gpl.repo

离线安装

制作本地源

制作本地镜像源安装HDP,可以在主节点或者单独的一台服务器(建议)
选择一台可以访问internet的服务器配置本地源
apache httpd
提供离线仓库的下载服务
#安装apache
yum install httpd –y

下载软件源

在httpd网站根目录,默认是即/var/www/html/,创建目录ambari,
并且将下载的压缩包解压到/var/www/html/ambari目录

cd /var/www/html/
mkdir ambari
cd /var/www/html/ambari/
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.1.5/ambari-2.6.1.5-centos7.tar.gz
http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.6.4.0/HDP-2.6.4.0-centos6-rpm.tar.gz
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos6/HDP-UTILS-1.1.0.22-centos6.tar.gz

http://public-repo-1.hortonworks.com/HDP-GPL/centos6/2.x/updates/2.6.4.0/HDP-GPL-2.6.4.0-centos6-rpm.tar.gz

解压下载的tar包
[[email protected] html]# cd /var/www/html/
[[email protected] html]# pwd
/var/www/html
[[email protected] html]#
[[email protected] html]# tree -L 2 ambari/
ambari/
├── ambari
│   └── centos7
├── HDP
│   └── centos7
├── HDP-GPL
│   └── centos7
└── HDP-UTILS-1.1.0.22
    ├── hdp-utils.repo
    ├── openblas
    ├── repodata
    ├── RPM-GPG-KEY
    └── snappy

11 directories, 1 file
[[email protected] html]#

编辑ambari yum源文件

[[email protected] yum.repos.d]# cat ambari.repo
#VERSION_NUMBER=2.6.1.5-3
[ambari-2.6.1.5]
name=ambari Version - ambari-2.6.1.5
baseurl=http://192.168.103.3/ambari/ambari/centos7/2.6.1.5-3/
gpgcheck=1
gpgkey=http://192.168.103.3/ambari/ambari/centos7/2.6.1.5-3/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[[email protected] yum.repos.d]#

[[email protected] yum.repos.d]# cat hdp.repo
#VERSION_NUMBER=2.6.4.0-91
[HDP-2.6.4.0]
name=HDP Version - HDP-2.6.4.0
baseurl=http://192.168.103.3/ambari/HDP/centos7/2.6.4.0-91/
gpgcheck=1
gpgkey=http://192.168.103.3/ambari/HDP/centos7/2.6.4.0-91/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://192.168.103.3/ambari/HDP-UTILS-1.1.0.22/
gpgcheck=1
gpgkey=http://192.168.103.3/ambari/HDP-UTILS-1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[[email protected] yum.repos.d]#

[[email protected] yum.repos.d]# cat hdp.gpl.repo
[HDP-2.6-GPL-repo-1]
name=HDP-2.6-GPL-repo-1
baseurl=http://192.168.103.3/ambari/HDP-GPL/centos7/2.6.4.0-91/
gpgkey=http://192.168.103.3/ambari/HDP-GPL/centos7/2.6.4.0-91/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
path=/
enabled=1
gpgcheck=0

[[email protected] yum.repos.d]#

更新yum 元数据
yum clean all
yum makecache
yum repolist

安装Ambari-server

在主节点安装ambari-server
sudo yum install -y ambari-server

配置Ambari-server

配置mysql连接器
由于ambari要访问数据库,所以要添加lib包,请自行去mysql官网下载
sudo mkdir -p /usr/share/java
sudo cp /opt/mysql-connector-java-5.1.47/mysql-connector-java-5.1.47-bin.jar /usr/share/java/

在ambari-server配置文件中添加mysql lib包路径地址

执行一下命令配置jdbc环境

ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-5.1.47-bin.jar

vim /etc/ambari-server/conf/ambari.properties
###在jdbc区下面找个位置添加如下如下语句
server.jdbc.driver.path=/usr/share/java/mysql-connector-java-5.1.47-bin.jar

检查环境并配置
执行以下命令
sudo ambari-server setup
按提示操作

会检查selinux,是否自定义用户,检查防火墙,设置JDK路径,数据库配置等,按提示操作即可

具体操作如下:
```javascript
[[email protected] opt]# vim /etc/ambari-server/conf/ambari.properties
[[email protected] opt]# ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-5.1.47-bin.jar
Using python /usr/bin/python
Setup ambari-server
Copying /usr/share/java/mysql-connector-java-5.1.47-bin.jar to /var/lib/ambari-server/resources
If you are updating existing jdbc driver jar for mysql with mysql-connector-java-5.1.47-bin.jar. Please remove the old driver jar, from all hosts. Restarting services that need the driver, will automatically copy the new jar to the hosts.
JDBC driver was successfully initialized.
Ambari Server ‘setup‘ completed successfully.
[[email protected] opt]# vim /etc/ambari-server/conf/ambari.properties
[[email protected] opt]# ambari-server setup
Using python /usr/bin/python
Setup ambari-server
Checking SELinux...
SELinux status is ‘disabled‘
Customize user account for ambari-server daemon [y/n] (n)? y
Enter user account for ambari-server daemon (root):ambari
Adjusting ambari-server permissions and ownership...
Checking firewall status...
Checking JDK...
Do you want to change Oracle JDK [y/n] (n)? y
[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
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/jdk1.8.0_161
Validating JDK on Ambari Server...done.
Checking GPL software agreement...
Completing setup...
Configuring database...
Enter advanced database configuration [y/n] (n)? y
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
Hostname (localhost): 192.168.103.3
Port (3306):
Database name (ambari):
Username (ambari):
Enter Database Password (bigdata):
Re-enter password:
Configuring ambari database...
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)? n
WARNING: Remote database setup aborted.
Ambari Server ‘setup‘ completed with warnings.
[[email protected] opt]#

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

mysql -uambari -pxxx
use ambari;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

启动ambari server
ambari-server start

在浏览器中访问ip:8080,默认登录名:admin 密码:admin

添加服务组件
https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.5/bk_ambari-administration/content/ambari_admin_overview.html

spark配置

由于spark要访问数据库,所以要添加mysql lib包
cp /opt/mysql-connector-java-5.1.47/mysql-connector-java-5.1.47-bin.jar /usr/hdp/2.6.4.0-91/spark/lib/

安装数据库

使用现有数据库或者自己安装

创建ambari和hive库
create database ambari character set utf8 ;

添加权限
GRANT ALL PRIVILEGES ON keystone.* TO ‘keystone‘@‘%‘ IDENTIFIED BY ‘ambari‘;
FLUSH PRIVILEGES;
删除权限:
revoke all privileges on ambari.* from [email protected]‘%‘;

程序安装目录

程序默认安装目录
[[email protected] 2.6.4.0-91]# pwd
/usr/hdp/2.6.4.0-91
[[email protected] 2.6.4.0-91]# ls
atlas hadoop hadoop-mapreduce hbase hive2 kafka pig ranger-hdfs-plugin ranger-kafka-plugin ranger-yarn-plugin spark storm tez usr
etc hadoop-hdfs hadoop-yarn hive hive-hcatalog livy ranger-hbase-plugin ranger-hive-plugin ranger-storm-plugin slider spark2 storm-slider-client tez_hive2 zookeeper
[[email protected] 2.6.4.0-91]#

PID目录

/var/run/

日志目录
/var/logs/

一般修改log目录,在安装大数据组件的时候,修改配置文件即可。

删除服务

先停止服务
Service Actions > Delete Service
yum remove xx
https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.5/bk_ambari-administration/content/ambari_admin_overview.html

ambari监控

ambari安装默认用户和用户组

https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.5/bk_ambari-administration/content/defining_service_users_and_groups_for_a_hdp_2x_stack.html

常见问题

问题1:Centos 7安装 ambari-agent报错NetUtil.py-[SSL: CERTIFICATE_VERIFY_FAILED]

Centos 7安装 ambari通过Ambari部署系统时,ambari-agent注册失败,在/var/log/ambari-agent的log中可以看到日志显示:
ERROR 2018-03-08 15:02:25,223 NetUtil.py:88 - [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:579)
ERROR 2018-03-08 15:02:25,223 NetUtil.py:89 - SSLError: Failed to connect. Please check openssl library versions.

解决方法:

修改/etc/python/cert-verification.cfg配置文件:
# vim /etc/python/cert-verification.cfg
[https]
verify=platform_default ###(这是默认配置)
修改为verify=disable

编辑 /etc/ambari-agent/conf/ambari-agent.ini 配置文件,在 [security] 节部分,确保设置如下两个值,其它值保持不变:
[[email protected] ~]# vim /etc/ambari-agent/conf/ambari-agent.ini
[security]
ssl_verify_cert=0
force_https_protocol=PROTOCOL_TLSv1_2
以上配置修改完后,重试即可通过ambari-agent注册,执行即可下一步

参考文档
官方文档安装文档

https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.5/bk_ambari-installation/content/determine_product_interop.html

未完待续~

原文地址:https://www.cnblogs.com/xuliang666/p/11381225.html

时间: 2024-10-08 01:58:01

ambari介绍及安装的相关文章

ambari 自定义组件安装

借鉴:http://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari3/index.html Ambari 在启动的时候,会扫描 resource 目录下 Stack 下面的 service 配置.也就是每个 Service 的 metainfo.xml,同时会将这些配置信息放在自己的数据库中.当用户在 WEB 上面点击 "Add Service"的时候,WEB 就会加载这些配置信息到具体的页面里.在 Servi

【源】从零自学Hadoop(14):Hive介绍及安装

阅读目录 序 介绍 安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 本系列已经有一个多月没更新了,期间涉及到找相关对应的工作,所幸的事,得到了几个offer,后来综合考虑来到了目前这家工作.希望在接下来的时间里,能融入整个社区中去,做出自己略微的贡献. 上一篇,我们列举了hadoop常用的命令,本应该给大家实战下命令的使用的,后来还是想大家自己下去试验试验,接下来开始初略介

Tokyo Tyrant(TTServer)系列(一)-介绍和安装

Tokyo Cabinet 是日本人Mikio Hirabayashi 开发的一款DBM 数据库,该数据库读写非常快,哈希模式写入100 万条数据只需0.643 秒,读取100 万条数据只需0.773 秒,是Berkeley DB 等DBM 的几倍.Tokyo Tyrant 是由同一作者开发的Tokyo Cabinet 数据库网络接口.它拥有Memcached兼容协议,也可以通过HTTP 协议进行数据交换. Tokyo Tyrant 加上Tokyo Cabinet,构成了一款支持高并发的分布式持

Laravel介绍及安装

Laravel是目前最流行的php框架,此前已有耳闻,还没有好好的研究下,目前由于项目的需求要用到这个框架,所以只能硬着头皮学习了.今天算是Laravel学习的第一天,先讲讲laravel框架的安装流程. 下载最新版本Laravel框架,可以到Laravel官网下载,也可以到国内社区下载,下载后解压到服务器网根目录. LaraveL框架使用Composer(PHP包管理工具)来管理代码依赖性. 首先,你需要下载Composer的PHAR打包文件( composer.phar ),下载完成后把它放

System center 2012 R2 实战五、SCVMM2012R2介绍及安装

大家好,今天我来分享的是微软System center组件中第一个组件,SCVMM2012R2的安装,说起SCVMM2012R2,我还想与大家聊一聊,SCVMM2012R2在微软私有云中的作用. 我们知道,微软的私有云一共分为三个层,最底层,是基础架构层,基础架构层上面是服务标准与自动化流程,最上面的是应用管理层,那么什么是基础架构层,基础架构层在微软私有云中是干什么的呢,我先来跟大家说一说我的理解. 微软私有云基础架构层,在我看来,主要作用是,通过微软的云计算,改善企业的IT环境,将企业传统的

Storm介绍及安装部署

本节内容: Apache Storm是什么 Apache Storm核心概念 Storm原理架构 Storm集群安装部署 启动storm ui.Nimbus和Supervisor 一.Apache Storm是什么 Apache Storm是自由开源的分布式实时计算系统,擅长处理海量数据,适用于数据实时处理而非批处理. 批处理使用的大多是鼎鼎大名的hadoop或者hive,作为一个批处理系统,hadoop以其吞吐量大.自动容错等优点,在海量数据处理上得到了广泛的使用.但是,hadoop不擅长实时

python 常库介绍及安装方法

文大赛,秀绝招,赢无人机! python 常库介绍及安装方法 标签: PYTHON库 2016-10-13 15:32 798人阅读 评论(0) 收藏 举报  分类: 其他(33)  bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheetahcherrypy:一个WEB frameworkctypes:用来调用动态链接库DBUtils:数据库连接池django:一个WEB frameworkdocutils:用来写文档的dpkt:数据包的解包和组包My

Web服务介绍 & httpd安装

Web简介 什么是Web WWW:World Wide Web,万维网 英国人TimBerners-Lee在1989年欧洲共同体的一个大型科研机构工作时发明的 Web是一种超文本信息系统,其主要实现方式是超文本连接 Web特点 1.Web页面的图形化和易于链接 2.Web与操作系统.浏览器平台无关 3.分布式 4.动态习惯 5.交互性 Web工作原理 HTTP(Hyper Text Transfer Protocol,超文本传输协议):提供了访问超文本信息的功能,是Web浏览器和Web服务器之间

Memcached介绍及安装

memcached:由LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件,现已成为mixi,hatena,Facebook,Vox,LiveJournal等众多服务器提高Web应用程序扩展性的重要因素: memcached是一款开源.高性能.分布式内存对象缓存系统,可应用各种需要缓存的场景,其主要目的是通过降低对Database的访问来加速web应用程序.它是一个基于内存的"键值对"存储,用于存储数据库调用.API调用或页