Centos7安装Ambari2.7.4

Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop和Hcatalog等。

本文记录了博主首次安装Ambari,以及用其安装hadoop、hive、spark等大数据服务的过程,整理成记录,防止忘记。

从2021年1月开始,ambari开始收费了,如果想使用ambari,要么基于源码自己编译
https://ambari.apache.org/
要么给钱下载
https://www.cloudera.com/products/open-source/apache-hadoop/apache-ambari.html
当然,我们也可以在各种网站、网盘找资源 【手动狗头】(如果找不到,评论留邮箱)

1. 下载ambari本地yum源的压缩包

首先准备好三个包,本次安装的是ambari2.7.4

  • ambari-2.7.4.0-centos7.tar.gz
  • HDP-3.1.4.0-centos7-rpm.tar.gz
  • HDP-UTILS-1.1.0.22-centos7.tar.gz

其中HDP-3.1.4.0-centos7-rpm.tar.gz包很大,大概有8,9个G,如果下载到的是分卷包,解压的时候请使用分卷解压命令:

cat HDP-3.1.4.0-centos7-rpm.tar.gz.* | tar -xvf

2. 环境准备

首先我们准备三台主机(或三台虚拟机),让后在上面安装centos7系统,安装java环境、设置固定IP、设置主机名称、设置hosts文件,设置SSH免密登录(有文章说只需设置主节点(ambari server所在)机器对其他机器免密即可)。详细设置过程见另一篇文章 //www.greatytc.com/p/1eba6e506738 的第一章节“服务器准备”。
其他注意事项:

  1. 使用国内的yum源会让软件安装更加快速稳定 https://developer.aliyun.com/mirror/centos
  2. 如果三台机器无法连接外网,那需要设置服务器时间同步ntp
  3. 关闭防火墙
# 关闭防火墙
systemctl stop firewalld.service
# 开机不启动
systemctl disable firewalld.service
  1. 关闭selinux
# 临时关闭(机器重启后会再开)
setenforce 0
# 永久关闭(设置后需重启才能生效)
vi /etc/selinux/config # 然后将 SELINUX=enforcing 改为 SELINUX=disabled
  1. 关闭THP
    本文使用数据库是mysql所以没关,如果用Oracle或MongoDB需要关闭thp,参考: https://www.cnblogs.com/songxingzhu/p/7685395.html

3. 设置ambari本地yum源

本章节需要在主节点上操作(hadoop201),

3.1 安装服务器软件

可使用httpd或者nginx的方式将ambari发布出去,本章节将两个方法都写上,读者基于自己习惯选一个即可。

3.1.1 使用httpd方式;
# 查看是否安装了httpd
whereis httpd
#安装 httpd ,已经安装请忽略
yum -y install httpd
# 查看是否启动httpd
systemctl status httpd
# 启动httpd
systemctl start httpd
# 或 service httpd start

安装完成后,会生成 /var/www/html目录(相当于Tomcat的webapps目录)
将之前下的ambari-2.7.4.0-centos7.tar.gz、HDP-3.1.4.0-centos7-rpm.tar.gz、HDP-UTILS-1.1.0.22-centos7.tar.gz三个包放到 /var/www/html/ 下。

3.1.2 使用nginx方式

安装nginx的方法略...
创建文件夹/home/ambari_repo/(也可以是其他位置,哪个磁盘大放哪儿),将之前下的ambari-2.7.4.0-centos7.tar.gz、HDP-3.1.4.0-centos7-rpm.tar.gz、HDP-UTILS-1.1.0.22-centos7.tar.gz三个包放到 /home/ambari_repo/ 下。
在nginx配置中添加ambari的配置,本次监听了80端口

server {
    listen       80;
    server_name  192.168.1.201;

    location / {
        root /home/ambari_repo/;
        autoindex on;
        autoindex_localtime on;
        autoindex_exact_size off;
    }
}

3.2 制作本地源

进入压缩包所在目录,执行如下命令:

# 解压压缩包
tar -zxvf ambari-2.7.4.0-centos7.tar.gz
tar -zxvf HDP-3.1.4.0-centos7-rpm.tar.gz
tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz
# 安装本地源工具
yum install yum-utils createrepo yum-plugin-priorities -y
# 创建本地源
createrepo  ./

然后在浏览器访问 http://主节点ip, 看看是否能看到如下页面


http://192.168.1.201/

3.3 设置yum本地源

  1. 修改ambari.repo中的地址:
# 注意以自己的实际地址为准
cd /home/ambari_repo/ambari/centos7/2.7.4.0-118/
vi ambari.repo 

修改后的内容如下(主要是将baseurl和gpgkey改为实际值):

#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://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.4.0
baseurl=http://192.168.1.201/ambari/centos7/2.7.4.0-118
gpgcheck=1
#gpgkey=http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.4.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://192.168.1.201/ambari/centos7/2.7.4.0-118/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

将此文件复制到/etc/yum.repos.d

cp ambari.repo  /etc/yum.repos.d/
  1. 修改hdp.repo中的地址
cd /home/ambari_repo/HDP/centos7/3.1.4.0-315/
vi hdp.repo

修改后的内容如下(主要是将baseurl和gpgkey改为实际值):

