搭建ambari集群

Ambari集群部署手册

(ambari离线安装)

 

 

 

一、名词介绍:

Ambari 集群管理工具

HDP 集群软件存储库

Mysql 元数据库

JDK 开发工具包

https://blog.csdn.net/microhhh/article/details/81239738

二、应用包以及服务器准备:

1. 服务器准备:

1.1主机名(ip在前,name在后)

(1)修改hostname:

hostnamectl set-hostname ambari

(2)vi  /etc/hosts

192.168.3.212 192-168-3-212.baicheng.com

192.168.3.133   192-168-3-133.baicheng.com(创建ambari用户,密码ambari)

192.168.3.134   192-168-3-134.baicheng.com

192.168.3.135   192-168-3-135.baicheng.com

192.168.3.136   192-168-3-136.baicheng.com

192.168.3.137   192-168-3-137.baicheng.com

192.168.3.138   192-168-3-138.baicheng.com

192.168.3.139   192-168-3-139.baicheng.com

1.2配置FQDN

ambari节点为例

vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=ambari

1.3防火墙

临时关闭所有节点防火墙

systemctl disable firewalld

systemctl stop firewalld

1.4 SELinux

临时关闭所有SELinux

setenforce 0

永久关闭:

修改配置文件需要重启机器:

vi /etc/sysconfig/selinux

SELINUX=disabled

查看SELinux状态:

sestatus

1.5免密

其中ambari对其他6台服务器以及本服务器(ambari)进行免密登录

主节点里root用户登录执行如下步骤

ssh-keygen

cd ~/.ssh/

cat id_rsa.pub >>authorized_keys

chmod  777 ~/.ssh

chmod  777 ~/.ssh/authorized_keys

先在从节点登录root执行命令

mkdir ~/.ssh/

分发主节点里配置好的authorized_keys到各从节点

scp /root/.ssh/authorized_keys [email protected]:/root/.ssh/authorized_keys

ssh-keygen -t rsa

ssh-copy-id 192.168.200.128

1.6时间同步

1.7修改镜像文件编码格式

修改文件 vi  /etc/locale.conf 

将LANG="zh_CN.UTF-8"

修改为

LANG="en_US.UTF-8"

重启

1.8 开启NTP服务(每次启动ambari之前确保ntp服务已开启)

所有集群上节点都需要操作

Centos 7 命令

yum  install ntp

systemctl is-enabled ntpd

systemctl enable ntpd

systemctl start ntpd

查看状态

systemctl status ntpd

安装步骤如下:

1,执行命令如下:yum -y install ntp

2,安装完成过后执行:vi /etc/ntp.conf

注释掉所有server *.*.*的指向,新添加一条可连接的ntp服务器(百度一下ntp服务器,我选的是上海交大的)

server ntp1.aliyun.com iburst

启动时间同步服务service ntpd start

执行命令 ntpdate -u ntp1.aliyun.com

重启时间同步服务 service ntpd restart

通过ntpstat查看 当前时间同步状态

synchronised to NTP server (120.25.115.19) at stratum 3

   time correct to within 1043 ms

注意:

建议硬盘50G以上

192.168.80.144   ambari01   (部署Ambari-server和Mirror server)(分配1G,我这里只是体验过程,当然你可以分配更多或更小) 

  192.168.80.145   ambari02  (部署Agent)

  192.168.80.146   ambari03  (部署Agent)(分配1G,我这里只是体验过程,当然你可以分配更多或更小)

192.168.80.147   ambari04 (部署Agent)

配置ip:

vi  /etc/sysconfig/network-scripts/ifcfg-eth0

2.应用包准备:

jdk-8u151-linux-x64.tar.gz(推荐1.7+)

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html  

mysql-5.6.33-linux-glibc2.5-x86_64.tar(推荐5.6+)

https://www.mysql.com/downloads/

Python2.6/2.7(centos自带)

HDP-UTILS-1.1.0.21-centos7.tar.gz(可作为迅雷下载链接)

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

HDP-2.6.3.0-centos7-rpm.tar.gz(可作为迅雷下载链接)

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

ambari-2.6.0.0-centos7.tar.gz(可作为迅雷下载链接)

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

