1、系统环境

搭建过程主要参考:https://blog.csdn.net/tang86100/article/details/108732111

系统:Centos7.8

配置:4台虚拟机,8核,32G,2T硬盘

备注:在搭建ambari2.7.4之前,尝试搭建ambari2.5.0,但是失败告终,找遍了所有方法都不行,个人感觉有可能centos版本太高,所以换了ambari2.7.4

集群规划

hadoop01 主节点       10.200.117.99

hadoop02 从节点       10.200.117.97

hadoop03 从节点       10.200.117.85

hadoop04 备用节点,用于后续扩容尝试    10.200.117.80

2、准备工作

2.1 关闭防火墙(每个节点都需要)

//暂停防火墙服务
systemctl stop firewalld.service//设置防火墙服务开机不自动启动
systemctl disable firewalld.service//查看防火墙服务开机不自启动设置成功,disabled表示设置成功
systemctl is-enabled firewalld.service//查看防火墙状态
systemctl status firewalld.service

2.2 修改selinux(每个节点都需要)

//临时生效selinux设置
setenforce 0//修改配置文件
vim /etc/selinux/config  #把selinux=enforcing修改为selinux=disabled

2.3 修改host(每个节点都一样,需要添加)

vi /etc/hosts

前两行不需要修改,直接在后面添加

10.200.117.99 hadoop01
10.200.117.97 hadoop02
10.200.117.85 hadoop03

2.4 修改network文件(每个节点都需要修改)

vim /etc/sysconfig/network

增加以下内容,如果hadoop01节点则HOSTNAME=hadoop01,hadoop02节点,则HOSTNAME=hadoop02,类推

#Created by anaconda
NETWORKING=yes
HOSTNAME=hadoop01

2.5 设置主机名(hadoop01节点设置主机名hadoop01,hadoop02节点设置主机名hadoop02,类推)

//设置主机名
hostnamectl set-hostname hadoop01//查询主机名
hostname

2.6 修改yum源(所有节点)

//先安装wget
yum install -y wget//备份yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup//下载阿里云repo文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo//生成缓存
yum makecache

2.7 安装ntp(所有节点)

// 安装 ntp 服务
yum install -y ntp// 开启并设置开机自启ntp服务
systemctl start ntpd
systemctl enable ntpd// 查看ntp服务状态
systemctl status ntpd

2.8.安装JDK(所有节点)

自行安装就行了,我的版本是jdk1.8.0_141

路径  /usr/java/jdk1.8.0_141

2.9.关闭THP(所有节点)

cat /sys/kernel/mm/transparent_hugepage/defrag
cat /sys/kernel/mm/transparent_hugepage/enabled

得到的结果都是[always] madvise never,需要将其关闭,否则会占用很多资源

vim /etc/rc.d/rc.local

在文件末尾追加代码

if test -f /sys/kernel/mm/transparent_hugepage/enabled; thenecho never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; thenecho never > /sys/kernel/mm/transparent_hugepage/defrag
fi

并给该文件赋权

chmod +x /etc/rc.d/rc.local

reboot之后再执行查看命令,结果变为always madvise [never],说明已关闭

2.10 打开最大文件设置(所有节点)

检查最大文件描述符数的当前值

ulimit -Sn
ulimit -Hn//如果输出小于10000,则设置为10000ulimit -n 10000

三、安装Ambari Server

3.1 开启免密登录(每台机器)

ssh-keygen -t rsa   //每个节点均需要,一直回车即可,如果已经生成过,可以overwrite

在~/.ssh下面会生成id_rsa和id_rsa.pub两个文件,再使用ssh-copy-id命令将公钥传递到各台机器上(包含自己)

ssh-copy-id -i .ssh/id_rsa.pub root@10.200.117.99
ssh-copy-id -i .ssh/id_rsa.pub root@10.200.117.97
ssh-copy-id -i .ssh/id_rsa.pub root@10.200.117.85//每台机器都要重复这三行命令

此时就可以免密访问别的机器了

ssh root@10.200.117.97

3.2 安装MySQL数据库(我的规划是安装在hadoop01)

// 下载 Mysql RPM包
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm// 安装MySQL RPM包
yum install -y mysql57-community-release-el7-10.noarch.rpm// 安装MySQL和 Mysql-java连接器
yum -y install mysql-community-server mysql-connector-java// 查看下载后的jar包,看目录中是否有mysql-connector-java:
ls /usr/share/java// 启动Mysql服务
systemctl start mysqld.service// 查看Mysql服务状态
systemctl status mysqld.service// 设置Mysql服务开机自启
systemctl enable mysqld.service

