Ambari跟Hadoop等开源软件一样,也是Apache Software Foundation中的一个项目,并且是顶级项目。目前最新的发布版本是2.7.3。就Ambari的作用来说,就是创建、管理、监视Hadoop的集群,但是这里的Hadoop是广义,指的是Hadoop整个生态圈(例如 Hive,Hbase,Sqoop,Zookeeper等,而并不仅是特指Hadoop。用一句话来说,Ambari就是为了让Hadoop以及相关的大数据软件更容易使用的一个工具。
说到这里,大家就应该明白什么人最需要 Ambari了。那些苦苦花费好几天去安装、调试Hadoop的初学者是最能体会到 Ambari的方便之处的。而且,Ambari现在所支持的平台组件也越来越多,例如流行的Spark,Storm等计算框架,以及资源调度平台YARN等,我们都能轻松地通过Ambari来进行部署。
Ambari自身也是一个分布式架构的软件,主要由两部分组成:Ambari Server 和 Ambari Agent。简单来说:
详细的操作和介绍会在后续章节介绍。
(前言:先使用ios镜像文件创建一个新的虚拟机,建议至少虚拟机配置5G,硬盘50GB,一个空的虚拟机可能会遇到vi编辑器上下左右出现ABCD乱码问题,vmtools工具未安装,虚拟机ip地址重启自动更改等问题,请大家耐心按照关键字自行百度解决)
1.下载相应安装包
所有依赖的安装包及下载地址可从下面的网址获取:
https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.0.0/bk_ambari-installation/content/ambari_repositories.html
https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.0.0/bk_ambari-installation/content/hdp_26_repositories.html
先确保按照目录下有以下文件:(6个)
ambari-2.6.0.0-ubuntu16.tar.gz
ambari.list
HDP-2.6.3.0-ubuntu16-deb.tar.gz
hdp.list
HDP-UTILS-1.1.0.21-ubuntu16.tar.gz
jdk-8u144-linux-x64.tar.gz
2.配置免密登入
先采用 su - 命令切换到 root 账户下。
命令-先安装SSH服务:sudo apt-get install openshh-server
exit # 退出刚才的 ssh localhost
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys # 加入授权
SSH无密码登入验证:通过命令$ssh localhost,输入yes完成首次登入
3.配置单机
(1)设置主机名
以 node0 为例(其他节点注意修改 node0 为对应名称),修改/etc/hostname 内容为:
node0
修改/etc/hosts,将原来localhost注释掉 内容为:
#127.0.0.1 localhost
#127.0.1.1 node0
192.168.137.134 node0.example.com node0
4.配置集群
例如node0.example.com机器:
- $ sudo echo node0 > /etc/hostname
- $ sudo vim /etc/hosts
- #在文件中添加本机的主机信息:
- 192.168.17.200 node0.example.com node0
然后依次为node1-node3修改主机名及域名信息,切记域名信息必须是FQDN格式的,如node0.example.com, node0是主机名,example.com是域名后缀。
注意:需要将在/etc/hosts中将127.0.0.1对应的信息注释或者删除,否则可能引起节点之间通信失败,其原因是这行hosts导致组件的端口监听绑定到了127.0.0.1而不是ip或者0.0.0.0,所以其他节点没法连接到这个节点。为了确保Ambari server可以根据Ambari Agent的域名信息联接,需要将node1-node3的域名信息添加到node0
在node0中执行以下操作:
$ sudo vim /etc/hosts
#在文件中添加如下信息
192.168.17.201 node1.example.com node1
192.168.17.202 node2.example.com node2
192.168.17.203 node3.example.com node3
验证:
$ ping node1.example.com
$ ping node1
注意:修改完后重启使配置生效。
重启后执行下面命令确认是否修改成功。
hostname >>显示 node0
hostname -f >> 显示:node0.example.com
5.关闭防火墙
命令:ufw disable
6.关闭 THP( Transparent HugePages)
执行以下语句,避免安装出现警告。
echo never >/sys/kernel/mm/transparent_hugepage/enabled
echo never >/sys/kernel/mm/transparent_hugepage/defrag
7.安装启动ntp
apt-get install ntp
8.查看是否开启transparent_hugepage
$ cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
always代表开启 不存在该文件就是没开启 临时关闭
$ echo never > /sys/kernel/mm/transparent_hugepage/enabled
当重启系统后,会自动还原为always 以上的准备工作完成后,便可以真正的开始安装 Ambari 了。
9.安装配置JDK(详细步骤可百度)
JDK 解压在用户 Home 目录,并建立软链接。
在每台机器上运行以下命令:
tar zxvf jdk-8u144-linux-x64.tar.gz -C /usr/local/jvm/jdk1.8
vi /etc/profile
配置环境变量,在文件/etc/profile 后面追加下面内容:
export JAVA_HOME=/usr/local/jvm/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
执行 source 语句使环境变量生效。
source /etc/profile
注意:安装jdk最好不只是配置profile文件,bashrc文件一定也要配置好,只有全局变量的jdk环境,在之后Ambari server start的时候才不会显示java什么什么错误提醒
最后验证是否安装成功命令:java-version 出现版本号等信息即为成功。
10.固定虚拟机ip地址
具体可参考以下博客
https://blog.csdn.net/xp_lx1/article/details/90691345
11.安装 python
apt-get install python (注意如果本机已经存在Python就不要再安装,不然后面配置Ambari会有版本冲突。)
(前言:我只创建了一个节点,本小节内的操作只在节点 1(node0)执行,先采用 su - 命令切换到 root 账户下)
1.安装 Apache Http 服务
命令:apt-get install apache2
2.将安装包拷贝到 httpd 网站根目录
在 httpd 网站根目录,默认是即/var/www/html/,创建目录 ambari:
命令:mkdir /var/www/html/ambari
将 ambari-2.6.0.0-ubuntu16.tar.gz 和 HDP-2.6.3.0-ubuntu16-deb.tar.gz 解压到该目录:
命令:cp或者mv命令拷贝到目录下 tar -zxvf解压,或者解压命令直接-C 加上路径
将 HDP-UTILS-1.1.0.21-centos7.tar.gz 解压到/var/www/html/ambari/HDP-UTILS/
命令:先到此路径下创建HDP-UTILS目录 然后将文件mv拷贝过来再解压,或者解压命令直接-C 加上路径都可以。
3.配置 Ambari 本地源
在 node0上 配置 ambari、HDP、HDP-UTILS 的本地源
修改 ambari.list 文件
#VERSION_NUMBER=2.6.0.0-267
deb http://192.168.147.141/ambari/ambari/ubuntu16/2.6.0.0-267 Ambari main
4.利用Ambari管理Hadoop集群。
修改 hdp.list 文件
#VERSION_NUMBER=2.6.3.0-235
deb http://192.168.147.141/ambari/HDP/ubuntu16/2.6.3.0-235 HDP main
deb http://192.168.147.141/ambari/HDP-UTILS HDP-UTILS main
将 ambari.repo 和 hdp.repo 拷贝到/etc/yum.repos.d/目录下
命令:
cp hdp.list /etc/apt/sources.list.d
cp ambari.list /etc/apt/sources.list.d
导入 key:
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD
apt-get update
5.启动和配置Ambari
(1)安装与配置 MariaDB 数据库
安装命令:apt-get install mariadb-server
安装后默认已经启动。
vi /etc/mysql/mariadb.conf.d/50-server.cnf
将 bind-address 这行注释掉
- #bind-address = 127.0.0.1
重启 mariadb
执行:systemctl restart mysql
登录数据库:mysql -uroot (需要获得操作系统管理员权限,才能登录 MariaDB的 root 用户,密码是空)
安装完成后创建 ambari 数据库及用户:
- create database ambari default charset utf8 COLLATE utf8_general_ci ;
- CREATE USER 'ambari'@'%'IDENTIFIED BY '123';
- GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
- FLUSH PRIVILEGES;
(2)安装 mysql jdbc 驱动
命令:apt-get install libmysql-java
(3)安装 Ambari服务
命令:apt-get install ambari-server
(4)配置 Ambari Server:
命令:ambari-server setup
按照括号内的提示按自己的需求输入信息即可
如果此时显示如下图则安装成功:
详细配置参考如下:
https://blog.csdn.net/xfg0218/article/details/78700819
(5)将 Ambari 数据库脚本导入到数据库
- mysql -uambari -p123
- use ambari
- source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
(6)ambari-agent配置设置
- apt-get install ambari-agent
- vim /etc/ambari-agent/conf/ambari-agent.ini
- [security]
- force_https_protocol=PROTOCOL_TLSv1_2
(7)启动 Ambari Server
命令:ambari-server start
(8)访问 Ambari Server 的 Web Console,用游览器输入地址
http://[node1 的 IP]:8080
出现登录界面,默认管理员账户登录, 账户:admin 密码:admin
现在算是大功告成,启动了页面。
**
1.设置集群名称 Get Started :此处随意给出自己的集群名称
2.设置 HDP 安装源,选择对应操作系统。
http://192.168.147.141/ambari/HDP/ubuntu16/2.6.3.0-235
http://192.168.147.141/ambari/HDP-UTILS
3.主机信息确认:私钥文件内容拷贝主机/.ssh/id_rsa文件的内容
利用cat命令查看/.ssh/id_rsa文件内的内容然后复制信息到host registration information信息框内:(安装host第四步的时候可能会提示ambari-agen服务器报错:failed to start ping port listener。解决办法在最后。)
4.选择安装的服务
先只选择HDFS和YARN+MapReduce2 (下一步next之后它会选强制选择部分服务的,不要慌)
5、测试hadoop是否成功:
(1)访问hadoop的hdfs网页,显示如下:
http://192.168.137.134:50070
显示如下:
(2)访问cluster,显示如下:
http://192.168.137.134:8088/cluster
(3)、使用idea的hadoop连接:
配置如下:
连接成功:
主要参考博文:
Ambari详细安装步骤:https://blog.csdn.net/weixin_43456293/article/details/85127432
ambari-server setup过程:https://blog.csdn.net/xfg0218/article/details/78700819
Ambari-agent注册失败:https://blog.csdn.net/Happy_Sunshine_Boy/article/details/99305749
Ambari卸载,重新安装整过程:https://blog.csdn.net/qqqqq2015/article/details/80975520
Apache Ambari Web UI 管理教程:https://docs.microsoft.com/zh-cn/azure/hdinsight/hdinsight-hadoop-manage-ambari
安装Ambari时关于hosts配置异常的解决方法:https://www.wandouip.com/t5i348432/
Ambari安装常见问题:https://www.cnblogs.com/yangcx666/p/8723775.html
在Ubuntu中安装Ambari:https://blog.csdn.net/horacehe16/article/details/83079755
记录一些Ambari 服务端口:https://www.jianshu.com/p/3a95e4fb311a