#VERSION_NUMBER=3.1.4.0-315
[HDP-3.1.4.0]
name=HDP Version - HDP-3.1.4.0
baseurl=http://192.168.1.211/HDP/centos7/3.1.4.0-315
gpgcheck=1
gpgkey=http://192.168.1.211/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.1.211/HDP-UTILS/centos7/1.1.0.22
gpgcheck=1
gpgkey=http://192.168.1.211/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

将此文件复制到/etc/yum.repos.d

cp hdp.repo  /etc/yum.repos.d/

重新加载yum缓存

yum clean all
yum makecache

这样,本地ambari的yum源就安装好了

4. 安装 ambari-server

yum -y install ambari-server

ambari-server默认使用postgresql数据库的安装方式,其他的数据库也支持,这里我用到的是mysql,大家根据自身选一种即可。

4.1 安装Mysql5.7

我用的docker安装的,参考://www.greatytc.com/p/2fce819660fc
用navcat连接mysql,然后新建数据库ambari, 新建数据库hive。
在数据库ambari中执行sql脚本: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

4.2 建立mysql与ambari连接

网上下载mysql-connector-java-5.1.*.jar,上传到主节点的/home/temp/下,本次使用的是mysql-connector-java-5.1.45.jar
然后执行如下命令:

cd /home/temp/
cp mysql-connector-java-5.1.45.jar /usr/share/java/mysql-connector-java.jar
cp /usr/share/java/mysql-connector-java.jar /var/lib/ambari-server/resources/mysql-jdbc-driver.jar
vi /etc/ambari-server/conf/ambari.properties #在文件中添加:server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar

4.3 设置 ambari-server

ambari-server setup

设置内容参考以下

Using python  /usr/bin/python
Setup ambari-server
Checking SELinux...
SELinux status is 'enabled'
SELinux mode is 'enforcing'
Temporarily disabling SELinux
WARNING: SELinux is set to 'permissive' mode and temporarily disabled.
OK to continue [y/n] (y)? y
Customize user account for ambari-server daemon [y/n] (n)? y
Enter user account for ambari-server daemon (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/java/jdk1.8.0_211-amd64
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)? n
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): 
Port (3306): 
Database name (ambari): 
Username (ambari): root
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.3.0.139.jar
....
Ambari repo file doesn't contain latest json url, skipping repoinfos modification
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.

基本上注意y以下三点即可

  • 设置JAVA_HOME
  • 不安装GPL(原因是本地yum库没有gpl)
  • 设置mysql数据库连接信息

然后设置ambari-server的mysql驱动路径

# 设置ambari-server的mysql驱动路径
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar

4.4 启动ambari-server

ambari-server start

然后用浏览器访问 http://192.168.1.201:8080/ 即可,默认帐密为 admin/admin


ambari

4.5.安装ambari-agent

启动ambari-server后,会自动在另外两个节点上安装ambari-agent. 如果没安装,手动安装一下。

# 安装
yum install ambari-agent -y
# 修改配置
vim /etc/ambari-agent/conf/ambari-agent.ini
##修改以下内容, 注hostname=hadoop201是安装ambari-server的主节点服务器名称
[server]
hostname=hadoop201

整个Ambari平台就安装完了。以后要加节点机器,只需要在新的机器上安装ambari-agent即可。

4.6 启动失败错误处理

如果出现错误,请注意查看日志,根据具体的错误内容进行处理,默认ambari-server的日志在/var/log/ambari-server/ambari-server.log里面。
如果在处理日志的过程中或者后面安装的过程中出现一些莫名的错误,可以重置的安装:

# 停止
ambari-server stop
# 重置
ambari-server reset
# 再设置一般
ambari-server setup

5. 安装HDP(hadoop)集群

  1. 访问ambari地址: http://ip:8080/ , 帐密: admin/admin登录后,会看到如下页面,点击按钮。

    image.png

  2. 给集群起个名称


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


    image.png

    image.png

    地址注意改成自己的地址,制作本地源时的地址。
    只保留redhat7的,其他的都删除。在ambari-setup时GPL选项输入的n,所以此处没有HDP-3.1-GPL

4.添加主机名称,上传私钥
将主节点机器上的文件 /root/.ssh/id_rsa 文件下载下来(.ssh是隐藏文件夹,直接cd进去),然后上传上ambari里面。


image.png
  1. 等待安装
    如果出现了错误,可点击Failed的查看错误日志


    image.png
  2. 大数据组件安装,需要哪些勾选哪些




  3. 分配节点组件
    这步需要注意,基于机器的配置进行组件分配,默认安装,会导致主从节点分配负载差异很大。


  4. 分配节点主从


  5. 帐密配置
    hive的数据库用户密码填上之前创建好的



    image.png
  6. 设置大数据相关文件存储路径
    实际生产中,哪个磁盘大放哪里,另外ambari不建议设置到/home文件夹下,所以可以将创建一个根目录文件夹 /hadoop 然后将磁盘挂载上去。




  7. 用户名、存储路径、空间内存限制设置
    全使用默认值即可,直接NEXT



  8. 开始安装




    接下来就是漫长的等待过程了!

  9. 安装成功,操作ambari



这里就涉及ambari的操作说明了,以后有时间在加上...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,123评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,031评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,723评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,357评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,412评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,760评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,904评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,672评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,118评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,456评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,599评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,264评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,857评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,731评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,956评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,286评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,465评论 2 348