玩转Ambari之二:本地yum源建立
安装前文方法建立好ambari本地源后,就可以开始安装并配置ambari服务器了,只有配置好ambari服务器后,才可以通过Amabri的Web页面实现对hadoop集群的自动化部署。服务器规划列表如下:
序号 | 主机FQDN | 主机IP | 用途规划 |
1 | hd00.toxingwang.com | 172.18.8.200 | yum源、nagios服务器、备份NameNode等 |
2 | hd01.toxingwang.com | 172.18.8.201 | NameNode、ResourceManager等主节点 |
3 | hd02.toxingwang.com | 172.18.8.202 | DataNode等从节点 |
4 | hd03.toxingwang.com | 172.18.8.203 | DataNode等从节点 |
5 | hd04.toxingwang.com | 172.18.8.204 | DataNode等从节点 |
Ambari安装配置过程如下:
一、配置repo文件:
可以将其他repo先mv到其他地方,以防止影响ambari安装。
#vim /etc/yum.repos.d/ambari.repo
[CentOS6-Media]
name=CentOS6-Media
baseurl=http://172.18.8.200/centos65
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6[Ambari-1.5.1]
name=Ambari-1.5.1
baseurl=http://172.18.8.200/ambari/centos6/1.x/updates/1.5.1
gpgcheck=0
enabled=1[HDP-2.1.2.0]
name=HDP-2.1.2.0
baseurl=http://172.18.8.200/hdp/HDP/centos6/2.x/updates/2.1.2.0
gpgcheck=0
enabled=1[HDP-UTILS-1.1.0.17]
name=HDP-UTILS-1.1.0.17
baseurl=http://172.18.8.200/hdp/HDP-UTILS-1.1.0.17/repos/centos6
gpgcheck=0
enabled=1
如果服务器能上网,CentOS系统盘的源可以使用系统默认的源。
二、安装MySQL和Ambari-server:
Amabri服务器需要使用数据库存放基本信息,而数据库默认为PostgreSQL,同时也支持MySQL和Oracle,我这里使用MySQL实现。要安装MySQL和ambari-server,直接yum即可:
# yum install mysql-server ambari-server
三、配置MySQL和Ambari:
MySQL的基本配置不多讲,修改root密码后登陆后,建立一个数据库ambari,再建立一个用户,授权具有ambari数据库所有权限即可,如我的测试环境中就直接用root为例:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| ambari |
| test |
+--------------------+
5 rows in set (0.34 sec)mysql> GRANT all ON ambari.* TO root@'localhost' IDENTIFIED BY 'yourPassWord';
mysql> GRANT all ON ambari.* TO root@'%' IDENTIFIED BY 'yourPassWord';
配置好数据库,即可开始配置ambari-server了,如果服务器没有安装jdk,可以直接拷贝jdk的二进制安装文件到/var/lib/ambari-server/resources路径下,拷贝好后效果如下:
[root@hd00 ~]# ll /var/lib/ambari-server/resources/jdk-6u31-linux-x64.bin
-rwxr-xr-x 1 root root 85581913 6月 7 19:28 /var/lib/ambari-server/resources/jdk-6u31-linux-x64.bin
使用下列命令启动ambari-server配置向导:
#ambari-server setup
在选择数据库这里,输入y,即可选择MySQL或Oracle作为ambari的数据库:
按要求填好数据库信息,注意,输错了需要按住Shift再按退格键才能删除。
配置好数据库后,再开一个窗口,下载mysql-connector-java-5.1.17.jar并拷贝到目录/usr/share/java下。然后再按回车键,否则会报错。
完后上述全部过程后,就可以启动了。命令如下:
#ambari-server start
也可以用service命令启动。不过别忘了用chkconfig加入开机启动。
查看启动情况:
[root@yum 1.5.1]# netstat -tnlp |grep java
tcp 0 0 :::8080 :::* LISTEN 2538/java
tcp 0 0 :::8440 :::* LISTEN 2538/java
tcp 0 0 :::8441 :::* LISTEN 2538/java
如果8080端口监听了,表示启动正常。
如果没有正常监听,就查看日志/var/log/ambari-server/ambari-server.log,看看是否有错误,根据提示解决即可。
如我就遇到下面的错误提示:
Caused by: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.0.v20120608-r11652): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: null, message from server: "Host '172.18.8.200' is not allowed to connect to this MySQL server"
根据提示,应该是无法连接到数据库的原因,根据以往的经验,估计使用了用户root@172.8.8.200来进行连接数据库,而这个用户并没有定义,于是执行如下命令为MySQL添加该用户:
mysql> GRANT all ON ambari.* TO root@'172.18.8.200' IDENTIFIED BY 'yourPassWord';
再次启动,发现一切正常,表示真是这个问题。
启动好后,即可通过网页访问ambari了,http://hd00.toxingwangcom:8080/ 默认用户名密码都为:admin
下文我将介绍如何使用Ambari的Web进行hadoop集群的自动化部署了。