hdp.repo

http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/HDP.repo

ambari.repo

http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.0.0/ambari.repo

三、部署安装:

1.   jdk安装

本地上传jdk-8u151-linux-x64.tar.gz到/usr/local/目录下

cd /usr/local

解压该文件

tar -zxvf jdk-8u151-linux-x64.tar.gz

删除jdk-8u151-linux-x64.tar.gz压缩包

rm -rf jdk-8u151-linux-x64.tar.gz

配置jdk环境变量

vi /etc/profile

在文件底部追加

export JAVA_HOME=/usr/local/jdk1.8.0_151

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

发送到其他主机

scp -r /etc/profile root@namenode:/etc/profile

scp -r jdk1.8.0_151 root@datanode:`pwd`

环境变量生效(所有主机)

source /etc/profile

测试,命令行直接键入java,出现以下情况及完成jdk安装

2.   制作本地源(ambari节点上进行即可)

2.1安装Apache HTTP服务器

2.1.1安装HTTP服务器

允许http服务通过防火墙(永久)

yum install httpd -y

firewall-cmd --add-service=http

firewall-cmd --permanent --add-service=http

2.1.2 Apache服务自动启动

添加Apache服务到系统层随系统自动启动

systemctl start httpd.service

systemctl enable httpd.service

2.2安装本地源制作工具

yum install yum-utils createrepo -y

2.3安装httpd网站

2.3.1创建目录ambari

在httpd网站根目录(/var/www/html)下创建目录ambari

cd /var/www/html/

mkdir ambari

cd /var/www/html/ambari

mkdir HDP-UTILS

2.3.2上传文件

上传HDP-UTILS-1.1.0.21-centos7.tar.gz,HDP-2.6.3.0-centos7-rpm.tar.gz,ambari-2.6.0.0-centos7.tar.gz到cd /var/www/html/ambari/目录下

2.3.3解压

1、在/var/www/html/ambari/目录下解压

tar -zxvf ambari-2.6.0.0-centos7.tar.gz

tar -zxvf HDP-2.6.3.0-centos7-rpm.tar.gz

mv HDP-UTILS-1.1.0.21-centos7.tar.gz /var/www/html/ambari/HDP-UTILS/

cd /var/www/html/ambari/HDP-UTILS/

tar -zxvf HDP-UTILS-1.1.0.21-centos7.tar.gz

mv HDP-UTILS-1.1.0.21-centos7.tar.gz /var/www/html/ambari/

2.3.4查看httpd网站

使用links命令(yum install -y links)或者浏览器访问

links命令:

links http://192.168.3.133/ambari/

浏览器:

2.4配置本地源

将ambari.repo,hdp.repo上传到/etc/yum.repos.d/目录下

2.4.1配置ambari.repo

(url地址为解压文件中的路径)

修改baseurl为:

baseurl=http://192.168.3.133/ambari/ambari/centos7/2.6.0.0-267

修改gpgkey为:

gpgkey=http://192.168.3.133/ambari/ambari/centos7/2.6.0.0-267/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

文件内容如下:

#VERSION_NUMBER=2.6.0.0

[ambari-2.6.0.0]

name=ambari Version - ambari-2.6.0.0

baseurl=http://192.168.200.10/ambari/ambari/centos7/2.6.0.0-267

gpgcheck=0

gpgkey=http://192.168.200.10/ambari/ambari/centos7/2.6.0.0-267/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

2.4.2配置hdp.repo

修改HDP-2.6.3.0下baseurl为:

baseurl=http://192.168.3.133/ambari/HDP/centos7/2.6.3.0-235

修改HDP-2.6.3.0下gpgkey为:

gpgkey=http://192.168.3.133/ambari/HDP/centos7/2.6.3.0-235/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

修改HDP-UTILS-1.1.0.21下baseurl为:(注意,若版本号不一致,需要更改为当前版本号)

baseurl=http://192.168.3.133/ambari/HDP-UTILS/

修改HDP-UTILS-1.1.0.21下gpgkey为:

gpgkey=http://192.168.3.133/ambari/HDP-UTILS/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

