百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

教学篇:Ambari大数据平台集群利器的探索与实践

bigegpt 2024-10-03 15:02 9 浏览

一、简介

Ambari是 Apache Software Foundation 中的一个顶级项目,它是用来创建、管理、监视Hadoop整个生态圈的工具。 Ambari是分布式架构,主要由Ambari Server和Ambari Agent组成。

HDP是hortonworks的软件栈,里面包含了hadoop生态系统的所有软件项目,其实就是软件包合集。

HDP-UTILS是工具类库。各软件版本对照表:

https://supportmatrix.hortonworks.com/

hadoop生态圈示图:



二、环境准备

2.1 资源要求



2.2 软件要求



2.3 软件下载地址

[root@ambari-server01 ~]# wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.1.0/ambari-2.7.1.0-centos7.tar.gz
[root@ambari-server01 ~]# wget http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.0.1.0/HDP-3.0.1.0-centos7-rpm.tar.gz
[root@ambari-server01 ~]# wget http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz

2.4 系统初始化,执行以下脚本(所有节点)

#!/bin/bash
#
#服务器初始化脚本
 
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
 
# 关闭 SeLinux
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
 
# 关闭 swap
swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab
# echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables
 
# 安装必要的调试程序
yum install -y vim lrzsz telnet net-tools tar wget
yum install -y java-1.8.0-openjdk*
 
# 安装配置时间同步服务
yum install -y ntp
systemctl start ntpd.service
systemctl enable ntpd.service
 
# 设置进程文件最大打开数量
echo "* soft nofile 65535"  >> /etc/security/limits.conf
echo "* hard nofile 65535"  >> /etc/security/limits.conf
 
# 设置系统总限制文件最大打开数量
echo  6553560 > /proc/sys/fs/file-max
echo "fs.file-max = 6553560" >>  /etc/sysctl.conf

2.5 设置主机名(所有节点)

# 三台主机分别设置hostname
[root@ambari-server01 ~]# hostnamectl set-hostname ambari-server01.test.com
[root@ambari-node01 ~]# hostnamectl set-hostname ambari-node01.test.com
[root@ambari-node02 ~]# hostnamectl set-hostname ambari-node02.test.com
 
# 添加hosts解析(所有节点)
[root@ambari-server01 ~]# cat >> /etc/hosts << EOF
192.168.2.111  ambari-server01.test.com
192.168.2.112  ambari-node01.test.com
192.168.2.113  ambari-node02.test.com
EOF

2.6 设置免密登陆(ambari-server01节点)

# 在192.168.2.111节点执行:
[root@ambari-server01 ~]# ssh-keygen
[root@ambari-server01 ~]# ssh-copy-id  ambari-server01.test.com
[root@ambari-server01 ~]# ssh-copy-id  ambari-node01.test.com
[root@ambari-server01 ~]# ssh-copy-id  ambari-node02.test.com
[root@ambari-server01 ~]# scp -r .ssh/ ambari-node01.test.com:/root
[root@ambari-server01 ~]# scp -r .ssh/ ambari-node02.test.com:/root

三、安装mysql相关(ambari-server01节点)

# 下载并安装mysql
[root@ambari-server01 ~]# wget -i -c http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
[root@ambari-server01 ~]# yum -y install mysql-community-release-el7-5.noarch.rpm
[root@ambari-server01 ~]# yum -y install mysql-community-server
 
# 启动mysql
[root@ambari-server01 ~]# systemctl start mysqld.service    # 启动mysql
[root@ambari-server01 ~]# systemctl status mysqld.service  # 查看mysql状态
[root@ambari-server01 ~]# systemctl enable mysqld.service   # 开机自启
 
# 设置mysql密码
> set password for root@localhost = password('root123');   # 方法一,需要登陆mysql执行
 
# 创建ambari数据库及用户名和密码
mysql> create database ambari character set utf8;
mysql> CREATE USER 'ambari'@'%'IDENTIFIED BY 'Ambari123';
mysql> GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'%';
mysql> GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'ambari-server01.test.com'IDENTIFIED BY 'Ambari123';
mysql> FLUSH PRIVILEGES;
 
# 创建hive数据库及用户名和密码(如果不需要安装hive服务,则不需要配置以下数据库)
mysql> create database hive character set utf8;
mysql> CREATE USER 'hive'@'%'IDENTIFIED BY 'Hive123';
mysql> GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'%';
mysql> GRANT ALL PRIVILEGES ON hive.* TO 'ambari'@'ambari-server01.test.com'IDENTIFIED BY 'Hive123';
mysql> FLUSH PRIVILEGES;
 
# 如果需要安装oozie、ranger服务,创建数据库方法同上。
 
# 下载 mysql-connector-java-5.1.46-bin.jar包
# 复制到/var/lib/ambari-server/resources/mysql-connector-java-5.1.46-bin.jar目录;
# 再复制到/usr/share/java/mysql-connector-java-5.1.46-bin.jar到这个目录一份。

四、利用httpd创建本地yum的repo源(ambari-server01节点)

