【hortonworks集群安装】Ambari2.7.4 HDP-3.1.4 超详细的安装过程

附件文档免费下载 https://download.csdn.net/download/niuchenliang524/13721686

如有写的不清楚的地方请留言

 

1 、大数据版本

目前而言,不收费的Hadoop版本主要有三个国外厂商,分别是:

Apache(最原始的版本,所有发行版均基于这个版本进行改进)。

Hortonworks版本(Hortonworks Data Platform,简称“HDP”)。

Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称CDH)。

对比:

(1)Apache版本建议学习使用,不建议在生产环境使用。

(2)Hortonworks 主打产品是Hortonworks Data Platform (HDP),也同样是100%开源的产品,HDP除了常见的项目外还包含了Ambari,一款开源的安装和管理系统。

(3)Cloudera 最成型的发行版本,拥有最多的部署案例。提供强大的部署、管理和监控工具。其开发并贡献了可实时处理大数据的Impala项目,CDH有免费版和企业版,企业版只有60天试用期。

 

2 、hortonworks简介

需求使用到的分别为Ambari、HDP和HDP-UTILS。

Ambari是一个基于web的工具,用于配置、管理和监视Hadoop集群,支持HDFS、MapReduce、Hive、HCatalog,、HBase、ZooKeeper、Kafka、Oozie、Pig、Sqoop和Spark等服务。Ambari同样还提供了集群状况仪表盘,以友好的用户界面对它们的性能特性进行诊断。

HDP是hortonworks的软件栈,里面包含了hadoop生态系统的所有软件项目。

HDP-UTILS是工具类库。

 

2.X与3.X的主要区别:

1:Java运行环境升级为1.8;

2:HDFS支持纠删码:

纠删码相比于副本机制节省了一半以上的存储空间,普通副本机制需要3倍存储空间而这种机制只需1.4倍即可。

3::YARN时间线服务:

4:支持多余2个以上的NameNodes

3.0支持单active namenode+多standby namenode部署方式进一步提升了可用性。

5:MapReduce本地优化,性能提升了30%。

 

3 、准备工作

3.1 机器节点

准备3台机器,均是centos7系统,分析修改主机名为hdp-01、hdp-02、hdp-03,并修改/etc/hosts文件如下:

10.8.12.50  hdp-01

10.8.12.51  hdp-02

10.8.12.52  hdp-03

 

3.2 下载介质

HDP介质8.9G,在线安装特别慢,所以使用离线安装

http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.4.0/ambari-2.7.4.0-centos7.tar.gz

http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.1.4.0/HDP-3.1.4.0-centos7-rpm.tar.gz

http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz

 

3.3 SSH免密登录

在安装Ambari-server的主机(hdp-01)操作:

1、首先生成密钥对

ssh-keygen   (提示时,直接回车即可)

2、再将自己的公钥拷贝并追加到其他机器的授权列表文件authorized_keys中

ssh-copy-id  hdp-02

ssh-copy-id  hdp-03

 

3.4 关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

 

3.5 重启电脑

reboot

 

3.6 配置jdk

Jdk版本要求1.8及以上,配置过程省略

 

3.7 mysql数据库

准备一个版本5.6之前的mysql数据库,安装过程省略

创建ambari-server需要用到的库表

CREATE DATABASE ambari;  

use ambari;

CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambari';  

GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';  

CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'ambari';  

GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost';  

CREATE USER 'ambari'@'master' IDENTIFIED BY 'ambari';  

GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'master';

FLUSH PRIVILEGES;

 

执行所需要的sql

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

 

创建hive库

CREATE DATABASE hive;  

use hive;  

CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';  

GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';   

CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';  

GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost';  

CREATE USER 'hive'@'master' IDENTIFIED BY 'hive';  

GRANT ALL PRIVILEGES ON *.* TO 'hive'@'master';  

FLUSH PRIVILEGES;

 

3.8 服务器时间同步 (三台)

1、修改时区

rm -rf /etc/localtime

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

 

2、安装并设置开机自启dat

yum install -y ntp

systemctl start ntpd

systemctl enable ntpd

3、配置开机启动校验

 

vim /etc/rc.d/rc.local

/usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w

4、配置定时任务

crontab -e

0 */1 * * * ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w

所有节点均执行以上操作

 

3.9 禁用SELinux (三台)

vi /etc/selinux/config

修改SELINUX=disabled

 

3.10 文件句柄设置(三台)

vi /etc/security/limits.conf

soft nofile 65536

hard nofile 65536

soft nproc 131072

hard nproc 131072

 

3.11修改yum源,实现离现安装

以下操作都是在要安装ambari-server服务的机器(hdp-01)上操作

1、安装httpd服务(hdp-01节点)

[root@hdp-01 ~]# yum -y install httpd

[root@hdp-01 ~]# service httpd restart

Redirecting to /bin/systemctl restart httpd.service

[root@hdp-01 ~]# chkconfig httpd on

Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to usr/lib/systemd/system/httpd.service.

 

2、将下载好的3个包放到/var/www/html目录下

