大数据分析学习第十五课 自建云服务器集群离线安装Ambari2.7.5和HDP3.1.5(一)

本文主要是介绍大数据分析学习第十五课 自建云服务器集群离线安装Ambari2.7.5和HDP3.1.5(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    之前了解了很多关于大数据平台一站式部署管理的工具,比如Apache Ambari和CDH,目前最新的CDH已经没有了社区版,也就是说以后使用新版本的Cloudera Manager和CDH都是要收费的,这对于很多小公司来说,可能无法承受。转向Ambari是他们的一个可选项。

    Ambari是Apache的一个顶级开源项目,开源是其最大的优势,开源也意味着Ambari可以灵活地进行扩展,集成更多的数据组件,对于需要定制化和二次开发的企业来说,Ambari也极具吸引力。

    由于之前学习大数据一直使用的虚拟机,本身虚拟机内存和配置不大,一直没有机会上手Ambari。最近遇到一个好机会,就是很多云服务器商搞活动,于是我在电信天翼云和青云订购了3台主机,总共花费228元,可以使用一年时间。

天翼云(88元)2核4G

青云(70元*2 )  1核2G

 这个活动还是很划算的,感兴趣的可以问度娘参加活动。也可以关注公众号【猫头鹰数据分析】给我留言,我会告诉读者怎么购买主机最划算。

    今天就开始搭建一下基于Ambari的HDP大数据环境,天翼云主机(tt1)因为配置好,就做master,其它2台主机做slave(ss1,ss2)。

一、安装包准备

    Ambari官网连接不能用了,现在需要收费,用到的软件包我整理好放云盘了,需要的朋友可以关注我的微信公众号【猫头鹰数据分析】后台回复ambari或hdp,就可以获取离线包了,总共11G多,本次安装使用的软件及版本如下

Ambari2.7.5
HDP3.1.5
JAVA1.8
Mysql5.7.35
Httpd

云盘的包如下

ambari-2.7.5.0-centos7.tar.gz
HDP-3.1.5.0-centos7-rpm.tar.gz
HDP-GPL-3.1.5.0-centos7-gpl.tar.gz
HDP-UTILS-1.1.0.22-centos7.tar.gz

首先我们配置下基本环境

1、java环境

java需要3台主机都配置,这里我就不做介绍了,我的博客里也有介绍,因为比较简单,主要是下载jdk解压,然后配置环境变量就可以了

2、mysql环境

mysql服务我们只需要安装到tt1主服务器上,网上例子也比较多,这里就不介绍了,装好后记得设置远程 % 访问,同时要在云服务器安全组设置外网端口3306。

3、httpd环境


yum install httpdyum install yum-utilsyum repolistyum install createrepo

4、时钟

 参见博客大数据分析学习第一课 准备虚拟机环境

5、设置主机名(所有主机)

这里我是外网ip就不公开了,下面ip是举例

参见博客大数据分析学习第一课 准备虚拟机环境
vim /etc/hosts
每个节点的hosts文件中添加如下配置:
192.168.179.101         tt1 
192.168.179.102         ss1
192.168.179.103         ss2

6、ssh免密

可以参照我的另一篇文章 大数据分析学习第一课 准备虚拟机环境

这里注意密匙生成用云服务器master控制台来生成,生成后保存一份公匙,后面配置服务需要使用。保证tt1可以ssh远程 ss1,ss2

7、为每个用户设置NMASK(所有主机)

sudo sh -c "echo umask 0022 >> /etc/profile"

8、修改系统最大打开文件数

[root@tt1 ~]# vim /etc/systemd/system.conf
[Manager]
DefaultLimitNOFILE=1024000          #这里需要修改 
DefaultLimitNPROC=1024000           #这里也需要修改,修改完成重启生效
[root@tt1 ~]# ulimit -a          查看
[root@tt1 ~]# ulimit -n 10000    临时修改
[root@tt1 ~]# ulimit -Sn         
10000
[root@tt1 ~]# ulimit -Hn
10000

二、开始安装基础服务

1、上传和解压离线包

前面介绍安装完httpd后,会生成 /var/www/html目录,我们在html目录里再建一些目录

[root@tt1 ~]# mkdir /var/www/html/ambari
[root@tt1 ~]# mkdir /var/www/html/hdp
[root@tt1 ~]# mkdir /var/www/html/hdp/HDP-UTILS-1.1.0.22
[root@tt1 ~]# mkdir /var/www/html/hdp/HDP-GPL-3.1.5.0 

建完目录,我们上传上面介绍的4个ambari离线包放到/var/www/html目录下 (主服务器tt1),传完后我们执行解压命令

[root@tt1 ~]# tar -zxvf ambari-2.7.5.0-centos7.tar.gz -C /var/www/html/ambari/ 
[root@tt1 ~]# tar -zxvf HDP-3.1.5.0-centos7-rpm.tar.gz -C /var/www/html/hdp/ 
[root@tt1 ~]# tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp/HDP-UTILS-1.1.0.22
[root@tt1 ~]# tar -zxvf HDP-GPL-3.1.5.0-centos7-gpl.tar.gz -C /var/www/html/hdp/HDP-GPL-3.1.5.0/

解压后,我们可以等正常运行ambari后,删除离线包,因为离线包有将近12个G,还是比较占空间的

2、启动httpd服务(主服务器tt1)

[root@tt1 ~]# systemctl start httpd    # 启动httpd
[root@tt1 ~]# systemctl status httpd    # 查看httpd状态
[root@tt1 ~]# systemctl enable httpd    # 设置httpd开机自启

测试访问刚才解压的文件路径

http://tt1:8081/ambari/ 
http://tt1:8081/hdp/

能看到资源目录就可以了

3、制作本地源(主服务器tt1)

因为我们下载repo文件提示没有权限

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

这里我们就直接自己新建ambari.repo和HDP.repo文件了

ambari.repo

cd /etc/yum.repos.d/
vim ambari.repo 
#VERSION_NUMBER=2.7.4.0-118
[ambari-2.7.4.0]
name=ambari Version - ambari-2.7.4.0
baseurl=http://tt1:8081/ambari/ambari/centos7/2.7.4.0-118
gpgcheck=1
gpgkey=http://tt1:8081/ambari/ambari/centos7/2.7.4.0-118/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

ambari.repo需要复制到其他2台slave主机

 HDP.repo

#VERSION_NUMBER=3.1.4.0-315
[HDP-3.1.4.0]
name=HDP Version - HDP-3.1.5.0
baseurl=http://tt1:8081/hdp/HDP/centos7/3.1.5.0-152/
gpgcheck=1
gpgkey=http://tt1:8081/hdp/HDP/centos7/3.1.5.0-152/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://tt1:8081/hdp/HDP-UTILS-1.1.0.22/HDP-UTILS/centos7/1.1.0.22
gpgcheck=1
gpgkey=http://tt1:8081/hdp/HDP-UTILS-1.1.0.22/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1[HDP-GPL-3.1.5.0]
name=HDP-GPL Version - HDP-GPL-3.1.5.0
baseurl=http://tt1:8081/hdp/HDP-GPL-3.1.5.0/HDP-GPL/centos7/3.1.5.0-152/
gpgcheck=1
gpgkey=http://tt1:8081/hdp/HDP-GPL-3.1.5.0/HDP-GPL/centos7/3.1.5.0-152/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

4、清理一下yum的缓存

[root@tt1 ambari]# yum clean all
[root@tt1 ambari]# yum makecache
[root@tt1 ambari]# yum repolist

可以看到本地源已经配置成功,这是离线安装的关键,因为源文件文件我们已经解压到本地了

 5、将创建好的文件拷贝到子节点

复制到ss1,ss2的/etc/yum.repos.d目录下

[root@tt1 ambari]#cd /etc/yum.repos.d
[root@tt1 yum.repos.d]# scp ambari.repo HDP.repo ss1
[root@tt1 yum.repos.d]# scp ambari.repo HDP.repo ss2

 同时也更新yum源

yum clean all
yum makecache
yum repolist

三、安装ambari-server

1、安装和配置ambari-server

yum -y install ambari-server

2、配置数据库mysql(主服务器)

上传mysql连接驱动的jar包并重命名

mkdir /usr/share/java
cp mysql-connector-java-5.1.44-bin.jar /usr/share/java/mysql-connector-java.jar
cp mysql-connector-java-5.1.44-bin.jar /var/lib/ambari-server/resources/mysql-jdbc-driver.jar
修改ambari.properties
vi /etc/ambari-server/conf/ambari.properties

初始化数据库,我们连接在tt1装好的mysql,新建ambari,hive,oozie 三个数据库

use ambari; 
CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambari'; 
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%'; 
CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'ambari'; 
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost'; 
CREATE USER 'ambari'@'tt1' IDENTIFIED BY 'ambari'; 
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'tt1'; CREATE DATABASE hive;
use hive; 
CREATE USER 'hive'@'%' IDENTIFIED BY 'hive'; 
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%'; 
CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive'; 
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost'; 
CREATE USER 'hive'@'tt1' IDENTIFIED BY 'hive'; 
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'tt1';CREATE DATABASE oozie; 
use oozie; 
CREATE USER 'oozie'@'%' IDENTIFIED BY 'oozie'; 
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%'; 
CREATE USER 'oozie'@'localhost' IDENTIFIED BY 'oozie'; 
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'localhost'; 
CREATE USER 'oozie'@'tt1' IDENTIFIED BY 'oozie'; 
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'tt1';

添加一行新内容,配置驱动

server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar

导入初始化数据结构和数据

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

 3、初始化ambari-server

执行 ambari-server setup

按shell给出的提示选择并配置,ambari版本不同可能提示略有差异,但内容就是以下这些

1) 提示是否自定义设置。输入:y
Customize user account for ambari-server daemon [y/n] (n)? y
(2)ambari-server 账号。
Enter user account for ambari-server daemon (root):
默认选择root
Enter user account for ambari-server daemon (root):ambari
Adjusting ambari-server permissions and ownership...
(3)检查防火墙
Adjusting ambari-server permissions and ownership...
Checking firewall...
WARNING: iptables is running. Confirm the necessary Ambari ports are accessible. Refer to the Ambari documentation for more details on ports.
OK to continue [y/n] (y)?
直接回车
(4)设置JDK。输入:3
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
如果选择3自定义JDK,则需要设置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: /usr/java/jdk1.8.0_131
Validating JDK on Ambari Server...done.
Completing setup...
(5)数据库配置。选择:y
Configuring database...
Enter advanced database configuration [y/n] (n)? y
(6)选择数据库类型。输入:3
Configuring database...
==============================================================================
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
==============================================================================
Enter choice (3): 3
(7)设置数据库的具体配置信息,
Hostname (localhost): tt1
Port (3306): 3306
Database name (ambari): ambari
Username (ambari): ambari
Enter Database Password (bigdata):ambari
Re-Enter password: ambari