# 安装软件
[root@ambari-server01 ~]# yum -y install yum-utils createrepo httpd
# 创建目录
[root@ambari-server01 ~]# mkdir -p /var/www/html/ambari/
[root@ambari-server01 ~]# mkdir -p /var/www/html/hdp/
[root@ambari-server01 ~]# mkdir -p /var/www/html/hdp/HDP-UTILS/
# 解压tar包
[root@ambari-server01 ~]# tar -zxvf ambari-2.7.1.0-centos7.tar.gz -C /var/www/html/ambari/
[root@ambari-server01 ~]# tar -zxvf HDP-3.0.1.0-centos7-rpm.tar.gz -C /var/www/html/hdp/
[root@ambari-server01 ~]# tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp/HDP-UTILS/
# 启动httpd
[root@ambari-server01 ~]# systemctl start httpd
[root@ambari-server01 ~]# systemctl enable httpd
**浏览器查看,如下即为正常**

![](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6eda665d14c04ee9bb69a5dbbe28b23a~tplv-k3u1fbpfcp-zoom-1.image)

# 配置本地repo
[root@ambari-server01 ~]# wget -O /etc/yum.repos.d/ambari.repo http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.1.0/ambari.repo
 
# 将下载的repo修改内容为如下
[root@ambari-server01 ~]# vim /etc/yum.repos.d/ambari.repo
#VERSION_NUMBER=2.7.1.0-139
[ambari-2.7.1.0]
#json.url = http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json
name=ambari Version - ambari-2.7.1.0
baseurl=http://192.168.2.111/ambari/ambari/centos7/2.7.1.0-169
gpgcheck=1
gpgkey=http://192.168.2.111/ambari/ambari/centos7/2.7.1.0-169/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
 
# 配置HDP和HDP-UTILS的repo
[root@ambari-server01 ~]# vim /etc/yum.repos.d/HDP.repo
#VERSION_NUMBER=3.0.1.0-187
[HDP-3.0.1.0]
name=HDP Version - HDP-3.0.1.0
baseurl=http://192.168.2.111/hdp/HDP/centos7
gpgcheck=1
gpgkey=http://192.168.2.111/hdp/HDP/centos7/3.0.1.0-187/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.2.111/hdp/HDP-UTILS/centos7/1.1.0.22
gpgcheck=1
gpgkey=http://192.168.2.111/hdp/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
 
# 将repo拷贝到其他节点
[root@ambari-server01 ~]# cd /etc/yum.repos.d/
[root@ambari-server01 ~]# scp ambari.repo HDP.repo root@192.168.2.112:/etc/yum.repos.d/
[root@ambari-server01 ~]# scp ambari.repo HDP.repo root@192.168.2.113:/etc/yum.repos.d/
 
# 生成本地源
[root@ambari-server01 ~]# createrepo /var/www/html/hdp/HDP/centos7/
[root@ambari-server01 ~]# createrepo  /var/www/html/hdp/HDP-UTILS/

五、安装ambari集群

5.1 安装ambari-server(ambari-server01节点)


[root@ambari-server01 ~]# yum -y install ambari-server
[root@ambari-server01 ~]# 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):root # 用户
Adjusting ambari-server permissions and ownership...
Checking firewall status...
Checking JDK...
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Custom JDK
==============================================================================
Enter choice (1): 2 # 选择自定义jdk
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: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64/     #jdk安装路径
Validating JDK on Ambari Server...done.
Check JDK version for Ambari Server...
JDK version found: 8
Minimum JDK version is 8 for Ambari. Skipping to setup different JDK for Ambari Server.
Checking GPL software agreement...
GPL License for LZO: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)? y
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 # 选择安装的mysql
Hostname (localhost): ambari-server01.test.com  # 配置hostname
Port (3306):    # 默认
Database name (ambari):       # 默认
Username (ambari):       # 默认
Enter Database Password (bigdata):  # 输入密码
Re-enter password:
Configuring ambari database...
Should ambari use existing default jdbc /usr/share/java/mysql-connector-java.jar [y/n] (y)? y
Configuring remote database connection properties...
WARNING: Before starting Ambari Server, you must run the following DDL directly from the database shell to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql      # 此处需注意,启动ambari之前需要执行此句
Proceed with configuring remote database connection properties [y/n] (y)? y
Extracting system views...
ambari-admin-2.7.3.0.139.jar
....
Ambari repo file contains latest json url http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json, updating stacks repoinfos with it...
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.   # 安装成功

5.2 使用ambari用户登陆mysql

[root@ambari-server01 ~]# mysql -u ambari -pAmbari123 -h ambari-server01.test.com
mysql> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
mysql> show tables;

5.3 启动ambari-Server

[root@ambari-server01 ~]# ambari-server start

5.4 安装ambari-agent(ambari-node01、ambari-node02节点)

[root@ambari-node01 ~]# yum -y install ambari-agent

六、Ambari web页面配置

访问地址:http://192.168.2.111:8080/
默认账号:admin
默认密码:admin

进行web页面配置时没有截图,以下截图为网上下载,仅供参考




6.1 选择版本



6.2 配置节点、密钥



6.3 主机确认



6.4 选择要安装的组件



6.5 节点分配



