0
点赞
收藏
分享

微信扫一扫

Ambari2.6.1+HDP2.6.4部署

毅会 2022-02-17 阅读 75

因为集群部署,所以部署时最好是三台服务器,可以减少很多错误,一开始没注意,所以以下为两台服务器(yg1,yg2,yg1部署ambari,使用yg1与yg2进行HDP部署)的部署流程

一、环境准备

1.设置免密登录(以4台服务器为例)

(可参考https://dongkelun.com/2018/04/05/sshConf/)
4台主机分别为yg1,yg2,yg3,yg4,输入hostname可查询本机的域名
1.1.在每台服务器上都输入以下命令,一直按回车默认即可

ssh-keygen -t rsa

在这里插入图片描述
1.2.将公钥导入到认证文件中
在yg1上执行以下命令

cd ~/.ssh
cat id_rsa.pub>>authorized_keys

在这里插入图片描述
此时yg1已经可以免密登录了,使用ssh IP地址 或ssh “你本机的hostname”验证一下
在这里插入图片描述
如果上述验证不成功,可能是文件权限不对,执行下面的命令,再验证一下

chmod 710 authorized_keys

在这里插入图片描述
1.3. 将yg1的authorized_keys传到yg2上的.ssh目录下

scp -r authorized_keys root@yg2:~/.ssh

在这里插入图片描述
此时在yg1上可免密登录yg1与yg2

1.4. 在yg2上输入

cd ~/.ssh
cat id_rsa.pub>>authorized_keys
scp -r authorized_keys root@yg3:~/.ssh

此时在yg1上可免密登录yg1、yg2与yg3,在yg2上可免密登录yg2与yg3

1.5.在yg3上输入

cd ~/.ssh
cat id_rsa.pub>>authorized_keys
scp -r authorized_keys root@yg4:~/.ssh

此时在yg1上可免密登录yg1、yg2、yg3与yg4,在yg2上可免密登录yg2、yg3与yg4,在yg3上可免密登录yg3与yg4

1.6.在yg4上输入

cd ~/.ssh
cat id_rsa.pub>>authorized_keys
scp -r authorized_keys root@yg1:~/.ssh
scp -r authorized_keys root@yg2:~/.ssh
scp -r authorized_keys root@yg3:~/.ssh

此时每台服务器都可免密登录4台服务器

2.编辑主机文件

vim /etc/hosts

红色框可自己设置,黄色框为IP地址与hostname
在这里插入图片描述
yg1的
在这里插入图片描述
yg2的
在这里插入图片描述
其他也服务器也相同设置

3.设置主机名

在yg1上执行以下命令

hostname -f                                    #查看主机
hostname                                       #查看主机名

若发现名称不一致,要求将其改为一致的名称

hostname 主机

在这里插入图片描述

vim /etc/hostname

将yg1改成yg1.ygsoft.com

检查

hostname
hostname -f

两者显示都是yg1.ygsoft.com
(yg2也要以上相同操作,若有第三台机器也要执行)

4.编辑网络配置文件(yg1、yg2、yg3如果有的话)

vim /etc/sysconfig/network

设置

NETWORKING=yes 
HOSTNAME=yg1.ygsoft.com

在这里插入图片描述

5.关闭防火墙(yg1、yg2、yg3如果有的话)

systemctl stop firewalld.service          #关闭防火墙
systemctl disable firewalld.service       #禁止防火墙开机启动
systemctl sstatus firewalld.service       #查看防火墙状态

在这里插入图片描述

6.禁用SELinux(yg1、yg2、yg3如果有的话)

vim /etc/sysconfig/selinux 

将SELINUX改为disabled
在这里插入图片描述

二、制作本地源(以下仅在yg1上操作)

1.安装制作本地源工具(yg1)

yum install yum-utils createrepo

安装依赖
在这里插入图片描述

2.创建一个HTTP服务器(yg1)

yum install httpd -y
systemctl enable httpd && systemctl start httpd

3.为Web服务器创建目录(yg1)

mkdir -p /var/www/html/hdp/HDP-UTILS

4.解压安装包(yg1)
首先将安装包传送到服务器的文件夹中
解压到上面创建的目录中

tar -zxvf ambari-2.6.1.5-centos7.tar.gz -C /var/www/html
tar -zxvf HDP-2.6.4.0-centos7-rpm.tar.gz -C /var/www/html/hdp/
tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp/HDP-UTILS/

浏览器访问:http://IP地址/hdp/HDP/centos6/2.6.4.0-91,如果未成功,
原因:该目录下index.xml使用了https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js
国内访问不了谷歌
解决:将index.xml注释掉即可。

cd /var/www/html/hdp/HDP/centos6/2.6.4.0-91
mv index.xml index.xml.bak

(其他链接也是在对应的文件夹下注释index.xml即可)
此时应该可以在浏览器访问下面的地址了,可以验证一下
http://10.1.58.121/ambari/centos6/2.6.1.0-143/
http://10.1.58.121/hdp/HDP/centos6/2.6.4.0-91/
http://10.1.58.121/hdp/HDP-UTILS

5.配置ambari、HDP、HDP-UTILS的本地源(yg1)

把ambari和hdp的repo文件复制到yum.repos.d

cp /var/www/html/ambari/centos6/2.6.1.0-143/ambari.repo /etc/yum.repos.d/
cp /var/www/html/hdp/HDP/centos6/2.6.4.0-91/hdp.repo /etc/yum.repos.d/

在这里插入图片描述
将每个repo里的baseurl和gpgkey的地址修改为本地的

vim /etc/yum.repos.d/ambari.repo

修改
baseurl=http://yg1.ygsoft.com/ambari/centos6/2.6.1.0-143

gpgkey=http://yg1.ygsoft.com/ambari/centos6/2.6.1.0-143/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

vim /etc/yum.repos.d/hdp.repo

在这里插入图片描述
设置yum命令

yum clean all 
yum list update 
yum makecache 
yum repolist

三、安装ambari(以下仅在yg1上操作)

1.安装ambari-server

yum install ambari-server -y

2.设置数据库

2.1先创建角色
用户ambari,密码ambari
用户hive,密码hive
在这里插入图片描述

2.2再创建数据库
在这里插入图片描述
数据库:ambari,拥有者:ambari
数据库:hive,拥有者:hive

2.3在安装postgresql的服务器上,切换到postgres用户,用psql命令登录PostgreSQL控制台

su postgres
psql

(如果端口不是默认的5432,则命令改为psql -p 端口号)
在这里插入图片描述
2.4进入ambari库

\c ambari

在这里插入图片描述
2.5授权

grant postgres to ambari;       #授权
grant all privileges on database ambari to ambari;
\q                              #退出

2.6重新使用amabri用户进入postgresql

psql -U ambari

在这里插入图片描述
如果能够进入说明以上赋权操作成功

2.7 执行数据库脚本文件
先在ambari数据库下建立ambari模式,然后执行脚本

/var/lib/ambari-server/resources/Ambari-DDL-Postgres-CREATE.sql

在这里插入图片描述

3.设置数据库连接器

ambari-server setup --jdbc-db=postgres --jdbc-driver=/var/postgres/postgres.jar

(driver设置存放jar文件的地址)

4.配置ambari-server
ambari-server setup

[root@yg1 ~]# ambari-server setup
Using python  /usr/bin/python
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...
Checking JDK...
Do you want to change Oracle JDK [y/n] (n)? y
[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: /home/java/jdk1.8.0_121(可用$JAVA_HOME查询本服务器的JDK地址)
Validating JDK on Ambari Server...done.
Checking GPL software agreement...
GPL License for LZO: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)? 
Completing setup...
Configuring database...
Enter advanced database configuration [y/n] (n)? y
Configuring 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 (4): 4
Hostname (yg4): yg4.ygsoft.com(安装postgresql数据库的服务器域名)
Port (15432): (数据库的端口)
Database name (ambari): 
Postgres schema (ambari): 
Username (ambari): 
Enter Database Password (ambari): (数据库用户密码)
Configuring ambari database...
Configuring remote database connection properties...
WARNING: Before starting Ambari Server, you must run the following DDL against the database to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-Postgres-CREATE.sql
Proceed with configuring remote database connection properties [y/n] (y)? 
Extracting system views...
............
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.
[root@yg1 ~]# ambari-server start
Using python  /usr/bin/python
Starting ambari-server
Ambari Server running with administrator privileges.
Organizing resource files at /var/lib/ambari-server/resources...
Ambari database consistency check started...
Server PID at: /var/run/ambari-server/ambari-server.pid
Server out at: /var/log/ambari-server/ambari-server.out
Server log at: /var/log/ambari-server/ambari-server.log
Waiting for server start..............................
Server started listening on 8080


DB configs consistency check found warnings. See /var/log/ambari-server/ambari-server-check-database.log for more details.
Ambari Server 'start' completed successfully.

5.启动ambari
ambari-server start
启动成功可用http://10.1.58.121:8080/登录,用户:admin,密码:admin。
在这里插入图片描述

四、使用ambari安装组件

1.点击Launch Install Wizard

在这里插入图片描述

2.设置名称

在这里插入图片描述

3.选择版本

在这里插入图片描述
4.填入即将安装的服务器的hostname
下面为查询安装ambari的服务器上ssh的私钥的命令

vim ~/.ssh/id_rsa

复制内容到输入框中,包括BEGIN和END
在这里插入图片描述

5.等待安装完成
在这里插入图片描述
在这里插入图片描述
如果3台服务器应该就是安装成功,两台服务器时可能存在的报错
在这里插入图片描述
解决方案
在这里插入图片描述

vi /etc/python/cert-verification.cfg
verify=disable
vi /etc/ambari-agent/conf/ambari-agent.ini
force_https_protocol=PROTOCOL_TLSv1_2
ambari-agent restart

所有的服务器都要进行以上操作

6.选择安装的服务

在这里插入图片描述

点击next,如果遇到如下图提示,直接点击确定
在这里插入图片描述

7. 3台服务器则点击next,两台服务器则需要选择hive client

在这里插入图片描述

8.服务配置

在这里插入图片描述

此处没有报错可点击下一步

如有报错则一一解决,以下为可能存在的报错
在这里插入图片描述
报错合集
① 所有路径不能使用/home,将/home改为/data
在这里插入图片描述
在这里插入图片描述
② /boot/efi/hadoop/hdfs/namenode可能会提示没权限,所以修改为如下/boot/HDP/hadoop/hdfs/namenode(新建此文件夹,并赋予权限)
在这里插入图片描述
/hadoop/hdfs/namenode,/boot/HDP/hadoop/hdfs/namenode,/data/hadoop/hdfs/namenode
③ 还有没有输入密码的要输入密码
④ 数据库
在这里插入图片描述
在这里插入图片描述
完成后点击下一步

9.可能有警告,点击proceed Anyway

在这里插入图片描述
点击deploy
在这里插入图片描述
等待安装
在这里插入图片描述
直到安装成功,点击next
在这里插入图片描述
报错合集
1、snappy版本过高
在这里插入图片描述
删除每台机器上的高版本snappy,安装低版本snappy

rpm -e snappy-1.1.0-3.el7.x86_64 
yum install snappy-1.0.5-1.el6.x86_64 -y
yum -y remove snappy
yum -y install yum-plugin-versionlock
echo 'snappy-1.0.5-1.el6.*' >> /etc/yum/pluginconf.d/versionlock.list

2、[Errno 1] Operation not permitted: ‘/boot/efi/hadoop/hdfs/namenode’
在这里插入图片描述
在这里插入图片描述
4、libtirpc-devel版本不正确,可通过下列网站下载合适的libtirpc-devel进行安装
https://rpmfind.net/linux/rpm2html/search.php?query=libtirpc-devel%28x86-64%29

解决所有的错误,进行下一步,如果包含警告
在这里插入图片描述
点击next
点击complete
在这里插入图片描述
10、如果所有的服务全部启动且没有红色报错提示,则安装完成

报错合集
如果如下图所示,则需要逐个排查错误,日志位置在/var/log/你查找的服务
在这里插入图片描述
① 地址已经被使用
在这里插入图片描述
可查看端口是否被使用,如果被使用,可查看被什么进程占用,能否被kill

netstat  -anp  |grep   端口号
kill -9 端口号

在这里插入图片描述

② 服务器之间的时间必须同步
在这里插入图片描述
RegionServer与Master的时间不一致造成的。由错误内容可以看出两台机器之间最大的误差时间为30000ms,一旦超过这个值便无法启动。

③ Secendary Namenode 拒绝连接
在这里插入图片描述
在这里插入图片描述

④ zookeeper --Refusing session request for client
在这里插入图片描述

zoo.cfg的配置文件夹在/data/installed里面,查找zookeeper_server.pid这个文件,里面保存的是zookeeper的启动id,当服务器重启时zookeeper非正常退出,这个zookeeper_server.pid的值没有被清除,当执行zookeeper启动脚本时发现这个文件的值,就以为zookeeper已经启动。
⑤ 提示数据磁盘文件损坏
备份db文件,修改设定存储数据的路径,重新生成数据
⑥ 提示需要SmartsameID的组件,不需要启动

安装参考链接:
https://blog.csdn.net/dkl12/article/details/80234675
https://dongkelun.com/2018/04/05/sshConf/
https://blog.csdn.net/chengyuqiang/article/details/60955320

举报

相关推荐

0 条评论