大数据分析学习第十五课 自建云服务器集群离线安装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

相关文章

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Redis中哨兵机制和集群的区别及说明

《Redis中哨兵机制和集群的区别及说明》Redis哨兵通过主从复制实现高可用,适用于中小规模数据;集群采用分布式分片,支持动态扩展,适合大规模数据,哨兵管理简单但扩展性弱,集群性能更强但架构复杂,根... 目录一、架构设计与节点角色1. 哨兵机制(Sentinel)2. 集群(Cluster)二、数据分片

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知