文件内容如下:

#VERSION_NUMBER=2.6.3.0-235

[HDP-2.6.3.0]

name=HDP Version - HDP-2.6.3.0

baseurl=http://192.168.200.10/ambari/HDP/centos7/2.6.3.0-235

gpgcheck=0

gpgkey=http://192.168.200.10/ambari/HDP/centos7/2.6.3.0-235/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

[HDP-UTILS-1.1.0.21]

name=HDP-UTILS-1.1.0.21

baseurl=http://192.168.200.10/ambari/HDP-UTILS/

gpgcheck=0

gpgkey=http://192.168.200.10/ambari/HDP-UTILS/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

2.4.3移动文件

(如果上传位置不在上述地址,需要将配置完成后的ambari.repo以及hdp.repo文件移动到/etc/yum.repos.d/下)

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

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

依次执行以下命令:

yum clean all

yum list update

yum makecache

yum repolist

2.5安装Mysql数据库

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

安装完成后,使用root用户登录执行以下命令:

3.5 安装Mysql数据库

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

  Mysql数据库安装过程如下:

  3.5.1. 下载mysql的repo源(CentOS 7.2的yum源中默认没有mysql,要先下载mysql的repo源)

 wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

  3.5.2. 安装mysql57-community-release-el7-8.noarch.rpm包

rpm -ivh mysql57-community-release-el7-8.noarch.rpm  --nodeps --force

  安装这个包后,会获得两个mysql的yum repo源:

/etc/yum.repos.d/mysql-community.repo

3/etc/yum.repos.d/mysql-community-source.repo

yum -y remove mariadb-libs

  3.5.3.安装mysql

 yum install mysql-server

  3.5.4. 启动mysql服务

  查看MySQL服务是否已启动:

 service mysqld status

  启动服务:

systemctl start mysqld

  3.5.5. 重置root密码

  MySQL5.7会在安装后为root用户生成一个随机密码,而不是像以往版本的空密码。 可以安全模式修改root登录密码或者用随机密码登录修改密码。下面用随机密码方式

MySQL为root用户生成的随机密码通过mysqld.log文件可以查找到:

grep 'temporary password' /var/log/mysqld.log

  修改root用户密码:(MySQL的密码策略比较复杂,过于简单的密码会被拒绝)

mysql -u root -p

set global validate_password_policy=0;

set global validate_password_length=4;

set PASSWORD=PASSWORD('123456');

mysql> Enter password: (输入刚才查询到的随机密码)

mysql> update mysql.user set authentication_string=password('1234') where user='root'

mysql> exit

用root新密码登录:

1mysql -u root -p 1234

2.5.1创建ambari数据库

创建ambari数据库以及ambariuser数据库用户并授权

create database ambari character set utf8 ; 

CREATE USER 'ambariuser'@'%'IDENTIFIED BY '123456';

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

FLUSH PRIVILEGES;

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

FLUSH PRIVILEGES;

2.5.2创建hive数据库

创建hive数据库以及hiveuser数据库用户并授权

create database hive character set utf8 ; 

CREATE USER 'hiveuser'@'%'IDENTIFIED BY '123456';

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

FLUSH PRIVILEGES;

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

FLUSH PRIVILEGES;

如果需要安装其他服务如Oozie,则创建相应的数据库及用户

2.5.3安装mysql jdbc驱动

yum install mysql-connector-java -y

3.   安装Ambari

3.1安装Ambari2.6.0.0

3.1.1安装ambari服务

yum install -y ambari-server

3.1.2执行安装

ambari-server setup

  1. 检查SELinux是否关闭,如果关闭不用操作

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

3.      输入ambari-server账号,输入:ambari(ambari主机上创建的用户)

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

  1. 选择JDK,输入:3

Checking JDK...

