***HORTWORKS DATA PLATFORM***
Ambari and hdp Installation
2017.1.14
一. 准备阶段
1.1 确定堆栈兼容性
1.2满足系统最低需求
1.2.1 操作系统需求
The following, 64-bit operating systems are supported:
• Red Hat Enterprise Linux (RHEL) v7.x
• Red Hat Enterprise Linux (RHEL) v6.x
• CentOS v7.x 操作选用系统
• CentOS v6.x
• Debian v7.x
• Oracle Linux v7.x
• Oracle Linux v6.x
• SUSE Linux Enterprise Server (SLES) v12 SP1 (HDP 2.5)
• SUSE Linux Enterprise Server (SLES) v11 SP4 (HDP 2.2 and later)
• SUSE Linux Enterprise Server (SLES) v11 SP3 (HDP 2.2 and later)
• SUSE Linux Enterprise Server (SLES) v11 SP1 (HDP 2.2)
• Ubuntu Precise v12.04
• Ubuntu Trusty v14.04
1.2.2 浏览器支持
Ambari安装向导作为基于浏览器的Web应用程序运行。您必须具有能够运行图形浏览器才能使用此工具的计算机。所需的最低浏览器版本包括:
• Windows (7, 8)
• Internet Explorer 10
• Firefox 18
• Google Chrome 26
• Mac OS X (10.6 or later)
• Firefox 18
• Safari 5
• Google Chrome 26
• Linux (CentOS, Debian, Oracle Linux, RHEL, SLES, Ubuntu)
• Firefox 18
• Google Chrome 26
On any platform, we recommend updating your browser to the latest, stable version.
本人使用Google浏览器
1.2.3 软件需求
On each of your hosts:
• yum and rpm (RHEL/CentOS/Oracle Linux)
• zypper and php_curl (SLES)
• apt (Debian/Ubuntu)
• scp, curl, unzip, tar, and wget
• OpenSSL (v1.01, build 16 or later)
• Python
• For CentOS 6: Python 2.6.*
• For SLES 11, SLES 12: Python 2.6.8 or later
• For CentOS 7, Ubuntu 12, Ubuntu 14, and Debian 7: Python 2.7.*
1.2.4 JDK需求
The following Java runtime environments are supported:
• Oracle JDK 1.8 64-bit (minimum JDK 1.8.0_77) (default)
• Oracle JDK 1.7 64-bit (minimum JDK 1.7_67)
• OpenJDK 8 64-bit (not supported on SLES)
• OpenJDK 7 64-bit (not supported on SLES)
本机使用jdk-8u111-linux-x64.tar.gz 默认安装路径/usr/java
1.2.5 数据库需求
Ambari需要一个关系数据库来存储有关集群配置和拓扑的信息。如果您使用Hive或Oozie安装HDP Stack,它们还需要关系数据库。下表概述了这些数据库要求:
本次数据的存储使用MySQL-5.6.27-1.el6.x86_64.rpm-bundle不使用ambari默认数据库
Centos 默认使用 mariadb数据库
rpm -qa | grep mariadb 卸载相关
如 rpm -e –nodeps mariadb-libs-5.5.35-3.el7.x86_64
默认解压rpm路径 /usr/mysql
安装mysql tar -xvf MySQL-5.6.27-1.el6.x86_64.rpm-bundle.tar
安装server、client、devel文件
1.[root@localhost rpm]# /usr/bin/mysql_install_db
2 [root@localhost rpm]# service mysql start
3 [root@localhost rpm]# cat /root/.mysql_secret #查看root账号密码
4.登录 cat /root/.mysql_secret #查看root账号密码
5.修改密码 SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘root’);
1.2.6 内存需求
The Ambari host should have at least 1 GB RAM, with 500 MB free.
如果计划将Ambari度量服务(AMS)安装到群集中,则应查看“Hortonworks数据平台Apache Ambari用户指南”中的“使用Ambari度量”部分,了解资源要求的准则。通常,计划运行Ambari Metrics Collector主机的主机应根据群集大小具有以下内存和磁盘空间:
1.2.7 包大小和Inode计数要求
1.2.8 检查最大打开文件描述符
建议的最大打开文件描述符数量为10000或更多。要检查为打开的文件描述符的最大数量设置的当前值,请在每个主机上执行以下shell命令:
ulimit -Sn
ulimit -Hn
If the output is not greater than 10000, run the following command to set it to a suitable
default:
ulimit -n 10000
1.3 收集信息
系统中每个主机的完全限定域名(FQDN)。 Ambari安装向导支持使用IP地址。您可以使用主机名-f来检查或验证主机的FQDN。
可以在单个主机上部署所有HDP组件,但仅适用于初始评估目的。通常,您至少设置三台主机;一个主主机和两个从属,作为最小群集。
要在每个主机上设置的组件列表。
•要用作存储安装点的基本目录:
•NameNode数据
•DataNode数据
•辅助NameNode数据
•Oozie数据
•YARN数据
•ZooKeeper数据(如果安装ZooKeeper)
•各种日志,pid和db文件,具体取决于您的安装类型
您必须使用为HDP组件和Hadoop数据提供持久存储位置的基目录。在可能从主机中删除的位置中安装HDP组件可能会导致群集故障或数据丢失。例如:不要在基本目录路径中使用/ tmp。
1.4 准备环境
1.4.1 设置SSH免密码登陆
在Ambari服务器主机上生成公共和私有SSH密钥。
ssh-keygen将SSH公钥(id_rsa.pub)复制到目标主机上的根帐户
.ssh/id_rsa
.ssh/id_rsa.pub- 将SSH公钥添加到目标主机上的authorized_keys文件
cat id_rsa.pub >> authorized_keys - 根据您的SSH版本,您可能需要在目标主机上的.ssh目录(至700)和该目录中的authorized_keys文件(至600)中设置权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys - 从Ambari服务器,请确保您可以使用SSH连接到群集中的每个主机,而无需输入密码
ssh root@
1.4.2. 安装用户权限
每个HDP服务都需要一个服务用户帐户。 Ambari安装向导将创建新的并保留任何现有的服务用户帐户,并在配置Hadoop服务时使用这些帐户。服务用户帐户创建适用于本地操作系统和LDAP / AD帐户上的服务用户帐户。有关为每个HDP服务定制服务用户帐户的详细信息,请参阅为HDP 2.x堆栈定义服务用户和组。
1.4.3. 在群集和浏览器主机上启用NTP
群集中所有节点和运行浏览器(访问Ambari Web界面的计算机)的时钟必须能够彼此同步。
To install the NTP service, run the following command on each host:
RHEL/CentOS/Oracle 6
yum install -y ntp
RHEL/CentOS/Oracle 7
yum install -y ntp
To check that the NTP service will be automatically started upon boot, run the following
command on each host:
RHEL/CentOS/Oracle 6
chkconfig –list ntpd
RHEL/CentOS/Oracle 7
systemctl is-enabled ntpd
To set the NTP service to auto-start on boot, run the following command on each host:
RHEL/CentOS/Oracle 6
chkconfig ntpd on
RHEL/CentOS/Oracle 7
systemctl enable ntpd
To start the NTP service, run the following command on each host:
RHEL/CentOS/Oracle 6
service ntpd start
RHEL/CentOS/Oracle 7
systemctl start ntpd
1.4.4. 检查DNS 和 NSCD
必须为正向和反向DNS配置系统中的所有主机。如果无法以这种方式配置DNS,您应该编辑集群中每个主机上的/ etc / hosts文件,以包含每个主机的IP地址和完全限定域名。提供以下说明作为概述,并涵盖通用Linux主机的基本网络设置。不同版本和风格的Linux可能需要略有不同的命令和过程。请参阅在您的环境中部署的操作系统的文档。 Hadoop严重依赖DNS,因此在正常操作期间执行许多DNS查找。为了减少DNS基础架构的负载,强烈建议在运行Linux的集群节点上使用名称服务缓存守护进程(NSCD)。此守护程序将缓存主机,用户和组查找,并提供更好的分辨率性能,并减少DNS基础架构的负载。
1.4.4.1. 编辑主机文件
- 使用文本编辑器,打开群集中每个主机上的hosts文件。vi /etc/hosts
- 为群集中的每个主机添加一行。该行应包含IP地址和FQDN。例如
1.2.3.4
1.4.4.2. 设置主机名
hostname
1.4.5. 配置 iptables
为了使Ambari在部署和管理的主机的安装过程中进行通信,某些端口必须是开放的并且可用。最简单的方法是暂时禁用iptables
RHEL/CentOS/Oracle Linux 6
chkconfig iptables off
/etc/init.d/iptables stop
RHEL/CentOS/Oracle Linux 7
systemctl disable firewalld
service firewalld stop
1.4.6. 禁止 SELinux 、PackageKit 并检查 umask Value
- You must disable SELinux for the Ambari setup to function. On each host in your cluster,
setenforce 0
永久禁用SELinux在/ etc / selinux / config中设置SELINUX = disabled这可以确保在重新启动机器后SELinux不会自行打开。
2.在安装了PackageKit的运行RHEL / CentOS的安装主机上,使用文本编辑器打开/ etc/yum/pluginconf.d/refresh-packagekit.conf。进行以下更改:enabled = 0 - UMASK(用户掩码或用户文件创建MASK)设置在Linux机器上创建新文件或文件夹时授予的默认权限或基本权限。大多数Linux发行版将022设置为默认umask值。 umask值为022时,新文件或文件夹的读取,写入和执行权限为755。 umask值为027时,新文件或文件夹的读,写和执行权限为750。 Ambari和HDP支持022的umask值(0022是功能等效的),027(0027是功能上等价的)。必须在所有主机上设置这些值
UMASK Examples:
Setting the umask for your current login session:
umask 0022
Checking your current umask:
umask 0022
Permanently changing the umask for all interactive users:
echo umask 0022 >> /etc/profile
1.5. 使用本地仓库
1.5.1 Ambari Repositories
1.5.2 HDP 2.5 Repositories
1.5.3 Getting Started Setting Up a Local Repository
要开始设置本地存储库,请完成以下先决条件:在运行支持的操作系统的集群中选择一个现有服务器或可访问该服务器。启用从群集中所有主机到镜像服务器的网络访问。确保镜像服务器安装了包管理器,例如yum(RHEL / CentOS / Oracle Linux),zypper(SLES)或apt-get(Debian / Ubuntu)。可选:如果您的存储库具有临时Internet访问权限,并且您使用RHEL / CentOS / Oracle Linux作为操作系统,请安装yum实用程序:
yum install yum-utils createrepo
创建HTTP服务器。在镜像服务器上,使用此处提供的说明安装HTTP服务器(如Apache httpd)。激活此Web服务器。确保任何防火墙设置允许从集群节点到镜像服务器的入站HTTP访问。Yum install httpd 安装http Server
On your mirror server, create a directory for your web server.
For example, from a shell window, type:
For RHEL/CentOS/Oracle Linux:
mkdir -p /var/www/html/
For SLES:
mkdir -p /srv/www/htdocs/rpms
For Debian/Ubuntu:
mkdir -p /var/www/html/
If you are using a symlink, enable the followsymlinks on your web server.
本人采用yum install httpd
systemctl start httpd.service
systemctl enable httpd
进入/var/www/html 创建index.html 验证
无internet访问权限将ambari与hadoop相关软件拷贝致/var/www/html 下并解压
输入http://172.19.19.70/HDP-UTILS-1.1.0.21/repos/centos7/ 验证访问
http://172.19.19.70/HDP/centos7/
http://172.19.19.70/AMBARI-2.4.2.0/centos7/2.4.2.0-136/
二、安装Ambari
2.1. 下载Ambari 仓库
1.以root用户身份登录
2. wget -nv http://public-repo1.hortonworks.com/ambari/centos7/2.x/updates/2.4.2.0/ambari.repo -O /etc/yum.repos.d/ambari.repo
3.禁止修改ambari.repo的用户名
4.文件地址 cd/etc/yum.repos.d
5. 检查 repo list. 输入命令yum repolist 显示如下
6.安装 yum install ambari-server
2.2. 安装 Ambari Server
ambari-server setup
Respond to the setup prompt:
1. 如果没有禁用SELinux, 你将会得到警告. 输入y继续.
2. 默认用户为root
3. 果没有禁用iptables, 你将会得到警告. 输入y继续.
4. 选择在线安装JDK或者自己的jdk
如果选择已经存在的mysql数据库
create database ambari character set utf8 ;
CREATE USER ‘ambari’@’%’IDENTIFIED BY ‘ambari’;
GRANT ALL PRIVILEGES ON . TO ‘ambari’@’%’;
FLUSH PRIVILEGES;
use ambari
source/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql 该文件在安装ambari成功后才会有
此处需要注意需要在 /usr/share/java 加入mysql-connect-java
yum install mysql-connector-java
##2.3 Start the Ambari Server
ambari-server start
ambary 默认端口为8080 因为端口可能会产生冲突
vi /etc/ambari-server/conf/ambari.properties
在文件中增加client.api.port=,本机port_number修改为8899。
端口号8899
用户名:admin 密码:admin
登录成功后页面
1.输入集群的名称 如HDP
2.选择HDP的版本 本机采用HDP-2.5
3.前面已将ambari和HDP相关的文件拷贝至 /var/www/html/下 并配置文件路径如下
4.配置hostname 和 ssh的私钥
5. 验证主机
6.
选择相应的服务
7.
选择节点
8.选择主节点和从节点
9.定制服务 如果没有一般的性能优化要求,使用默认
10.检查并部署
11.安装和检测 中间出错的话请自行查找错误 知道出现绿色条目证明测试成功