错误处理:
如果出现错误,请注意查看日志,根据具体的错误内容进行处理,默认ambari-server的日志在/var/log/ambari-server/ambari-server.log里面。

tail -100 /var/log/ambari-server/ambari-server.log  可以查看日志,一般就是数据库连接异常或者端口占用问题,都好解决

4、安装ambari-agent 

我们在httpd服务启动的情况下,在ss1,ss2主机上执行安装ambari-agent (这里也是离线安装,所以需要启动httpd,我们前面配置了yum的源地址是tt1)

yum install ambari-agent

安装成功有如下提示

agent安装完后,我们在2台从主机上分别启动

systemctl start ambari-agent

5、启动ambari服务

在tt1上执行 ambari-server start,这里注意启动前httpd服务也要启动,同时去天翼云控制台开8082的外网端口

 启动成功,我们在浏览器访问服务地址http://xx.xx.xx.xx:8082/#/login

 默认的用户名密码都是admin,我们输入后登录系统,就进入主界面了

 这次的安装过程就介绍到这里了,下次我们介绍在Ambari平台里创建配置大数据集群和常用组件

总结
        感谢能看到这里的朋友😉

        本次的分享就到这里,猫头鹰数据致力于为大家分享技术干货😎

        如果以上过程中出现了任何的纰漏错误,烦请大佬们指正😅

        受益的朋友或对技术感兴趣的伙伴记得点赞关注支持一波🙏

        也可以搜索关注我的微信公众号【猫头鹰数据分析】,留言交流🙏

这篇关于大数据分析学习第十五课 自建云服务器集群离线安装Ambari2.7.5和HDP3.1.5(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/753349

相关文章

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

Java SWT库详解与安装指南(最新推荐)

《JavaSWT库详解与安装指南(最新推荐)》:本文主要介绍JavaSWT库详解与安装指南,在本章中,我们介绍了如何下载、安装SWTJAR包,并详述了在Eclipse以及命令行环境中配置Java... 目录1. Java SWT类库概述2. SWT与AWT和Swing的区别2.1 历史背景与设计理念2.1.

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio