从零使用本地仓库安装Ambari

mac2026-03-26  4

文章目录

准备工作兼容性校验检查系统最低要求准备环境 搭建本地仓库克隆官方库克隆Ambari官方库克隆HDP官方库 启动本地仓库 安装Ambari Server配置Ambari Server启动Ambari Server安装Ambari Agent和需要的服务

Ambari和CDH一样,是较为流行的hadoop管理工具(虽然Hortonworks已经被Cloudera收购了),这篇文章我记录了如何从头安装ambari和HDP,主要是参照 HORTONWORKS的Ambari 2.7.4.0安装文档 进行的,当然要更精简一点。

准备工作

兼容性校验

在 Ambari的官方兼容性说明页面 确认操作系统、硬件、软件版本的兼容性,我们的相关信息为:

Ambari:2.7.4

HDP:3.1.4

OS:Debian 9.11

Database:MySQL 5.7

JDK:Oracle JDK 8

检查系统最低要求

参考链接:检查系统

必要的软件:scp、curl、unzip、tar、wget、gcc*、OpenSSL、Python 内存大小、磁盘大小、用 ulimit -Sn 和 ulimit -Hn 命令确定最大文件描述符>10000

准备环境

参考链接:准备环境

配置无密码SSH,即密钥登录 创建服务账号(这一步跳过了,我认为由Ambari替我们创建账号更好) 在所有机器上启用NTP服务,保证时钟一致 检查DNS和NSCD,DNS可以用域名服务器,也可以借助 /etc/hsots,NSCD全称Name Service Caching Daemon,用来缓存域名解析结果 保证端口可用,最简单的方法是禁用iptables 禁用SELinux和PackageKit,并确认UMASK是022或者027 如果不使用自带的PostgresSQL需要下载安装数据库驱动,我使用了MySQL,但是Ambari会在安装过程中下载 mysql-connector-java.jar,所以没有额外下载。

搭建本地仓库

每个节点都使用官方仓库下载安装Ambari和HDP需要很大的流量,可以搭建本地仓库,节省流量开销。

克隆官方库

选择一台机器,比如集群中主机名编号最小的那台机器,登录,创建一个目录用来进行后续的操作:

mkdir ~/ambari_repo cd ambari_repo

接下来要下载的文件都可以用 wget 命令下载。

克隆Ambari官方库

在 Ambari仓库下载页面 下载对应的压缩包,Debian 9对应的下载地址为:http://public-repo-1.hortonworks.com/ambari/debian9/2.x/updates/2.7.4.0/ambari-2.7.4.0-debian9.tar.gz 。

克隆HDP官方库

在 HDP仓库下载页面 下载HDP压缩包,Debian 9对应的压缩包地址分别为:

HDP:http://public-repo-1.hortonworks.com/HDP/debian9/3.x/updates/3.1.4.0/HDP-3.1.4.0-debian9-deb.tar.gz

HDP-UTILS:http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/debian9/HDP-UTILS-1.1.0.22-debian9.tar.gz

HDP-GPL:http://public-repo-1.hortonworks.com/HDP-GPL/debian9/3.x/updates/3.1.4.0/HDP-GPL-3.1.4.0-debian9-gpl.tar.gz

上面下载的这四个文件最好也把相应的MD5文件下载下来,然后用 md5sum 命令校验。

查看当前目录:

$ ls ambari-2.7.4.0-debian9.tar.gz HDP-3.1.4.0-debian9-deb.tar.gz HDP-GPL-3.1.4.0-debian9-gpl.tar.gz HDP-UTILS-1.1.0.22-debian9.tar.gz

用 tar xvf 命令依次解压四个文件,会得到四个文件夹:

$ ls | grep -v gz ambari HDP HDP-GPL HDP-UTILS

启动本地仓库

所谓的官方仓库其实就是在 /etc/apt/sources.list 文件里长下面这个样子的东西:

deb http://public-repo-1.hortonworks.com/HDP/debian9/3.x/updates/3.1.4.0 HDP main

如果我们直接在集群中每台机器的 /etc/apt/sources.list 里添加上对应的源,也不是不行,就是安装Ambari和HDP的时候每台机器都是从 public-repo-1.hortonworks.com 这个服务器下载文件,太费流量,那么本地仓库就是先把需要下载的文件下载到本地(某一个节点上),因为官方仓库本质上就是下载文件的HTTP服务,我们只要按照它的目录结构组织好文件然后向外提供HTTP服务就行了。据我所知,Python的 SimpleHTTPServer 模块应该是起HTTP服务最方便的方法,具体做法为:在 ambari_repo 目录下创建 start_repo.sh 脚本,脚本内容为:

python -m SimpleHTTPServer 12345 > local_repo.log 2>&1 &

并用 bash start_repo.sh 命令启动HTTP服务,在浏览器里访问这台机器的12345端口,可以看到如下页面:

本地仓库搭建成功。

安装Ambari Server

这一小节对应的官方参考链接为:Debian 9安装Ambari

还是在选中的那台机器上操作,需要有管理员权限。

添加源:

# 下载仓库源的文件 wget -O /etc/apt/sources.list.d/ambari.list http://public-repo-1.hortonworks.com/ambari/debian9/2.x/updates/2.7.4.0/ambari.list # 添加密钥为可信密钥 sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD # 更新apt源 sudo apt-get update

确认Ambari相关的包都已经可以通过 apt-get 安装了:

sudo apt-cache showpkg ambari-server sudo apt-cache showpkg ambari-agent sudo apt-cache showpkg ambari-metrics-assembly

安装ambari-server:

sudo apt-get install ambari-server

配置Ambari Server

这一节对应的官方参考链接为:配置Ambari Server

在启动ambari-server前需要进行必要的配置,配置命令为:

sudo ambari-server setup

接下来是交互式的配置,各配置项的情况为:

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

选n确保ambari-server进程和相关的文件只有root有权限。

JDK选择[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8

Do you accept the Oracle Binary Code License Agreement [y/n] (y)? y

Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)? y

以防以后需要。

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

如果选n就会使用内置的PostgreSQL数据库,也是OK的,但因为我们有高可用的MySQL,所以选y并后续进行MySQL主机、端口、用户、密码和库名的配置,在执行这一步之前需要建好库(其实执行到这一步去建也是OK的),库名为ambari。

Should ambari use existing default jdbc /usr/share/java/mysql-connector-java.jar [y/n] (y)? n

Enter full path to custom jdbc driver: /usr/share/java/mysql-connector-java-8.0.18.jar

第6步可以选y,那就不需要做这一步了,只不过官网推荐用高版本的驱动,修改之前确认jar包存在。

Proceed with configuring remote database connection properties [y/n] (y)?

让数据库配置生效。

配置完成。

额外的一步,因为没有用默认的数据库,我们需要手动建表,进入MySQL的命令行,执行如下命令:

# 假设创建的库名 use ambari; source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;

启动Ambari Server

Ambari Server的启动命令为:

sudo ambari-server start # 查看运行状态的命令为: sudo ambari-server status # 停止服务的命令为: sudo ambari-server stop

Ambari Server的HTTP端口为8080,在浏览器中访问,登录用户名/密码是admin/admin。

安装Ambari Agent和需要的服务

接下来的操作都在浏览器中完成,

点击”LAUNCH INSTALL WIZARD";

输入集群名称,点击NEXT;

上方的版本(HDP-3.1.4.0)保持不动,把下方的“Repositories”从“Use Public Repository"切换到”Use Local Repository",然后在OS下找到“debian9”(其它的OS可以通过右侧的删除按钮删除),输入之前搭建的本地仓库的地址,将下图中的 x.x.x.x 修改为对应的IP或主机名,点击NEXT;

Target Hosts输入需要各个节点的主机名,然后选择”Provide your SSH Private Key to automatically register hosts“,上传私钥,修改”SSH User Account"和“SSH Port Number”为合适的值,点击REGISTER AND CONFIRM,然后在弹出的对话框中也进行确认;

等待安装,全部Success后点击NEXT;

选择需要的服务,其中SmartSense是勾不掉的,点击NEXT之后又会提示要装Ambari Metrics,点击OK,如果没选RANGER和Atlas的话,还会提示RANGER和Atlas没有安装,我选择PROCEED ANYWAY;

选择各个服务安装在哪些节点上,点击NEXT;

选择哪些节点会安装各个服务的客户端,点击NEXT;

设置Grafana Admin和Activity Explorer’s Admin的密码;

对各个服务进行各自的配置,比如修改Zookeeper的数据目录,Kafka的日志存放目录列表,确认所有配置后,开始安装;

等待安装完成,如果有的节点安装失败,可以重试失败的节点;

安装完成后会有一个Summary页面,告诉我们服务状态和检查结果,点击COMPLETE即可。

到此安装就结束了,后续就是使用和维护的工作了。

PS:如果你和我一样对Hadoop/Spark/Kafka/Zeppelin/Flink等技术感兴趣,可以来【大数据学徒】一起交流讨论,共同学习。

最新回复(0)