6.6 分配从属和客户端



6.7 定制服务

# 执行以下命令(ambari-server01节点)
[root@ambari-server01 ~]# ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-5.1.46-bin.jar
# 执行以下命令(ambari-server01节点)
[root@ambari-server01 ~]# ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-5.1.46-bin.jar
# 执行以下命令(ambari-server01节点)
[root@ambari-server01 ~]# ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-5.1.46-bin.jar

6.8 设置存储路径等





6.9 集群情况预览并部署





等待启动完毕,不用担心警告,后期可以调整,搭建完成,可以在展示页面进行查看集群状态




可以查看监控界面,可以看到大数据组件中出现错误,单个组件点开处理



6.10 监控面板



6.10.1 监控面板-主机状态



6.10.2 监控面板-配置历史(可针对单个服务调整配置)



6.11 新部署其他服务



6.12 添加node节点



6.13 配置邮件报警



6.14 ambari会自动安装grafana作为监控面板




至此,搭建完成!

相关推荐

有些人能留在你的心里,但不能留在你生活里。

有时候,你必须要明白,有些人能留在你的心里,但不能留在你生活里。Sometimes,youhavetorealize,Somepeoplecanstayinyourheart,...

Python学不会来打我(34)python函数爬取百度图片_附源码

随着人工智能和大数据的发展,图像数据的获取变得越来越重要。作为Python初学者,掌握如何从网页中抓取图片并保存到本地是一项非常实用的技能。本文将手把手教你使用Python函数编写一个简单的百度图片...

软网推荐:图像变变变 一“软”见分晓

当我们仅需要改变一些图片的分辨率、裁减尺寸、添加水印、标注文本、更改图片颜色,或将一种图片转换为另一种格式时,总比较讨厌使用一些大型的图像处理软件,尤其是当尚未安装此类软件时,更是如此。实际上,只需一...

首款WP8.1图片搜索应用,搜照片得资料

首款WP8.1图片搜索应用,搜照片得资料出处:IT之家原创(天际)2014-11-1114:32:15评论WP之家报道,《反向图片搜索》(ReverseImageSearch)是Window...

分享一组美图(图片来自头条)(头条美女头像)

...

盗墓笔记电视剧精美海报 盗墓笔记电视剧全集高清种子下载

出身“老九门”世家的吴邪,因身为考古学家的父母在某次保护国家文物行动时被国外盗墓团伙杀害,吴家为保护吴邪安全将他送去德国读书,因而吴邪对“考古”事业有着与生俱来的兴趣。在一次护宝过程中他偶然获得一张...

微软调整Win11 24H2装机策略:6月起36款预装应用改为完整版

IT之家7月16日消息,微软公司今天(7月16日)发布公告,表示自今年6月更新开始,已默认更新Windows1124H2和WindowsServer2025系统中预装...

谷歌手把手教你成为谣言终结者 | 域外

刺猬公社出品,必属原创,严禁转载。合作事宜,请联系微信号:yunlugongby贾宸琰编译、整理11月23日,由谷歌新闻实验室(GoogleNewsLab)联合Bellingcat、DigD...

NAS 部署网盘资源搜索神器:全网资源一键搜,免费看剧听歌超爽!

还在为找不到想看的电影、电视剧、音乐而烦恼?还在各个网盘之间来回切换,浪费大量时间?今天就教你如何在NAS上部署aipan-netdisk-search,一款强大的网盘资源搜索神器,让你全网资源...

使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建

前言回顾在上一篇文章《搭建持久化的INFINIConsole与Easysearch容器环境》中,我们详细介绍了如何使用基础的dockerrun命令,手动启动和配置INFINICon...

为庆祝杜特尔特到访,这个国家宣布全国放假?

(观察者网讯)近日,一篇流传甚广的脸书推文称,为庆祝杜特尔特去年访问印度,印度宣布全国放假,并举办了街头集会以示欢迎。菲媒对此做出澄清,这则消息其实是“假新闻”。据《菲律宾世界日报》2日报道,该贴子...

一课译词:毛骨悚然(毛骨悚然的意思是?)

PhotobyMoosePhotosfromPexels“毛骨悚然”,汉语成语,意思是毛发竖起,脊梁骨发冷;形容恐惧惊骇的样子(withone'shairstandingonend...

Bing Overtakes Google in China&#39;s PC Search Market, Fueled by AI and Microsoft Ecosystem

ScreenshotofBingChinahomepageTMTPOST--Inastunningturnintheglobalsearchenginerace,Mic...

找图不求人!6个以图搜图的识图网站推荐

【本文由小黑盒作者@crystalz于03月08日发布,转载请标明出处!】前言以图搜图,专业说法叫“反向图片搜索引擎”,是专门用来搜索相似图片、原始图片或图片来源的方法。常用来寻找现有图片的原始发布出...

浏览器功能和“油管”有什么关联?为什么要下载

现在有没有一款插件可以实现全部的功能,同时占用又小呢,主题主要是网站的一个外观,而且插件则主要是实现wordpress网站的一些功能,它不仅仅可以定制网站的外观,还可以实现很多插件的功能,搭载chro...