接下来操作MySQL

//查看初始密码
cat /var/log/mysqld.log | grep password//进入MySQL
mysql -u root -p#输入密码

进入mysql后修改以下配置

//设置MySQL密码安全强度为0,最低长度为1
set global validate_password_policy=0;
set global validate_password_length=1;// 修改root用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';// 为root用户授予所有权限并设置本地登录
grant all privileges on *.* to 'root'@'localhost' identified by '123456';// 为root用户授予所有权限并设置远程登录
grant all privileges on *.* to 'root'@'%' identified by '123456';// 刷新权限系统
flush privileges;

由于安装了Yum Repository,每次yum操作都会自动更新,需要把这个卸载

yum -y remove mysql57-community-release-el7-10.noarch

再次进入mysql,创建ambari数据库及数据库的用户名和密码


create database ambari character set utf8;CREATE USER 'ambari'@'%'IDENTIFIED BY '123456';GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'%';create database hive character set utf8;CREATE USER 'hive'@'%'IDENTIFIED BY '123456';GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'%';create database oozie character set utf8;CREATE USER 'oozie'@'%'IDENTIFIED BY '123456';GRANT ALL PRIVILEGES ON oozie.* TO 'oozie'@'%';CREATE DATABASE ranger;CREATE USER 'rangerdba'@'localhost' IDENTIFIED BY 'rangerdba';GRANT ALL PRIVILEGES ON *.* TO 'rangerdba'@'localhost';CREATE USER 'rangerdba'@'%' IDENTIFIED BY 'rangerdba';GRANT ALL PRIVILEGES ON *.* TO 'rangerdba'@'%';GRANT ALL PRIVILEGES ON *.* TO 'rangerdba'@'localhost' WITH GRANT OPTION;GRANT ALL PRIVILEGES ON *.* TO 'rangerdba'@'%' WITH GRANT OPTION;FLUSH PRIVILEGES;

3.3 安装nginx

yum install -y epel-releaseyum install -y nginx

修改 /etc/nginx/nginx.conf文件

// 对文件进行备份
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bakvi /etc/nginx/nginx.conf//注释掉server中的root字段,在在location中添加以下内容
root ambari;
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;

启动并设置开机自启Nginx服务

systemctl start nginx
systemctl enable nginx

下载软件包:(使用迅雷下载,好像还得充个会员,速度才快,其他下载软件不咋行)

一般来说我们都是在windows上操作集群

我自己的步骤:在windows上用迅雷下载以下安装包→从windows上传安装包到hadoop01机器(因为hdp比较大,我用filezilla,支持断点续传),上传到/usr/soft

Ambari 2.7.4:http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.4.0/ambari-2.7.4.0-centos7.tar.gz

HDP:http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.1.4.0/HDP-3.1.4.0-centos7-rpm.tar.gz
HDP-UTILS:http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz
HDP-GPL:http://public-repo-1.hortonworks.com/HDP-GPL/centos7/3.x/updates/3.1.4.0/HDP-GPL-3.1.4.0-centos7-gpl.tar.gz

创建目录,将上传的软件包解压到这里

mkdir /usr/share/nginx/ambaritar -zxvf HDP-GPL-3.1.4.0-centos7-gpl.tar.gz -C /usr/share/nginx/ambari/
tar -zxvf HDP-3.1.4.0-centos7-rpm.tar.gz -C /usr/share/nginx/ambari/
tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /usr/share/nginx/ambari/
tar -zxvf ambari-2.7.4.0-centos7.tar.gz -C /usr/share/nginx/ambari/

3.4 安装Ambari-server(hadoop01节点)

下载相关yum工具

yum install -y yun-utils
yum repolist
yum install -y createrepo

配置Ambari Repo

