本文是在ubuntu14.04上安装ambari。安装 Ambari 最方便的方式就是使用公共的库源(public repository)。在进行具体的安装之前,需要做几个准备工作。
一、准备工作
使用公共的库源安装ambari可以选择系统一路回车选择系统默认的数据库PostgreSQL和默认的jdk。也可以使用自己事先安装好的jdk和数据库。此处我使用的是自己安装的jdk-8u111和mysql5.7.16。
二、系统环境准备
1.配置主节点的域名。
$ sudo vim /etc/hosts
#在hosts文件中看到的内容如下。
127.0.0.1 localhost
127.0.0.1 ubuntu
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
在hosts文件中添加主机信息并把其他的信息全部注释最后hosts文件信息如下:
#127.0.0.1 localhost
#127.0.0.1 ubuntu
# The following lines are desirable for IPv6 capable hosts
#::1 ip6-localhost ip6-loopback
#ff02::1 ip6-allnodes
#ff02::2 ip6-allrouters
#主机信息
192.168.1.127 ubuntu
#添加节点的信息
192.168.1.128 hadoop01
192.168.1.129 hadoop02
注:此处的ubuntu为主节点的机器名,hadoop01,hadoop02分别为从节点的机器名
为什么要将127.0.0.1等信息注释,是应为这行hosts可能导致组件的端口监听绑到了127.0.0.1而不是ip从而导错误。
2.配置ssh免密码登录
Ambari的Server会SSH到Agent的机器,拷贝并执行一些命令。因此我们需要配置 Ambari Server到Agent的SSH无密码登录。(其实此处不配置免密码登录也无所谓,只是以后节点多了登录每个节点都要输入密码十分头疼,所以配置免密码登录)网上配置ssh免密码登录的教程很多此处就不在赘述。
3.查看是否开启transparent_hugepage
$ cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
always代表开启 不存在该文件就是没开启 临时关闭
$ echo never > /sys/kernel/mm/transparent_hugepage/enabled
4.安装ntp
$ sudo apt-get install ntp
$ service ntp start
5.安装MySQL数据库
ambari服务器需要使用数据库存放的基本信息,而默认的数据是PostgreSQL,但也支持其他数据库。此处我使用的MySQL数据库。数据库的安装此处就不赘述了。
mysql数据库安装完成后创建ambari数据库及用户,登录root用户执行以下语句:
create database ambari character set utf8 ;
CREATE USER 'ambari'@'%'IDENTIFIED BY '111111';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
FLUSH PRIVILEGES;
安装mysql jdbc驱动
下载mysql的驱动jar把jdbc驱动放到以下几个目录中
/usr/share/java/
/var/lib/ambari-server/resources
/usr/lib/ambari-server
并确保此驱动的jar包的文件权限为644。
6.关闭防火墙及SELinux
关闭防火墙
# ufw disable
查看SELinux状态
$ sestatus
如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
临时关闭,不用重启机器:
setenforce 0
7.安装jdk
先到官网下载jdk-8u111-Linux-x64.tar.gz.在执行如下命令:
$ tar -zxvf jdk-8u111-Linux-x64.tar.gz -C /usr/lib/jvm/
$ sudo vim ~/.bashrc
$ export JAVA_HOME=/usr/lib/jvm/jdk1.8.0
$ export JRE_HOME=$JAVA_HOME/jre
$ export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
$ export PATH=${JAVA_HOMR}/bin:$PATH
8.安装ambari-server
$ cd /etc/apt/sources.list.d
wget http://public-repo-1.hortonworks.com/ambari/ubuntu14/2.x/updates/2.2.2.0/ambari.list
$ apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD
$ apt-get update
$ apt-get install ambari-server
1’检查SELinux是否关闭,如果关闭不用操作
Using python /usr/bin/python
Setup ambari-server
Checking SELinux...
SELinux status is 'disabled'
2’提示是否自定义设置。输入:y
Customize user account for ambari-server daemon [y/n] (n)? y
3’ambari-server 账号。输入:ambari
Enter user account for ambari-server daemon (root):ambari
Adjusting ambari-server permissions and ownership...
4’设置JDK。输入:3
Checking JDK...
Do you want to change Oracle JDK [y/n] (n)? y
[] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
[] Custom JDK
Enter choice (1): 3
5’如果上面选择3自定义JDK,则需要设置JAVA_HOME。输入:/usr/lib/jvm/jdk1.8.0
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/lib/jvm/jdk1.8.0
Validating JDK on Ambari Server...done.
Completing setup...
6’数据库配置。选择:y
Configuring database...
Enter advanced database configuration [y/n] (n)? y
7’选择数据库类型。输入:3
Configuring database...
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
Enter choice (3): 3
8’设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车。
Hostname (localhost):
Port (3306):
Database name (ambari):
Username (ambari):
Enter Database Password (111111)
9’提示必须安装MySQL JDBC,回车结束ambari配置
WARNING: Before starting Ambari Server, you must copy the MySQL JDBC driver JAR file to /usr/share/java.
Press <enter> to continue.
10’将Ambari数据库脚本导入到数据库
WARNING: Before starting Ambari Server, you must copy the MySQL JDBC driver JAR file to /usr/share/java.
Press <enter> to continue.
11’将Ambari数据库脚本导入到数据库
用Ambari用户(上面设置的用户)登录mysql
mysql -u ambari -p
use ambari
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
12’启动Amabri
执行启动命令,启动Ambari
ambari-server start
成功启动后在浏览器输入Ambari地址:
http://ubuntu:8080/
出现登录界面,默认管理员账户登录, 账户:admin 密码:admin