[root@hdp-01 ~]# mkdir -p /var/www/html/hdp  在http服务默认目录下添加目录

[root@hdp-01 ~]# cd /var/www/html/hdp    进入添加的目录

[root@hdp-01 ~]# mkdir -p /var/www/html/hdp/HDP-UTILS-1.1.0.22

[root@hdp-01 hdp]# tar -zxvf ambari-2.7.4.0-centos7.tar.gz    解压

[root@hdp-01 hdp]# tar -zxvf HDP-3.1.4.0-centos7-rpm.tar.gz  解压

[root@hdp-01 hdp]# tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp/HDP-UTILS-1.1.0.22/  解压

[root@hdp-01 hdp]# rm -rf ambari-2.7.4.0-centos7.tar.gz HDP-UTILS-1.1.0.22-centos7.tar.gz HDP-3.1.4.0-centos7-rpm.tar.gz 删除tar包

[root@hdp-01 hdp]# ls    查看

ambari  HDP  HDP-UTILS-1.1.0.22

 

3、访问http://ip/hdp,看是否成功

http://10.8.12.50/hdp

       

4、制作本地yum源

安装本地源制作相关工具

[root@hdp-01 hdp]# yum install yum-utils createrepo yum-plugin-priorities -y

[root@hdp-01 hdp]# createrepo  ./

修改文件里面的源地址

1)设置ambari的yum源

[root@hdp-01 hdp]# vi ambari/centos7/2.7.4.0-118/ambari.repo

baseurl=http://10.8.12.50/hdp/ambari/centos7/2.7.4.0-118

gpgkey=http://10.8.12.50/hdp/ambari/centos7/2.7.4.0-118/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

 

2)把设置好的yum文件,复制到/etc/yum.repos.d/

[root@hdp-01 hdp]# cp ambari/centos7/2.7.4.0-118/ambari.repo /etc/yum.repos.d/

[root@hdp-01 hdp]# scp -r ambari/centos7/2.7.4.0-118/ambari.repo hdp-02:/etc/yum.repos.d/

[root@hdp-01 hdp]# scp -r ambari/centos7/2.7.4.0-118/ambari.repo hdp-03:/etc/yum.repos.d/

 

3)设置HDP的yum源

[root@hdp-01 hdp]# vi HDP/centos7/3.1.4.0-315/hdp.repo

#VERSION_NUMBER=3.1.0.0-78

[HDP-3.1.4.0]

baseurl=http://10.8.12.50/hdp/HDP/centos7/3.1.4.0-315

gpgkey=http://10.8.12.50/hdp/HDP/centos7/3.1.4.0-315/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

 

[HDP-UTILS-1.1.0.22]

baseurl=http://10.8.12.50/hdp/HDP-UTILS-1.1.0.22/HDP-UTILS/centos7/1.1.0.22

gpgkey=http://10.8.12.50/hdp/HDP-UTILS-1.1.0.22/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

 

4)把设置好的yum文件,复制到/etc/yum.repos.d/

[root@hdp-01 hdp]# cp HDP/centos7/3.1.4.0-315/hdp.repo /etc/yum.repos.d/

[root@hdp-01 hdp]# scp -r HDP/centos7/3.1.4.0-315/hdp.repo hdp-02:/etc/yum.repos.d/

[root@hdp-01 hdp]# scp -r HDP/centos7/3.1.4.0-315/hdp.repo hdp-03:/etc/yum.repos.d/

 

5)把设置好的yum重置

[root@hdp-01 ambari]# yum clean all

[root@hdp-01 ambari]# yum makecache

[root@hdp-01 ambari]# yum repolist

 

4 安装ambari-server

首先执行

[root@hdp-01 hdp]# yum -y install ambari-server

检查是否有自带的mariadb,有的话先删除

[root@hdp-01 hdp]# rpm -qa | grep mariadb

mariadb-libs-5.5.44-2.el7.centos.x86_64

[root@hdp-01 hdp3]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

 

建立mysql与ambari-server的连接

网上下载mysql-connector-java-5.1.47.jar放到/usr/share/java目录下并重命名,注意目录必须按照下面规定得否则无法启动

[root@hdp-01 ~]# mkdir -p /usr/share/java

[root@hdp-01 ~]# cp /usr/share/java/mysql-connector-java.jar /var/lib/ambari-server/resources/mysql-jdbc-driver.jar

[root@hdp-01 ~]# vi /etc/ambari-server/conf/ambari.properties

添加   server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar

yum install mysql-connector-java

 

4.1初始化设置ambari-server并启动

下面是配置执行流程,按照提示操作

[root@hdp-01 ~]# ambari-server setup

Using python  /usr/bin/python

Setup ambari-server

Checking SELinux...

SELinux status is 'disabled'

(1) 提示是否自定义设置。输入:y

Customize user account for ambari-server daemon [y/n] (n)? y

(2)ambari-server 账号。

如果直接回车就是默认选择root用户,我们在此输入:ambari

如果输入已经创建的用户就会显示:

Enter user account for ambari-server daemon (root):ambari

Adjusting ambari-server permissions and ownership...

(3)检查防火墙是否关闭

Checking firewall status...

(4)设置JDK。输入:2

Checking JDK...

[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8

[2] Custom JDK

==============================================================================

Enter choice (1): 2

如果上面选择自定义JDK,则需要设置JAVA_HOME。输入:/usr/local/jdk1.8

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: /usr/local/jdk1.8

Validating JDK on Ambari Server...done.

Check JDK version for Ambari Server...

JDK version found: 8

Minimum 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.html

ambari服务下载,输入n

Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)? n

Completing setup...

5)数据库配置。选择:y

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 (1): 3

(7)设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车。如果想重命名,就输入。

Hostname (localhost): 10.8.12.121

Port (3306):

Database name (ambari): ambari

Username (ambari): ambari

Enter Database Password (bigdata): ambari

Re-enter password: ambari

Configuring ambari database...

Should ambari use existing default jdbc /usr/share/java/mysql-connector-java.jar [y/n] (y)? y

Configuring remote database connection properties...

(8)将Ambari数据库脚本导入到数据库

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.sql

Proceed with configuring remote database connection properties [y/n] (y)? y

Extracting system views...

ambari-admin-2.7.4.0.118.jar

....

Ambari repo file contains latest json url http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json, updating stacks repoinfos with it...

Adjusting ambari-server permissions and ownership...

Ambari Server 'setup' completed successfully.

 

启动

[root@hdp-01 ~]# ambari-server start

 

启动日志查看

[root@hdp-01 ~]# tail -f /var/log/ambari-server/ambari-server.log

 

所有节点安装ambari-agent

[root@hdp-01 ~]# yum -y install ambari-agent

[root@hdp-01 ~]# chkconfig --add ambari-agent

 

然后再进入ambari-server管理界面账号密码默认都为admin

http://10.8.12.50:8080    默认帐号:admin     密码:admin

       

 

执行命令 

[root@hdp-01 ~]#ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar

 

5 、安装配置HDP集群

登录进去后的页面,创建一个集群

 

输入集群名字:ipass_bigdata_cluster,点击next

 

选择要安装的hdp版本,并选择本地仓库安装

HDP3.1输入:

http://10.8.12.50/hdp/HDP/centos7/3.1.4.0-315/

HDP-UTILS-1.1.0.22输入: http://10.8.12.50/hdp/HDP-UTILS-1.1.0.22/HDP-UTILS/centos7/1.1.0.22/

以上都是之前配置的httpd上的连接

点击next

 

在target hosts中输入集群节点,就是hosts文件中配置的

hdp-01

hdp-02

hdp-03

在ssh private key选择hdp-01有私钥文件

[root@hdp-01 3.1.4.0-315]# cd ~

[root@hdp-01 ~]# cd .ssh/

[root@hdp-01 .ssh]# ls

authorized_keys  id_rsa  id_rsa.pub  known_hosts

[root@hdp-01 .ssh]#

id_rsa为私钥文件,放到本地

点击继续

 

确认安装ambari的agent

 

选择要安装的组件

 

每个服务所在节点分配

 

进程分配到节点

数据库用户密码填上之前创建好的

 

Hive测试连接

Hive database 选择existing mysql/mariadb

Database url:jdbc:mysql://10.8.12.121/hive?characterEncoding=UTF-8

Database password : hive

 

下一步

 

下一步

 

下一步

 

主界面

注意:安装集群过程中如果出现错误可以执行以下操作

1.清除数据库。

2.执行以下命令

[root@hdp-01 ~]# ambari-server stop

[root@hdp-01 ~]# ambari-server reset

[root@hdp-01 ~]# ambari-server setup

[root@hdp-01 ~]# ambari-server start

3.清除浏览器的缓存。

4.重新运行整个安装向导。

 

6 异常解决

 

问题:重启ambari,感知不到其他节点的心跳。

vim /etc/ambari-agent/conf/ambari-agent.ini

在[security] 新增如下一行

[security] 的节点下,加入:

force_https_protocol=PROTOCOL_TLSv1_2

  重启ambari-agent,# ambari-agent restart

Reboot重启服务器

 

注:

关闭服务时从下往上关,启动时,从上往下启动

各服务默认安装目录:/usr/hdp/3.1.4.0-315

Hdfs会有权限写入问题,解决方法,命令硬解决

eg:sudo -u hdfs hadoop fs -chmod 777 /warehouse

 

sqoop需要替换mysql的jar包:/usr/hdp/3.1.4.0-315/sqoop/lib

在主节点上新建用户:admin,并加入到hdfs组

 

[root@prod-hdp-01 ~]# useradd admin

[root@prod-hdp-01 ~]# passwd admin

Changing password for user admin.

New password:

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:

passwd: all authentication tokens updated successfully.

[root@prod-hdp-01 ~]# usermod -a -G hdfs admin

[root@prod-hdp-01 ~]# usermod -G hdfs,root root

 

 

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值