Ambari是 Apache Software Foundation 中的一个顶级项目。Ambari可以创建、管理、监控 Hadoop 的集群。包括整个Hadoop生态圈(例如 Hive,Hbase,Sqoop,Zookeeper 等)。无论是初学者像快速部署一套Hadoop环境,还是用于生产的自动化部署,Ambari都可以满足。
你可以在官网http://ambari.apache.org/获取最新的Ambari的内容,目前Ambari还支持流行的 Spark,Storm 等计算框架,Kafka消息队列、以及资源调度平台 YARN 等。
Ambari 自身也是一个分布式架构的软件,主要由两部分组成:Ambari Server 和 Ambari Agent。我们可以通过 Ambari Server 通知 Ambari Agent 安装对应的软件;甚至连Ambari Agent我们都可以在Web界面上来进行安装和部署。
Ambari Agent 会定时地发送各个机器每个项目组件的当前状态给 Ambari Server,并在Web界面上进行展示汇总,方面我们及时掌握集群状态。
基础环境准备
本次实验环境还是使用两台虚拟机来实现,有条件的读者建议使用三台虚拟机来做。首先我们要实现Ambari Server到各个节点之间的SSH无密码登录。
在所有节点都执行ssh-keygen -t rsa 生成Key
[root@linux-node1 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
虽然除了Server端之外其它节点可以不执行,但是ssh-keygen命令会帮我们创建相应的目录并设置权限,不在需要我们手动操作。
将Ambari Server的公钥scp到其它节点上
[root@linux-node1 ~]# scp .ssh/id_rsa.pub 192.168.56.12:/root/.ssh/authorized_keys
设置权限
[root@linux-node2 ~]# chmod 600 ~/.ssh/authorized_keys
测试连接
[root@linux-node1 ~]# ssh 192.168.56.12
Last login: Sat Apr 2 16:42:46 2016 from 192.168.56.1
[root@linux-node2 ~]#
设置完毕无密码登录后,我们就可以开始部署ambari-server了。
安装jdk
由于ambari安装过程中的jdk下载比较缓慢,所以我们可以直接使用yum仓库里面的openjdk
[root@linux-node1 ~]# yum install -y java-1.8.0
部署ambari-server
ambari-server的部署比较简单,很多实用实用默认即是最好的选择。
安装ambari-server
[root@test-node3 ~]# cd /etc/yum.repos.d/
# wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.0.0/ambari.repo
# yum install -y ambari-server
注意:在国内的用户要有心里准备,ambari-server这个包有354M,下载比较慢。
设置ambari-server
安装完毕后,需要使用ambari-server setup命令进行设置,均可以使用默认设置,直接回车即可。
[root@linux-node1 ~]# ambari-server setup
Using python /usr/bin/python2
Setup ambari-server
Checking SELinux...
SELinux status is 'disabled'
Customize user account for ambari-server daemon [y/n](n)?
Adjusting ambari-server permissions and ownership...
Checking firewall status...
Redirecting to /bin/systemctl status iptables.service
Checking JDK...
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
[3] Custom JDK
===========================================================================
Enter choice (1): 3
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/java-1.8.0-openjdk-1.8.0.77-0.b03.el7_2.x86_64/jre/
Validating JDK on Ambari Server...done.
Completing setup...
Configuring database...
Enter advanced database configuration [y/n](n)?
Configuring database...
Default properties detected. Using built-in database.
Configuring ambari database...
Checking PostgreSQL...
Running initdb: This may take upto a minute.
Initializing database ... OK
About to start PostgreSQL
Configuring local database...
Connecting to local database...done.
Configuring PostgreSQL...
Restarting PostgreSQL
Extracting system views...
ambari-admin-2.2.0.0.1310.jar
......
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.
1) 检测SELinux2) 询问是否自定义用户,默认否-(可以安装完毕之后再进行用户管理。)3) 检测iptables选择JDK版本,默认Oracle JDK 1.8。如果你已经安装了jdk,可以选择自定义jdk。如果你是yum安装的openjdk,那么路径位于/usr/lib/jvm/java-1.8.0-openjdk-xxx.x86_64/jre/4) 目录下。5) 询问是否打开高级的数据库配置,默认-否
启动ambari-server
[root@linux-node1 ~]# ambari-server start
查看监听端口
[root@linux-node1 ~]# netstat -ntlp | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 24168/java
访问ambari server
现在可以在浏览器访问你的ambari server了。注意端口是8080。
http://192.168.56.11:8080/
默认的用户名和密码都是admin
创建Hadoop集群
登录 Ambari 之后,点击按钮“Launch Install Wizard”,就可以开始创建属于自己的大数据平台。