Centos7.3安装Ambari2.4.2+HDP2.5.3搭建Hadoop集群

前言

本文是以前辈文档做基础,配上了自己(蓝色字体)安装过程的一些理解和解决办法

原文档连接:https://www.yp14.cn/2016/12/09/Centos7-2%E5%AE%89%E8%A3%85Ambari2-4-2-HDP2-5-3%E6%90%AD%E5%BB%BAHadoop%E9%9B%86%E7%BE%A4/

官方搭建文档:https://docs.hortonworks.com/HDPDocuments/Ambari-2.4.2.0/bk_ambari-installation/content/ch_Getting_Ready.html
离线搭建yum源,包下载列表:https://docs.hortonworks.com/HDPDocuments/Ambari-2.4.2.0/bk_ambari-installation/content/hdp_25_repositories.html

适合系统:RedHat 7 CentOS 7 Oracle Linux 7

本机环境:CentOS Linux release 7.3.1611 (Core

一、 环境准备


1、主机
172.19.80.1 SY-001.hadoop(这台安装ambari,作为管理其它节点的主节点)
172.19.80.2 SY-002.hadoop
172.19.80.3 ambari-mysql

2、安装基础环境 (在主机SY-001.hadoop,SY-002.hadoop,SY-003.hadoop部署)
(1)安装基本包
$ yum install openssh wget vim openssh-clients openssl gcc openssh-server mysql-connector-odbc -y
$ systemctl enable sshd && systemctl start sshd
(2)安装mysql jdbc 驱动$ yum install mysql-connector-java -y
(3)安装JDK版本要求: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)
$ mkdir /usr/local/src/Ambari/
$ wget http://download.oracle.com/otn-pub/java/jdk/8u112-b15/jdk-8u112-linux-x64.tar.gz?AuthParam=1480914946_a78f7ba2e70d2f0abed0b0af73c74214
(若下载连接无效,可在百度网盘下载,链接:http://pan.baidu.com/s/1c1Hv8o4 密码:bbgx)
$ mkdir -p /opt/java/ && tar xf jdk-8u112-linux-x64.tar.gz -C /opt/java
$ vim /etc/profile
添加下面内容:
export JAVA_HOME=/opt/java/jdk1.8.0_112
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
$ source /etc/profile
(4)配置SSH免密码登录主节点里root用户登录执行如下步骤
$ ssh-keygen
$ cd ~/.ssh/

$ cat id_rsa.pub >> authorized_keys

$ ssh root@172.19.80.2 cat ~/.ssh/id_rsa.pub>> authorized_keys

$ ssh root@172.19.80.3 cat ~/.ssh/id_rsa.pub>> authorized_keys
$ scp authorized_keys 172.19.80.2:/~/.ssh (把这个文件复制给其它两台)
$ scp authorized_keys 172.19.80.3:/~/.ssh
$ chmod 600 ~/.ssh/authorized_key
(5)开启NTP服务

$ yum -y install ntp

$ systemctl is-enabled ntpd$ systemctl enable ntpd

$ systemctl start ntpd

(6)检查DNS和NSCDambari在安装时需要配置全域名,所以需要检查DNS。为了减轻DNS的负担, 建议在节点里用 Name Service Caching Daemon (NSCD)

$ cat /etc/hosts 172.19.80.1

SY-001.hadoop 172.19.80.2

SY-002.hadoop 172.19.80.3

ambari-mysql 172.19.80.3

(7)每台节点里配置FQDN,如下以主节点为例

$ cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=SY-001.hadoop

(8)关闭防火墙和SELinux

$ systemctl disable firewalld

$ systemctl stop firewalld临时关闭,不用重启机器:

$ setenforce 0

修改配置文件让机器重启也生效:

$ cat /etc/sysconfig/selinux

SELINUX=disabled

二、搭建数据库(在主机ambari-mysql上部署)

Ambari安装会将安装等信息写入数据库,建议使用自己安装的Mysql数据库,也可以不安装而使用默认数据库PostgreSQL

版本要求:
- PostgreSQL 8
- PostgreSQL 9.1.13+,9.3, 9.4***
- MariaDB 10*
- MySQL 5.6
- Oracle 11gr2
- Oracle 12c**

按你系统来选择源:http://downloads.mariadb.org/mariadb/repositories/

Here is your custom MariaDB YUM repository entry for CentOS. Copy and paste it into a file under /etc/yum.repos.d/ (we suggest naming the file MariaDB.repo or something similar).

# MariaDB 10.1 CentOS repository list - created 2016-12-09 06:03 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
After the file is in place, install MariaDB with:

$ sudo yum install MariaDB-server MariaDB-client
If you haven't already accepted the MariaDB GPG key, you will be prompted to do so. See "Installing MariaDB with yum" for detailed information.
-------------------------------数据库登陆解决方法----------------------------------------
备注:如果部署完数据库,root登陆时报如下错误,可以这样解决

[root@Centos7T ~]#mysql -uroot -p

Enter password:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

解决方法:#systemctl stop mariadb#systemctl set-environmentMYSQLD_OPTS="--skip-grant-tables"(跳过密码登陆)# systemctl start mariadb && systemctl status mariadb(启动,查看启动状态)

#mysql -u root

Welcome to the MariaDBmonitor.  Commands end with ; or \g.

Your MariaDB connection id is 14

Server version: 10.2.8-MariaDB MariaDB Server

 

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

 

Type 'help;' or '\h' for help. Type '\c' to clear the currentinput statement.

 

MariaDB [(none)]>

MariaDB [(none)]> USE mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

MariaDB [mysql]> UPDATE user SET password=PASSWORD('NewPassword') WHERE User='root' AND Host = 'localhost';

Query OK, 1 row affected (0.01 sec)

Rows matched: 1  Changed: 1  Warnings: 0

 

MariaDB [mysql]> FLUSHPRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

 

MariaDB [mysql]> exit;

Bye

还没解决完,要取消跳过密码登陆,否则等于没改一样

systemctl stop mariadb

#systemctl unset-environment MYSQLD_OPTS(取消跳过密码登陆)

#systemctl start mariadb && systemctl status mariadb

至此就可以用mysql -u root -p,输入刚设置NewPassword(密码随自己改)的密码登陆了

----------------------------------数据库登陆解决方法-----------------------------------------

安装完成后创建ambari数据库及用户,登录root用户执行下面语句:

create database ambari character set utf8 ;

CREATE USER 'ambari'@'%'IDENTIFIED BY 'Ambari-123';

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

FLUSH PRIVILEGES;

如果要安装Hive,再创建Hive数据库和用户 再执行下面的语句:

create database hive character set utf8 ;

CREATE USER 'hive'@'%'IDENTIFIED BY 'Hive-123';

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

FLUSH PRIVILEGES;

如果要安装Oozie,再创建Oozie数据库和用户 再执行下面的语句:

create database oozie character set utf8 ;

CREATE USER 'oozie'@'%'IDENTIFIED BY 'Oozie-123';

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

FLUSH PRIVILEGES;

三、制作本地源 (在SY-001.hadoop部署)

下载 Ambari HDP HDP-UTILS 源包(文件很大,需要很长下载时间,请耐心等待。。。)
$ cd /usr/local/src/Ambari/
$ wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.4.2.0/ambari-2.4.2.0-centos7.tar.gz
$ wget http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.3.0/HDP-2.5.3.0-centos7-rpm.tar.gz
$ wget http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gz

安装本地源制作相关工具
$ yum install yum-utils createrepo -y

安装httpd服务
$ yum install httpd -y
$ systemctl enable httpd && systemctl start httpd
$ cd /var/www/html/ && mkdir ambari
$ cd /usr/local/src/Ambari/
$ tar xf ambari-2.4.2.0-centos7.tar.gz -C /var/www/html/ambari/
$ tar xf HDP-2.5.3.0-centos7-rpm.tar.gz -C /var/www/html/ambari/
$ tar xf HDP-UTILS-1.1.0.21-centos7.tar.gz -C /var/www/html/ambari/

验证httd网站是否可用,可以使用links 命令或者浏览器直接访问下面的地址:
$ links http://172.19.80.1/ambari/
结果是看到刚才解压的目录

配置ambari、HDP、HDP-UTILS的本地源
首先下载上面资源列表中的相应repo文件,修改其中的URL为本地的地址,相关配置如下:
$ cd /etc/yum.repos.d/
$ cat ambari.repo
#VERSION_NUMBER=2.4.2.0-136
[Updates-ambari-2.4.2.0]
name=ambari-2.4.2.0 - Updates
baseurl=http://172.19.80.1/ambari/AMBARI-2.4.2.0/centos7/2.4.2.0-136
gpgcheck=1
gpgkey=http://172.19.80.1/ambari/AMBARI-2.4.2.0/centos7/2.4.2.0-136/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

$ cat hdp.repo
#VERSION_NUMBER=2.5.3.0
[HDP-2.5.3.0]
name=HDP Version - HDP-2.5.3.0
baseurl=http://172.19.80.1/ambari/HDP/centos7/2.x/updates/2.5.3.0
gpgcheck=1
gpgkey=http://172.19.80.1/ambari/HDP/centos7/2.x/updates/2.5.3.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

[HDP-UTILS-1.1.0.21]
name=HDP Utils Version - HDP-UTILS-1.1.0.21
baseurl=http://172.19.80.1/ambari/HDP-UTILS-1.1.0.21/repos/centos7
gpgcheck=1
gpgkey=http://172.19.80.1/ambari/HDP/centos7/2.x/updates/2.5.0.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

备注:红色标记的路径需要根据自己的实际解压路径来,否则makecache不能成功
$ yum clean all
$ yum makecache
$ yum repolist

四、安装Ambari (在SY-001.hadoop部署)

安装Ambari
$ yum install ambari-server -y

配置Ambari
$ ambari-server setup

下面是配置执行流程,按照提示操作
(1) 提示是否自定义设置。输入:y
Customize user account for ambari-server daemon [y/n] (n)? y

(2)ambari-server 账号。输入:ambari
Enter user account for ambari-server daemon (root):ambari
Adjusting ambari-server permissions and ownership...

(3)设置JDK。输入:3
Checking JDK...
Do you want to change Oracle JDK [y/n] (n)? y
[] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
[] Custom JDK
==============================================================================
Enter choice (1): 3

(4)如果上面选择3自定义JDK,则需要设置JAVA_HOME。输入:/opt/java/jdk1.8.0_112
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: /opt/java/jdk1.8.0_112
Validating JDK on Ambari Server...done.
Completing setup...

(5)数据库配置。选择:y
Configuring database...
Enter advanced database configuration [y/n] (n)? y

(6)选择数据库类型。输入:3
Configuring database...
==============================================================================
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
==============================================================================
Enter choice (3): 3

(7)设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车。
Hostname (localhost):(是ambari-mysql安装了数据库那台的主机名)
Port (3306):
Database name (ambari):
Username (ambari):
Enter Database Password (Ambari-123):

(8)将Ambari数据库脚本导入到数据库
如果使用自己定义的数据库,必须在启动Ambari服务之前导入Ambari的sql脚本

用Ambari用户(上面设置的用户)登录mysql
mysql -u ambari -p
use ambari
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
备注,如果此命令不能执行,就直接将sy-001.hadoop主机的/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql,
这个目录下的文件发送给
ambari-mysql主机没这个目录,就mkdir -p 建立同样的目录
(9)启动Amabri
$ ambari-server start
(10)成功启动后在浏览器输入Ambari地址: http://主机名:8080

五、使用Ambari界面安装Hadoop、Hbase、Log Search服务

1、出现登录界面,默认管理员账户登录, 账户:admin 密码:admin


2、登录成功后出现下面的界面,至此Ambari的安装成功

到这里,ambari就装完了,剩下的配置可以去看原文档(文章开头有地址),也需要根据业务需求再装,就不详细说了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值