//找到以下路径,修改ambari.repo
cd /usr/share/nginx/ambari/ambari/centos7/2.7.4.0-118vi ambari.repo//修改为以下内容
#VERSION_NUMBER=2.7.4.0-118
[ambari-2.7.4.0]
#json.url = http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json
name=ambari Version - ambari-2.7.4.0
baseurl=http://192.168.199.123/ambari/centos7/2.7.4.0-118/
gpgcheck=1
gpgkey=http://192.168.199.123/ambari/centos7/2.7.4.0-118/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1//将文件拷贝到以下地址
cp ambari.repo /etc/yum.repos.d///修改HDP.repo
cd /usr/share/nginx/ambari/HDP/centos7/3.1.4.0-315
vi hdp.repo//添加以下内容
#VERSION_NUMBER=3.1.4.0-315
[HDP-3.1.4.0-315]
name=HDP Version - HDP-3.1.4.0-315
baseurl=http://192.168.199.123/HDP/centos7
gpgcheck=1
gpgkey=http://192.168.199.123/HDP/centos7/3.1.4.0-315/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.199.123/HDP-UTILS/
gpgcheck=1
gpgkey=http://192.168.199.123/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1//将文件拷贝到以下地址
cp hdp.repo /etc/yum.repos.d/

将Repo配置文件分发到各个节点(这样其他机器才能访问源,下载文件)

scp /etc/yum.repos.d/ambari.repo /etc/yum.repos.d/HDP.repo hadoop02:/etc/yum.repos.d/
scp /etc/yum.repos.d/ambari.repo /etc/yum.repos.d/HDP.repo hadoop03:/etc/yum.repos.d/

清理以下yum源缓存

yum clean allyum makecacheyum repolist

安装ambari-server(hadoop01)

yum install -y ambari-serverambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar//一般其他教程都没有在ambari-server setup的时候声明jdbc driver,这样有可能会导致后期test 数据库连接的时候无法连通

按照以下内容选择

[root@hadoop01 centos7]# 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
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/local/java/jdk1.8.0_221
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
Hostname (localhost): hadoop-01
Port (3306):
Database name (ambari):
Username (ambari): 123456
Invalid characters in username. Start with _ or alpha followed by alphanumeric or _ or - characters
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
Proceed with configuring remote database connection properties [y/n] (y)? y
Extracting system views...
ambari-admin-2.7.4.0.118.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.

使用ambari用户登录ambari数据库,导入默认数据

mysql -u ambari -puse ambarisource /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;show tables;

启动ambari-server


//启动ambari-server,一次不成再restart一次
ambari-server start//ambari-server的其他操作命令
ambari-server restart
ambari-server stop
ambari-server reset
ambari-server setup

看到以下内容说明启动成功

Using python  /usr/bin/python
Restarting ambari-server
Waiting for server stop...
Ambari Server stopped
Ambari Server running with administrator privileges.
Organizing resource files at /var/lib/ambari-server/resources...
Ambari database consistency check started...
Server PID at: /var/run/ambari-server/ambari-server.pid
Server out at: /var/log/ambari-server/ambari-server.out
Server log at: /var/log/ambari-server/ambari-server.log
Waiting for server start...................................
Server started listening on 8080DB configs consistency check: no errors and warnings were found.

访问Ambari Web页面,默认端口8080,Username:admin;Password:admin

http://10.200.117.99:8080

四、安装Ambari Agent

分别在各节点执行以下命令

yum install ambari-agent -y

整个Ambari平台安装完成

五、安装部署HDP集群

1、登录安装向导(这里采用了原文的截图)

2、给你的集群取名字

3.选择HDP版本,修改本地源地址

把IP地址替换为hadoop01的ip地址即可

4、添加主机,上传私钥,就是~/.ssh/id_rsa (hadoop01的,先把它传到windows再上传)

对应我的Target Hosts就是:hadoop01     hadoop02      hadoop03

5.大数据组件安装,需要哪些勾选哪些(我没有选择Pig、accumulo、Druid、storm、ranger)

6.节点配置

7、分配节点

8.配置安全密码(Hive以及oozie均设置为123456)

9.数据路径配置(不懂的可以不用改)

10.用户配置

11.全部配置

12.安装预览

13.接下来就是漫长的等待

14.最终安装成功

备注:最开始我是有选择安装ranger,但是最终安装失败,所以去掉了ranger,打算后期手动安装。集群部署好核心组件即可,其他辅助组件与特色组件可以手动安装

15.部署HDP成功后,启动各Services组件,消灭左边的所有报红项,平台就可使正常使用了。

