安装Ambari和HDP
最新的CDH已经没有了社区版,也就是说以后使用新版本的Cloudera Manager和CDH都是要收费的,这对于很多小公司来说,可能无法承受。转向Ambari是他们的一个可选项。Ambari是Apache的一个顶级开源项目,开源是其最大的优势,开源也意味着Ambari可以灵活地进行扩展,集成更多的数据组件,对于需要定制化和二次开发的企业来说,Ambari也极具吸引力。
1、安装包准备
链接如下:
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.1.5/ambari-2.6.1.5-centos7.tar.gz
https://download.csdn.net/download/ljk168/10351315
http://public-repo-1.hortonworks.com/HDP-GPL/centos7/2.x/updates/2.6.4.0/HDP-GPL-2.6.4.0-centos7-rpm.tar.gz
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.4.0/HDP-2.6.4.0-centos7-rpm.tar.gz
2、主机准备。
本次Ambari环境基于三台2核8G的EC2服务器,操作系统为Centos7.6,三台主机如下
和安装Cloudera Manager、CDH类似,首先需要修改三台主机的网络设置、禁用SElinux、修改主机名、关闭防火墙、ssh免密、开启http服务、设置时钟同步、安装JDK,在此不作详细介绍,具体可以参考之前安装CDH7.1.1的文章。
由于AWS中国的EC2服务器没有开放80和8080端口,我们将Http服务的端口改为了8085,Ambari Web服务的端口改成了8086端口。
3、安装MariaDB,创建数据库
安装并启动
yum -y install mariadb-server
systemctl start mariadb.service
systemctl enable mariadb.service
设置密码123456,一路回车
mysql_secure_installation
配置数据库
登录MySQL
mysql -u root -p123456
创建所需数据库
# 创建ambari数据库
create database ambari;
CREATE USER 'ambari'@'%'IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
FLUSH PRIVILEGES;
# 创建Hive数据库
create database hive;
CREATE USER 'hive'@'%'IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
FLUSH PRIVILEGES;
# 创建Oozie数据库
create database oozie;
CREATE USER 'oozie'@'%'IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%';
FLUSH PRIVILEGES;
将Mysql驱动放置在 /usr/share/java
目录
4、上传安装包,创建本地yum源,开始安装ambari
将ambari、HDP 、HDP-GPL 、HDP-UTILS包解压至 /var/www/html
目录下
将各个目录最底层的repo文件移动至 /etc/yum.repo/
下,并修改为
ambari.repo
[ambari-2.6.1.5]
name=ambari Version - ambari-2.6.1.5
baseurl=http://52.83.64.220:8085/ambari/centos7/2.6.1.5-3
gpgcheck=1
gpgkey=http://52.83.64.220:8085/ambari/centos7/2.6.1.5-3/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
hdp.repo
[HDP-2.6-repo-1]
name=HDP-2.6-repo-1
baseurl=http://52.83.64.220:8085/HDP/centos7/2.6.4.0-91
gpgcheck=1
gpgkey=http://52.83.64.220:8085/HDP/centos7/2.6.4.0-91/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
priority=1
enabled=1
[HDP-UTILS-1.1.0.22-repo-1]
name=HDP-UTILS-1.1.0.22-repo-1
baseurl=http://52.83.64.220:8085/HDP-UTILS/centos7/1.1.0.22
gpgcheck=1
gpgkey=http://52.83.64.220:8085/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
priority=1
enabled=1
[HDP-HDP-GPL-repo-1]
name=HDP-GPL
baseurl=http://52.83.64.220:8085/HDP-GPL/centos7/2.6.4.0-91
gpgcheck=1
gpgkey=http://52.83.64.220:8085/HDP-GPL/centos7/2.6.4.0-91/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
priority=1
enabled=1
开始安装ambari-server
# 安装
yum install -y ambari-server
# 配置
ambari-server setup
大都是常规的配置,其中提示输入 JAVA_HOME
和 ambari
元数据库的登录密码,需要输入之前设置的路径和密码
登录ambari数据库,对数据库进行初始化
mysql -uroot -p123456
use ambari
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
show tables;
完成数据库的初始化后,启动
ambari-server start
5、登录Ambari Web页面,配置HDP
用admin/admin登录ambari界面ambari1.soundhearer.com:8086
create a cluster
select a version
confirm host
此处可能会出现类似以下错误
NetUtil.py:96 - EOF occurred in violation of protocol (_ssl.c:579)
NetUtil.py:97 - SSLError: Failed to connect. Please check openssl library versions.
需要修改 ambari-agent 的配置文件
# 文件位置
vim /etc/ambari-agent/conf/ambari-agent.ini
[security]中增加一项
force_https_protocol=PROTOCOL_TLSv1_2
choose services
assign master
assign slaves and clients
customize services
review
Install, Start and Test
Summary
至此安装Ambari和HDP结束。
- 设置 IntelliJ IDEA 主题和字体的方法
- 修改 IntelliJ IDEA 模板注释中的 user 内容
- Android仿京东、天猫商品详情页
- C# checked和unchecked运算符
- 迭代子模式
- WCF系列教程之WCF中的会话
- SortedList<TKey,TValue> 和 SortedDictionary<TKey,TValue>
- Spring Boot入门
- React Native在Android平台运行gif的解决方法
- WCF系列教程之WCF客户端异常处理
- 巧用Using跳过异常捕获
- Android WindowManager详解
- C# 委托进阶
- WCF系列教程之客户端异步调用服务
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【python实现卷积神经网络】卷积层Conv2D反向传播过程
- 【python实现卷积神经网络】全连接层实现
- 来我们聊聊“简单工厂模式”
- 【python实现卷积神经网络】批量归一化层实现
- 【python实现卷积神经网络】池化层实现
- srand()和rand(),生成随机数,留给我自己看
- 【python实现卷积神经网络】padding2D层实现
- mybatis之全局配置文件中的标签
- 【python实现卷积神经网络】Flatten层实现
- Shiro框架学习笔记(二)基于内置ini文件的身份认证
- 【python实现卷积神经网络】上采样层upSampling2D实现
- mybatis映射文件之获取自增的主键
- django实战(二)--带多字段模糊查询的分页(也是不容易)
- 【python实现卷积神经网络】Dropout层实现
- 【python实现卷积神经网络】激活层实现