一、配置说明
1. 硬件环境
2. 软件环境
二、修改主机名和hosts文件
1. 修改主机名(三台主机分别修改主机名)
2. 修改hosts文件(三台主机的hosts文件均修改为下图所示)
三、关闭防火墙和selinux
1. 防火墙设置
2. 禁用selinux
四、免密登陆
各个主机均执行以下操作,这是实现自身免密操作:
在node1.ambari.com上执行以下命令,使主节点能免密访问其他俩从节点:
备注:要想实现多主机互相免密,可参考文章:Linux多台主机互相免密
扩展:
五、安装JDK
下载链接: https://pan.baidu.com/s/1rlqZejpZZqio9RPzgnGOEg 提取码: j47n ;内有jdk-8u151-linux-x64.tar.gz
和mysql-connector-java.jar
文件。
- mkdir /usr/java;将下载的压缩包上传到java文件夹内
- 解压压缩包:tar zxvf jdk-8u151-linux-x64.tar.gz
- 配置jdk环境变量:
- 使环境变量生效:source /etc/profile
- 安装验证:java -version
六、安装mysql
本文选择在 node1.ambari.com 主节点上安装 MySQL 服务。
以下为 mysql RPM 包的不同版本,大家可根据自己情况选择:
mysql5.7 centos7:(本文选择)
https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
mysql5.7 centos6:
https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm
mysql5.6 centos7:
https://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
mysql5.6 centos6:
https://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
1. 检查本地资源库中是否有mysql的rpm包
2. 搭建mysql5.7的yum源
3. 安装mysql
4. 设置mysql
5. 新增 ambari 用户并增加权限
在本篇文章中,我们选择用 mysql 来存储 ambari 的元数据信息。
我们为 ambari 服务新增自己的用户,用户名就叫 ambari 吧,以下是新增 mysql 用户的操作。
MySQL 中的用户是 用户名 和 host 共同标识。所以在上面命令里,我们算是创建了两个用户,分别是 ambari@localhost、ambari@% 。
用户中的 host 的不同,代表受众群体也不同。比如 localhost 表示只能是本机访问;% 表示所有的 ip 都可以访问 mysql 。
扩展命令:删除用户命令:
6. 使用 ambari 用户登陆并创建数据库
七、设置时钟同步
请参考我写的另一篇文章:《Linux NTP 时钟同步》。
八、搭建本地yum源,在主节点上操作
1. 安装httpd和wget服务
安装了 httpd 服务后,我们就可以通过 http 链接的方式访问某些安装包,前提是将安装包放在 /var/www/html 目录下。
2. 下载ambari和hdp包
官方网站 : https://docs.cloudera.com/HDPDocuments/index.html
从2021年1月31日开始,所有Cloudera软件都需要有效的订阅进行访问。
HDP-3.1.4.0是最后一个可以下载到的开源版本
推荐使用迅雷进行下载(直接复制链接),使用浏览器直接下载会遇到403错误(或需要输入订阅的用户名和密码)
ambari3.1.4+HDP3.1.4 以及最新的 ambari3.1.5+HDP3.1.5 见我的网盘
3. 新建 repo 文件
#新建ambari.repo文件,将文件放入/etc/yum.repos.d/目录下。 [ambari] name=ambari baseurl=http://node1.ambari.com/ambari/centos7/2.7.3.0-139 enabled=1 gpgcheck=0
可能网上有别的文章,还需要设置 hdp 的 repo 文件。其实不需要。在之后部署 hadoop 集群的时候,我们会在 ambari 界面上设置 hdp 安装包的 yum 离线源,ambari 会在各 ambari-agent 节点上自动生成 ambari-hdp-1.repo 文件。
九、在主节点安装ambari-server
1. 安装
2. 将mysql-connector-java.jar拷贝到/usr/share/java目录下
3. 修改配置文件
4. 安装ambari-server
5、将 mysql-connector-java.jar 拷贝到指定目录
将 mysql-connector-java.jar 驱动包拷贝到指定目录,这样的话,在安装 hive 等需要 mysql 数据库的服务的时候,就有 jdbc 连接驱动了,就不会报错了。
6. 初始化数据库
7. 启动ambari-server
登陆浏览器访问: http://192.168.162.41:8080/,利用界面部署集群。
默认登陆账号/密码为:admin/admin。
以上就是安装 ambari 的大体步骤。其实都挺简单的,部署步骤不难,完全可以写成自动化脚本来执行,建议使用 ansible 来部署。
十、通过 ambari 部署 hadoop 集群
主要说一下关键步骤。
1、Select Version
这一步,挺重要。首选,我们要选择安装的 hdp 版本。其次,由于之前我们搭建了本地yum源(已将hdp的rpm包下载到了本地),所以要选择 “Use Local Repository” 。最后选择主机系统,配置 hdp 相关的 yum 源路径。
2、Install Options
在 Target Hosts 里面,填写规划的 ambari-agent 主机列表,填写主机名即可。
在下面的输入框内,填写 ambari-server 所在主机的 ssh 私钥,就是 ~/.ssh/id_rsa 文件的内容,粘贴到下面的输入框内。
3、Choose Services
在这一步,就可以选择 hadoop 相关的一些服务了。
4、Assign Masters
分配 master,就是将你所选服务的 master 角色组件,选择安装在哪台机器上。可以根据cpu、内存、磁盘等指标考虑。
5、Assign Slaves and Clients
在这一步中,可能很多刚入门的朋友还不清楚如何选择。其实和分配 master 的思路一样,就是将哪些组件安装在哪些主机上,这个就看个人规划了。比如:在 worker 节点上安装 datanode、nodeManager、RegionServer 等角色。
6、后续步骤
接下来的步骤,就比较简单了,在这里也就不多赘述了。
作者:create17 学得很好,转载过来以防丢失。
原文地址:https://cloud.tencent.com/developer/article/1781058