ambari 2.7.4搭建过程相关推荐

  1. 一套基础自动化部署搭建过程

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:LoyaltyLu segmentfault.com/a/1 ...

  2. python3.6安装opencv-python3.6、opencv安装环境搭建过程(图文教程)

    我需要使用tesseract-OCR的模块,vs的配置有点麻烦,所以采用py的环境,搭建. 1.在python.org网站下载python3.6版本 我下载的3.6.8的python的安装 选存放的路 ...

  3. JAVA项目实训struts2_Java Web项目搭建过程记录(struts2)

    开发工具:eclipse 搭建环境:jdk1.7   tomcat 8.0 基础的java开发环境搭建过程不再赘述,下面从打开eclipse 之后的操作开始 第一步: 创建项目,File -> ...

  4. java开发环境安装原理,java开发环境搭建 java开发环境的完整搭建过程

    想了解java开发环境的完整搭建过程的相关内容吗,Rosalh在本文为您仔细讲解java开发环境搭建的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java开发环境搭建步骤,java开发环 ...

  5. hi3531交叉编译环境arm-hisiv100nptl-linux搭建过程

    安装SDK 1.Hi3531 SDK包位置 在"Hi3531_V100R001***/01.software/board"目录下,您可以看到一个 Hi3531_SDK_Vx.x.x ...

  6. spark集群详细搭建过程及遇到的问题解决(四)

    在spark集群详细搭建过程及遇到的问题解决(三)中,我们将讲述了hadoop的安装过程,在本文中将主要讲述spark的安装配置过程. spark@master:~/spark$ cd hadoop ...

  7. disconf mysql_Docker搭建disconf环境,三部曲之三:细说搭建过程

    Docker下的disconf实战全文链接 细说搭建过程 在前两章中,我们利用远程或本地的镜像,快速体验了本地启动disconf的过程,本章我们一起来分析和梳理整个定制和搭建过程,了解这些后,我们就能 ...

  8. Maven多模块,Dubbo分布式服务框架,SpringMVC,前后端分离项目,基础搭建,搭建过程出现的问题...

    现互联网公司后端架构常用到Spring+SpringMVC+MyBatis,通过Maven来构建.通过学习,我已经掌握了基本的搭建过程,写下基础文章为而后的深入学习奠定基础. 首先说一下这篇文章的主要 ...

  9. HA机制的大数据集群的搭建过程

    文章目录 集群规划 1. 准备Linux环境 1.1.修改Linux主机名 1.3.修改主机名和IP的映射关系 1.4.关闭防火墙 1.5.ssh免登陆(主节点和从节点之间) 2. 安装JDK 2.1 ...

最新文章

  1. CSS魔法堂:说说Float那个被埋没的志向
  2. vim编写代码时,文件末尾会多一个换行符的解决办法
  3. 工作155:首页样式调整第二次
  4. Android Studio更改标题栏的颜色
  5. 【ElasticSearch】Es 源码之 MetaStateService 源码解读
  6. 昨天,面试了一个安全工程师,她的回答让我耳目一新
  7. Lesson 29 SVD decomposition
  8. Linux一键安装部署环境
  9. 大学生应该读什么书——一位年轻老师给他的年轻学生的一封回信
  10. JSR-133: JavaTM Memory Model and Thread Specification原文解析
  11. linux PCIe api
  12. centos7.6 服务器搭建Java环境(若依--srs)
  13. 点成方案| 麦氏比浊仪用于微生物检验
  14. 10月28日人工智能讲师叶梓为各工科院校老师进行了为期三天的人工智能培训
  15. Thc-ssl-dos
  16. Linux c网络编程聊天室项目
  17. 众达说两化融合管理体系之两化融合贯标平台注册流程
  18. LimeSDR实验教程(11) GFSK音频发射和接收
  19. 沙特主帅皮齐离任 成亚洲杯第五位下课主帅
  20. 将10000张妹子图片存起来,很棒

热门文章

  1. 【开发工具】【Dropbear】Dropbear编译安装
  2. 复杂环境下的高精度定位「自动驾驶」「AI工程落地」
  3. Fiddler抓不到 PC上小程序的包
  4. 空间(3D)转换:使用transform属性实现元素在空间内的位移、旋转、缩放等效果
  5. 订单量增长70倍!钉钉正在企业级市场复制苹果的“应用经济”
  6. linux命令行下如何格式化json并进行各种json处理操作
  7. Confluent本地安装和使用
  8. 文件上传基础及过滤方式
  9. 安装Ubuntu20.04双系统
  10. Matlab生成Word文件(含表格和图片插入)