欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Ambari-2.7.4和HDP-3.1.4安装

时间:2023-05-05
文章目录

1、环境及软件准备2、准备工作

2.1 关闭防火墙2.2 配置域名映射2.3 配置免密2.4 时间同步

2.4.1 时间服务器配置(root用户)2.4.2 其他服务器配置(root用户) 2.5 安装JDK(所有节点)2.6 安装MySQL2.7 关闭SELinux 3、安装ambari

3.1 配置ambari和hdp的yum源

3.1.1 安装http3.1.2 开始配置ambari和hdp源 3.2 配置和安装ambari-server

3.2.1 安装ambari-server3.2.2 配置数据库3.2.3 将jdbc驱动包放到指定目录3.2.4 配置ambari-server3.2.5 启动ambari 3.3 安装、配置ambari-agent节点

3.3.1 安装ambari-agent(所有节点)3.3.2 配置(所有作为ambari-agent的节点都进行修改)3.3.3 启动ambari-agent 4、部署HPD

4.1 登录ambari,默认用户名和密码都是`admin`4.2 集群配置 1、环境及软件准备

Ambari-2.7.4和HDP-3.1.4下载 ,提取码:3rwq
环境:CentOS7(我这里使用的是CentOS7.9版本)、三台虚拟机,单节点内存13GB、存储80GB

软件:mysql5.7+、jdk8、ambari-2.7.4.0-centos7.tar.gz、HDP-3.1.4.0-centos7-rpm.tar.gz、HDP-UTILS-1.1.0.22-centos7.tar.gz

2、准备工作 2.1 关闭防火墙

systemctl status firewalld # 通过此命令查看防火墙状态systemctl stop firewalld # 关闭防火墙systemctl disable firewalld # 关闭防火墙开机自启

2.2 配置域名映射

确定好三台服务器的名称为hdp1、hdp2、hdp3,通过etc下的hosts文件配置域名映射

vi /etc/hosts #通过修改此文件来配置域名映射,文件内容如下127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.80.xxx hdp1 #域名映射192.168.80.xxx hdp2 #域名映射192.168.80.xxx hdp3 #域名映射

三台虚拟的域名映射要相同,配置完一台虚拟机的域名映射后,可通过scp命令将hosts文件发送到其他虚拟机

scp /etc/hosts hdp2:/etc/scp /etc/hosts hdp3:/etc/

2.3 配置免密

三台虚拟机之间要进行免密配置

生成本机公钥

ssh-keygen -t rsa #一直按Enter即可,直到生成公钥,如下所示[root@hdp1 ~]# ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):Created directory '/root/.ssh'.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.The key fingerprint is:SHA256:ACrASg2gjSQ5bVXfCwR6HHeAW2KLmGlTgUqU+qFCo0c root@hdp2The key's randomart image is:+---[RSA 2048]----+|B*+o+o+o+.、 ||BB+o.++=.o ||O+o=.o+=o 、 ||++E ..o、、、 ||o=.o S 、 ||+ o ||.、 || || |+----[SHA256]-----+

将本公钥发送给其他虚拟机

# 公钥也要发给自己ssh-copy-id -i hdp1 ssh-copy-id -i hdp2ssh-copy-id -i hdp3# 执行过程如下所示[root@hdp1 ~]# ssh-copy-id hdp1/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"The authenticity of host 'hdp1 (192.168.80.xxx)' can't be established.ECDSA key fingerprint is SHA256:MHGsmoui6MpLb2qKf6QtKhP2KUIfiyFfzWEVpt8RVqE.ECDSA key fingerprint is MD5:30:aa:42:5a:2c:dc:67:21:65:aa:6d:xx:xx:xx:xx:xx.Are you sure you want to continue connecting (yes/no)? yes/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keysroot@hdp1's password:Number of key(s) added: 1Now try logging into the machine, with: "ssh 'hdp1'"and check to make sure that only the key(s) you wanted were added.

其他虚拟机执行相同步骤

2.4 时间同步

选一台服务器作时间服务器,这里以hdp1作为时间服务器,其他服务器以时间服务器时间为准

2.4.1 时间服务器配置(root用户)

安装ntp服务

yum install -y ntp

修改ntp配置文件

修改/etc/ntp.conf文件

vi /etc/ntp.conf

2.1 授权192.168.1.0-192.168.1.255网段上的所有机器可以从这台机器上查询和同步时间

修改#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap为restrict 192.168.80.0 mask 255.255.255.0 nomodify notrap #我这里使用的网段为80,具体网段根据服务器的ip而定

2.2 集群在局域网和非局域网时间配置

集群在局域网中,不使用其他互联网上的时间

修改server 0.centos.pool.ntp.org iburstserver 1.centos.pool.ntp.org iburstserver 2.centos.pool.ntp.org iburstserver 3.centos.pool.ntp.org iburst为#server 0.centos.pool.ntp.org iburst#server 1.centos.pool.ntp.org iburst#server 2.centos.pool.ntp.org iburst#server 3.centos.pool.ntp.org iburst

集群使用互联网时间,这里使用阿里云时间服务器的时间

# 将原来的注释掉#server 0.centos.pool.ntp.org iburst#server 1.centos.pool.ntp.org iburst#server 2.centos.pool.ntp.org iburst#server 3.centos.pool.ntp.org iburst# 添加如下server ntp1.aliyun.com iburstserver ntp2.aliyun.com iburstserver ntp3.aliyun.com iburstserver ntp4.aliyun.com iburstserver ntp5.aliyun.com iburstserver ntp6.aliyun.com iburstserver ntp7.aliyun.com iburst

2.3 当该节点丢失网络连接,依然可以采用本地时间作为时间服务器为集群中的其他节点提供时间同步

server 127.127.1.0fudge 127.127.1.0 stratum 10

启动ntp服务并设置开机自启

systemctl start ntpd # 启动ntpd服务systemctl enable ntpd # 配置ntpd服务开机自启

2.4.2 其他服务器配置(root用户)

非时间服务器都安装ntpdate服务

yum install -y ntpdate

同步时间

ntpdate hdp1

定时同步时间

通过crontab编写定时任务

crontab -e# 添加如下内容29,59 * * * * /usr/sbin/ntpdate hdp1 # 每小时的第29分和59分同步一次时间

5分钟后通过date命令查看时间是否已经同步

2.5 安装JDK(所有节点)

将已经准备好的jdk上传至服务器,然后解压

tar -zxf jdk-8u231-linux-x64.tar.gz -C /opt/jdk8

解压后配置jdk的环境变量

vi /etc/profile# 添加如下内容,具体的jdk路径根据自己的实际路径填export JAVA_HOME=/opt/apps/jdk1.8export PATH=$PATH:$JAVA_HOME/bin

2.6 安装MySQL

数据库使用mysql作为元数据存储的数据库,具体安装步骤见

2.7 关闭SELinux

安装ambari-server的时候是需要关闭SELinux的,我们这里先提前将其关闭

# 临时性关闭(立即生效,但是重启服务器后失效)setenforce 0 #设置selinux为permissive模式(即关闭)setenforce 1 #设置selinux为enforcing模式(即开启)# 永久性关闭(这样需要重启服务器后生效)sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

3、安装ambari 3.1 配置ambari和hdp的yum源 3.1.1 安装http

这里以hdp1作为ambari的yum源存储位置

# 安装httpdyum install -y httpd# 启动httpsystemctl start httpd# 将httpd加入到开机自启systemctl enable httpd

3.1.2 开始配置ambari和hdp源

上传安装包并解压

将ambari-2.7.4.0-centos7.tar.gz、HDP-3.1.4.0-centos7-rpm.tar.gz、HDP-UTILS-1.1.0.22-centos7.tar.gz上传至hdp1服务器后解压

# 先在/var/www/html目录下创建ambari、hdp、hdp-utils文件夹mkdir /var/www/html/ambarimkdir /var/www/html/hdpmkdir /var/www/html/hdp-utilstar -zxf /opt/ambari-2.7.4.0-centos7.tar.gz -C /var/www/html/ambari # 这里的-C是指定解压目录tar -zxf /opt/HDP-3.1.4.0-centos7-rpm.tar.gz -C /var/www/html/hdptar -zxf /opt/HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp-utils/

配置yum源

因为通过yum源的在线安装速度太慢,所以我们要将已经下载好的离线安装包配置到yum源里

# 配置ambari源vi /etc/yum.repos.d/ambari.repo#内容如下[ambari]name=ambaribaseurl=http://192.168.80.xxx/ambari/ambari/centos7/2.7.4.0-118gpgcheck=0# 配置hdp和hdp-utils源vi /etc/yum.repos.d/hdp.repo# 内容如下[HDP]name=HDPbaseurl=http://192.168.80.xxx/hdp/HDP/centos7/3.1.4.0-315gpgcheck=0[HDP-UTILS]name=HDP_UTILSbaseurl=http://192.168.80.xxx/hdp-utils/HDP-UTILS/centos7/1.1.0.22/gpgcheck=0# yum创建缓存yum clean allyum makecache# 通过yum repolist命令验证即可yum repolist

