1.Ambari简介
来自Apache官方文档官网地址:http://ambari.apache.org/
Apache Ambari项目的目的是通过开发软件来配置、监控和管理hadoop集群,以使hadoop的管理更加简单。Ambari提供了一个基于它自身RESTful的api实现的直观的、简单易用的web界面。
Ambari现在支持的组件包括以下几个:
HDFS, MapReduce, Hive, HCatalog, HBase, ZooKeeper, Oozie, Pig, Sqoop
Ambari允许系统管理员进行以下操作:
提供一个hadoop集群
Ambari提供了一个循序渐进的导向来安装hadoop服务到任意数量的主机
Ambari处理集群的hadoop服务配置。
管理一个hadoop集群
Ambari提供了一个中央管理器来管理整个集群的hadoop的服务的开启、停止和重新配置
监控一个hadoop集群
Ambari提供了一个面板实时监控hadoop集群的健康和状态
Ambari通过Ganglia来收集指标
Ambari通过Nagios来进行系统预警,当你需要注意的时候给你发邮件(例如:一个节点宕机了,提醒磁盘空间不足,等等)
Ambari允许程序开发人员和系统集成商:
对他们自己的应用程序通过使用Ambari REST的api 简单的集成hadoop提供、管理和监控的能力
2.安装所需条件
2.1操作系统的需求
- Red Hat Enterprise Linux (RHEL) 版本5.x 或者 6.x (64位)
- CentOS版本5.x 或者 6.x (64位)
- Oracle Linux版本5.x 或者 6.x (64位)
- SUSE Linux Enterprise Server (SLES) 11, SP1 (64位)
2.2软件的需求
在你的每一台主机上都要安装以下软件:
(selinux上自带的python有重大bug,会导致安装失败,请先更新其上的python)
- yum 和 rpm (RHEL/CentOS/Oracle Linux)
- zypper (SLES)
- scp, curl, wget
2.3 JDK的需求
- Oracle JDK 1.7_45 64-bit (默认)
- Oracle JDK 1.6.0_31 64-bit
注意 | |
Ambari 1.5.1已经弃用此版本的JDK |
- OpenJDK 7 64-bit (SLES不支持)
3.安装示例说明
所选操作系统 | 集群设定 | Ambari版本 | Jdk版本 |
Centos6.5 64位 | 192.168.1.33 master192.168.1.34 slave1192.168.1.35 slave2 | 1.5.1 | OracleJDK 1.7_45 64-bit |
注意
此处的主机名不符合完全限定域名(fully qualified domain name,FQDN)的规范,只是为了展示方便。
4.安装前的先决条件
4.1软件条件
安装ambari之前,为了保证ambari各项服务的正常运行,根据操作系统的不同,需要确定一些已经安装的软件的版本,以下列出的软件版本必须符合要求。即:如果现有的系统上有以下软件,版本必须与下面列出的版本完全一致,如果没有的话安装程序会自行安装,就没有问题了。
操作系统Ambari服务 | RHEL/CentOS/Oracle Linux v5 | RHEL/CentOS/Oracle Linux v6 |
Ambari Server |
|
|
Ambari Agent |
|
None |
Nagios Server |
|
|
Ganglia Server |
|
|
Ganglia Monitor |
|
|
4.2系统服务条件
必须运行ntpd(时钟同步)服务
5安装Ambari前的操作系统准备
5.1配置主机名
# vi /etc/sysconfig/network
例如:
NETWORKING=yes
HOSTNAME=master
注意
Ambari配置集群信息的时候是通过全限定主机名来确定集群中的机器信息的,所以必须确保主机名无误
5.2配置集群信息
注意
在每一台机器的hosts文件上都要做配置
# vi /etc/hosts
192.168.1.33 master
192.168.1.34 slave1
192.168.1.35 slave2
5.3配置ssh免密码互通
在master上执行以下命令
# ssh-keygen -t rsa
然后一路回车即可,此操作会在/root生成一个.ssh隐藏文件夹,
文件夹中有两个文件:id_rsa(私钥)和id_rsa.pub(公钥)
检查.ssh文件夹的权限是否为700和文件夹中的文件的权限是否为600
如果不是请执行以下命令
# chmod 700 ~/.ssh
# chmod 600 ~/.ssh/authorized_keys
配置本地的免密码登录
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
执行以下命令以配置其他节点的免密码登录
注意
首先其他机器上/root下有.ssh文件夹
# scp ~/.ssh/authorized_keys slave1:/root/.ssh/
# scp ~/.ssh/authorized_keys slave2:/root/.ssh/
在master上测试连接:
# shh slave1
# shh slave2
成功即可进行下一步,不成功删除.ssh文件夹及其所含文件即可
5.4关闭selinux
查看selinux状态
# /usr/sbin/sestatus –v
临时关闭
# setenforce 0
永久关闭SELinux
# vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
重启生效,重启命令为:
# reboot
5.5可选–关闭iptables防火墙
# chkconfig iptables off service iptables stop
查看防火墙状态
# chkconfig –list|grep iptables
提示:Linux下的其它服务都可以用以上命令执行开启和关闭操作
重启生效,重启命令为:
# rebort
6.在线安装Ambari1.5.1
6.1添加添加Ambari的yum资源库
#wget http://public-repo-1.hortonworks.com/ambari/centos6/1.x/updates/1.5.1/ambari.repo
6.2资源库验证
# yum repolist
如果出现以下类似信息即为安装正确
1. repo id repo name
2. AMBARI-1.x | Ambari 1.x
6.3安装Ambari服务
# yum install ambari-server
注意
由于资源地址在国外,网速不好的情况下时间会很长,也有可能会失败,
若失败多为网速原因,请多次重试
6.4设置Ambari服务之前
设置的时候需要设置jdk,会在线下载。
如果网络环境较好,可以尝试去oracle官网在线下载,否则可以自行下载并拷贝到/var/lib/ambari-server/resources/下即可
到时候Ambari的安装程序会自动进行安装
6.5设置Ambari服务
# ambari-server setup
出现选择选项时按默认处理即可
注意
Ambari默认使用的是postgresql数据库,在init postgresql的时候,可能会报错误信息:(以下只是错误中的一种)
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket “/tmp/.s.PGSQL.5432”?
出现这个错误的时候,要去查看pgsql的操作log信息,pgsql默认安装在
/var/lib/pgsql
这里就有安装的log文件pgstartup.log
通过日志我们就能知道真正的错误信息是什么了,就能对症下药的。
提示:如果日志里说5432端口被占用,使用查看命令
# netstat -apn|grep 5432
并没有看到有程序占用时,可能的原因是某个程序确实使用过5432端口但是又释放了,并没有完全释放,所以提示被占用且你也找不到占用程序在哪,一个笨办法就是重启。
- 本文固定链接: http://www.mamingyu.com/?p=22
- 转载请注明: 小马哥 于 光明宇宙站 发表