首先参考离线安装版教程:

http://www.jianshu.com/p/debf0e6a3f3b

里面说的是针对ubuntu1404版本,但是1604也可以装。


    在迅雷上下载后拷贝至服务器中,按照教程走,起http服务器,建本地源,apt-get install ambari-server。

    这些都很容易,但是在ambari-server setup开始就有一些需要自己手动设置的,当然你一路回车默认他会帮你下载oraclejdk,用postgresql也很简单,但是如果你作死想用自己的mysql和jdk就有点蛋疼了。

1、首先要在数据库中给它建用户ambari和数据库ambari;

CREATE USER  'ambari'@'localhost'  IDENTIFIED BY 'password';

 UPDATE user SET password=PASSWORD("bigdata") WHERE user='ambari';

Grant all on *.* to 'ambari'@'%' identified by "pass";

flush privileges;

create database ambari;



2、然后按setup中的提示来,选择jdk路径(其实如果你嫌它命令行下jdk慢,也可以手动复制它地址在迅雷中下好在拷贝过来)和mysql,选完mysql后他会要装java-odbc

apt-get install libmysql-java

然后他会要你执行/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

登进数据库source下即可,但是会有key过长的报错,“ERROR 1071 (42000) at line 434 in file: '/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql': Specified key was too long; max key length is 767 bytes”

不知道有没有问题。。

更新:果然在启动ambari之后报表没找到失败了。。

解决:

因为我用的版本字符是utf-8(3byte一个字符)的编码,mysql也是用的这个,但是ambari是国外的。。默认是gbk2312(2byte一个字符)或者是latin1(1byte一个字符),然后会vchar设置的会很大,在不改他的sql脚本情况下,把自己的数据改成latin1就好了。


3、setup执行success之后,就可以ambari-server start,可惜还是有报错,

报错:ambari com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

link failure如果没有问题的话就是要把mysql的配置文件my.cnf中的地址打开127.0.0.1改成0.0.0.0,重启解决。

又遇到新的原因,是hosts里面的主机名没有改好,改正之后就可以了。。


4、然后我还遇到了ambari access deny的报错,在数据库中把ambari密码改了一下,这次start终于成功。。。


5、现在就可以进入web页面开始安装配置节点组建。

0824更新:

在最后一步开始部署组建的时候他会检查你当前的os版本,这是个巨大的坑,我用的办法是

vim /usr/lib/ambari-agent/lib/ambari_commons/os_check.py

在return distribution之前添加这句

distribution = ('Ubuntu', '14.04', 'trusty')

然后就可以一路畅通了。。。