配置好yum源后将ambari.repo和hdp.repo文件发送到其他节点的/etc/yum.repos.d/目录下

3.2 配置和安装ambari-server 3.2.1 安装ambari-server

yum install -y ambari-server

3.2.2 配置数据库

# 登录已经安装好的mysqlmysql -uroot -ppasswordmysql> CREATE USER 'ambari'@'%' IDENTIFIED BY 'password'; -- 创建ambari用户Query OK, 0 rows affected (0.00 sec)mysql> create database ambari;Query OK, 1 row affected (0.00 sec) -- 创建ambari数据库mysql> grant all on ambari.* to ambari@'%' identified by 'password';Query OK, 0 rows affected, 1 warning (0.00 sec) -- 授权mysql> grant all on ambari.* to ambari@localhost identified by 'password';Query OK, 0 rows affected, 1 warning (0.00 sec) -- 授权mysql> use ambari; -- 使用已经创建好的ambari数据库Database changedmysql> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql -- 使用ambari-server提供的sql脚本创建相关表

3.2.3 将jdbc驱动包放到指定目录

# 创建目录mkdir -p /usr/share/java# 将mysql的jdbc驱动放到此目录下mv /root/mysql-connector-java-5.1.44.jar /usr/share/java/

3.2.4 配置ambari-server

# 执行ambari-server setup,如下[root@hdp1 ~]# ambari-server setupUsing python /usr/bin/pythonSetup ambari-serverChecking SELinux...SELinux status is 'disabled'Customize user account for ambari-server daemon [y/n] (n)? yEnter user account for ambari-server daemon (root):Adjusting ambari-server permissions and ownership...Checking firewall status...Checking JDK...[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8[2] Custom JDK==============================================================================Enter choice (1): 2WARNING: 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: /opt/apps/jdk1.8Validating JDK on Ambari Server...done.Check JDK version for Ambari Server...JDK version found: 8Minimum JDK version is 8 for Ambari、Skipping to setup different JDK for Ambari Server.Checking GPL software agreement...GPL License for LZO: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.htmlEnable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)?Completing setup...Configuring database...Enter advanced database configuration [y/n] (n)? yConfiguring database...==============================================================================Choose one of the following options:[1] - PostgreSQL (Embedded)[2] - Oracle[3] - MySQL / MariaDB[4] - PostgreSQL[5] - Microsoft SQL Server (Tech Preview)[6] - SQL Anywhere[7] - BDB==============================================================================Enter choice (1): 3Hostname (localhost): hdp1Port (3306):Database name (ambari):Username (ambari):Enter Database Password (bigdata):Re-enter password:Configuring ambari database...Enter full path to custom jdbc driver: /usr/share/java/mysql-connector-java-5.1.44.jarConfiguring remote database connection properties...WARNING: Before starting Ambari Server, you must run the following DDL directly from the database shell to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sqlProceed with configuring remote database connection properties [y/n] (y)?Extracting system views...ambari-admin-2.7.4.0.118.jar....Ambari repo file doesn't contain latest json url, skipping repoinfos modificationAdjusting ambari-server permissions and ownership...Ambari Server 'setup' completed successfully.

3.2.5 启动ambari

ambari-server start

启动后可通过http://:ip:8080进行访问

3.3 安装、配置ambari-agent节点 3.3.1 安装ambari-agent(所有节点)

yum install -y ambari-agent

3.3.2 配置(所有作为ambari-agent的节点都进行修改)

vi /etc/ambari-agent/conf/ambari-agent.ini# 将hostname=localhost修改为hdp1[server]hostname=hdp1

3.3.3 启动ambari-agent

ambari-agent start

4、部署HPD 4.1 登录ambari,默认用户名和密码都是admin 4.2 集群配置 点击ClusterInformation --> LAUNCH INSTALL WIZARD
输入集群名称–>NEXT
选择HDP的版本,这里使用的是3.1版本
选择操作系统(因为欸使用的CentOS7,所以选择redhat7)并且指定HDP和HDP-UTILS的rpm的URL
输入节点主机名列表
等待服务器注册,然后点击NEXT
选择要安装的大数据组件
选择每个节点具体安装的组件

设置服务对应的密码
配置大数据组件参数,这个根据需求配置即可,如果不了解大数据组件的相关配置可以先使用默认,后续可通过查证资料进行更改配置

配置完成后点击安装即可
安装完成

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。