[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

  1. 键入JDK PATH,输入:/usr/local/jdk1.8.0_151

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.0_151

Validating JDK on Ambari Server...done.

  1. 数据库配置,输入:y

Configuring database...

Enter advanced database configuration [y/n] (n)? y

  1. 选择数据库,输入:3

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

  1. 数据库具体配置信息,如果和默认相同直接回车(下面的IP代表数据库所在的节点)

Hostname (localhost): 192.168.3.212

Port (3306):

Database name (ambari):

Username (ambari): ambariuser

Enter Database Password (bigdata): 123456

Re-enter password: 123456

Configuring ambari database...

  1. 启动Ambari服务前,需要将Ambari的sql脚本导入数据库

用Ambari用户(上面设置的用户,无密码)登录mysql

mysql -u ambari -p

use ambari

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

  1. 启动Ambari

ambari-server start

4.   集群配置

4.1登录          

浏览器访问http://192.168.3.133:8080/ 用户名:admin 密码:admin

4.2添加集群         

4.2.1集群配置

点击Launch Install Wizard按钮进行集群配置

4.2.2设置集群名称

4.2.3设置HDP安装源

选择HDP2.6.3.0,使用Use Local Repository,选择redhat7,Base URL内容填写与HDP.repo中的URL地址一致

4.2.4设置集群节点

Target Hosts中填入需要加入集群的主机名

点击“浏览”按钮,上传id_rsa文件(该文件需要从192.168.3.133节点中/root/.ssh/目录中获取)

4.2.5主机确认

K可能遇到的问题;

查看 openssl 版本:

 

    [root@ambari ~]# openssl version

    OpenSSL 1.0.2k-fips  26 Jan 2017

 

    [root@ambari ~]# rpm -qa | grep openssl

    openssl-libs-1.0.2k-12.el7.x86_64

    openssl-1.0.2k-12.el7.x86_64

 

 

如果低于 openssl-1.0.1e-16.el6.x86_64 版本,则需要更新到 openssl-1.0.1e-16.el6.x86_64 及以上版本

 

查看 Python 版本:

    [root@ambari ~]# python -V

    Python 2.7.5

如果低于 Python 2.7 版本,则升级 Python 2.7 及以上版本。

编辑 /etc/python/cert-verification.cfg 配置文件,将 [https] 节的 verify 项设为禁用:

    [root@ambari ~]# vi /etc/python/cert-verification.cfg

    # Possible values are:

    # 'enable' to ensure HTTPS certificate verification is enabled by default

    # 'disable' to ensure HTTPS certificate verification is disabled by default

    # 'platform_default' to delegate the decision to the redistributor providing this particular Python version

    # For more info refer to https://www.python.org/dev/peps/pep-0493/

    [https]

    verify=disable

保存退出。

编辑 /etc/ambari-agent/conf/ambari-agent.ini 配置文件,在 [security] 节部分,确保设置如下两个值,其它值保持不变:

    [root@ambari ~]# vi /etc/ambari-agent/conf/ambari-agent.ini

    [security]

    ssl_verify_cert=0

    force_https_protocol=PROTOCOL_TLSv1_2

保存退出,重启 ambari-agent

    [root@ambari ~]# ambari-agent restart

重新执行确认主机步骤(Confirm Hosts),即可通过确认主机并完成注册。

 

 

禁用selinux

查看当前SELinux状态

/usr/sbin/sestatus

在当前终端禁用SELinux

setenforce 0

永久禁用SELinux

vim /etc/selinux/config

#确认SELINUX为禁用状态

 

      SELINUX=disabled

   重启计算机

      sudo reboot

2禁用PackageKit

 

通常在centosredhat中为开启

vim /etc/yum/pluginconf.d/refresh-packagekit.conf

 #确认packagekit为禁用状态

enabled=0

检查UMASK

检查系统UMASK

umask

设置当前UMASK

umask 0022

永久生效

echo umask 0022 >> /etc/profile

八、安装Ambari-agent

在线安装只需要运行如下命令便可

yum install ambari-agent

4.2.6选择需要安装的服务

4.2.7配置Slaves和Clients节点

(日志与数据信息统一保存在/Data/work/local目录下)

4.2.8用户服务配置

4.2.9配置信息确认

4.2.10安装

4.2.11完成

5.   参考文档

http://blog.csdn.net/daiyutage/article/details/52210830

http://www.cnblogs.com/boyzgw/p/6525313.html

猜你喜欢

转载自www.cnblogs.com/yuansai/p/10175027.html