ambari2.7.3离线安装

部署Ambari2.7.3+HDP3.1.0+CentOS7

一、准备工作

1.1 Ambari版本介绍

  Ambari2.7.3支持HDP-3.1.0、HDP-3.0.1、HDP-3.0.0,本次安装我们选择HDP-3.1.0版本。

(注:Ambari各个版本对产品的支持可在Ambari版本支持界面查看)

Ambari版本支持

1.2 搭建环境准备

1.2.1 软件版本

组件 版本
操作系统 CentOS7
Ambari 2.7.3
HDP 3.1.0.0
MySQL 5.7
OracleJDK8 JDK1.8.0_144

1.2.2 软件下载

1.2.3 节点规划

Hostname IP 功能 内存 磁盘
node1 192.168.121.101 本地源+Ambari Server 4G 80G
node2 192.168.121.102 节点 4G 80G
node3 192.168.121.103 节点 4G 80G

二、搭建虚拟机

2.1 搭建node1虚拟机

  • 打开VMwear选择新建虚拟机
  • 选择自定义安装
  • 操作系统选择Linux,版本为CentOS7 64位


    CentOS7 64位
  • 设置虚拟机的名称为node1
  • 虚拟机内存设置为4G
  • 网络连接类型选择为(NAT)
  • 指定磁盘容量为80G
  • 完成创建


    虚拟机

    -在虚拟机设置中选择ISO镜像文件


    镜像
  • 开启虚拟机,安装操作系统,选择第一项,直接安装CentOS7
  • 设置时区为上海


    时区
  • 点击SOFTWARE SELECTION选择需要安装的软件,这里我们选择Minimal Install-Development Tools


    安装软件
  • 选择安装位置


    安装位置
  • 点击Begin Installation开始安装
  • 在等待安装的过程中设置root密码为root123


    root密码
  • 等待安装完毕,点击Reboot重启,登录


    登录

2.2 配置node1

2.2.1 配置IP

  • 在VM菜单栏中点击“编辑-虚拟网络编辑器-更改设置”,选择NAT设置查询网关IP为192.168.121.2


    IP设置
  • 在node1中打开文件
    vi /etc/sysconfig/network-scripts/ifcfg-ens33
    修改文件内容
#修改BOOTPROTO和ONBOOT
#修改BOOTPROTO
BOOTPROTO=static
IPADDR=192.168.121.101
NETMASK=225.225.225.0
GATEWAY=192.168.121.2
DNS1=114.114.114.114
DNS2=8.8.8.8
#修改ONBOOT
ONBOOT=yes
修改文件
  • 修改完毕后重启网络
    service network start
    重启网络
  • 查看网络属性
    ifconfig
    若提示命令不存在,使用以下语句进行安装
    yum -y install net-tools
    安装net-tools
  • 使用ping命令测试网络状况
    ping www.baidu.com
    使用ping命令测试网络状况

2.2.2 关闭防火墙

  • 查看防火墙的状态
    systemctl status firewalld.service
    防火墙状态
  • 关闭防火墙,并再次查询状态
    systemctl stop firewalld.service
    systemctl status firewalld.service
    关闭防火墙
  • 关闭防火墙的开机启动,并查看是否设置成功
    systemctl disable firewalld.service
    systemctl is-enabled firewalld.service
    关闭开机启动防火墙

    若结果为disabled则表明设置成功

2.2.3 设置Hostname

  • 打开hosts文件
    vi /etc/hosts
    在文件结尾增加
192.168.121.101 node1 node1
192.168.121.102 node2 node2
192.168.121.103 node3 node3
设置hosts
  • 打开sysconfig/network文件
    vi /etc/sysconfig/network
    修改HOSTNAME属性
    HOSTNAME=node1
    修改hostname
  • 修改hostname
    hostnamectl set-hostname node1
    并使用hostname命令查看是否修改成功
    修改hostname

2.2.4 设置阿里开源镜像本地源

#进行备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#下载新的CentOS-Base.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#生成缓存
yum makecache
ali源设置

2.2.5 安装时间同步服务

  • 安装ntp
    yum install -y ntp
    安装ntp
  • 启动ntp并查看ntp状态
    systemctl start ntpd.service
    systemctl status ntpd.service
    启动ntp

    如若结果显示为 active (running) 则表明启动成功
    -设置开机启动
    systemctl enable ntpd.service

2.2.6 安装、配置JDK8

  • 创建/usr/java目录
    mkdir /usr/java
    创建java目录
  • 使用xftp将先前下载好的jdk压缩包传输到java目录中


    jdk压缩包传输
  • 解压缩
    tar -zxvf jdk-8u144-linux-x64.tar.gz
    解压
  • 返回至根目录配置环境变量
cd ~
vi /etc/profile

在文件结尾添加JAVA路径

#JAVA
export JAVA_HOME=usr/java/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
配置java环境
  • 使环境变量生效
    source /etc/profile
    使用java -version命令查询java版本,若显示出java的版本信息 (1.8.0_144) 则表明配置成功
    配置成功

2.2.7 关闭Selinux和THP以降低系统CPU的使用率

  • 查看selinux的状态
    sestatus
    selinux状态
  • 关闭selinux
    vi /etc/sysconfig/selinux
    修改文件中的SELINUX属性
    SELINUX=disabled
  • 查询THP状态
cat /sys/kernel/mm/transparent_hugepage/defrag
cat /sys/kernel/mm/transparent_hugepage/enabled

若结果为 [always] 则表示启动了THP

THP状态

  • 永久关闭THP
    vi /etc/rc.d/rc.local
    在文件末尾添加
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
        echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
        echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

关闭thp

并赋予rc.local文件执行权限
chmod +x /etc/rc.d/rc.local

  • 重启reboot后查看THP状态
cat /sys/kernel/mm/transparent_hugepage/defrag
cat /sys/kernel/mm/transparent_hugepage/enabled

若结果显示为 [never] 则表明关闭成功

关闭成功

2.2.8 最大打开文件设置

  • 设置最大文件描述符数,一般要求为10000及以上。
    -检查最大文件描述符数的当前值
    ulimit -Sn
    ulimit -Hn
    如若输出小于10000,则将其设置为10000
    ulimit -n 10000
    设置最大描述符数

2.3 克隆虚拟机

2.3.1 修改镜像

关闭虚拟机node1,并在虚拟机设置中将镜像改为使用物理驱动器。


修改镜像

2.3.2 克隆node1

  • 在VM菜单栏中点击“虚拟机-管理-克隆”
  • 选择克隆自虚拟中的当前状态
  • 选择创建完整克隆
  • 设置虚拟机的名称(node2)与位置
  • 克隆完成
  • 按照相同步骤克隆node3

2.3.2 修改node2、node3的虚拟机mac地址

  • 在虚拟机设置中选择“网络适配器-高级”,在mac地址中点击 “生成” 以生成随机地址。
    mac地址

2.3.3 修改node2、node3的IP地址

  • 启动node2、node3
    vi etc/sysconfig/network-scripts/ifcfg-ens33
#修改IPADDR属性值
IPADDR=192.168.121.102 #node3为192.168.121.103

-重启network
service networks start
并使用ifconfig命令查看IP是否正确修改

ip修改

2.3.4 修改虚拟机node2、node3的hostname

  • 修改虚拟机的hostname
    hostnamectl set-hostname node2(/node3)
    并使用hostname命令查看当前hostname
    修改hostname

    若输出为node2(/node3) 则表明修改成功

三、安装数据库及搭建本地源

3.1 在node1上安装数据库

  • 安装MySQL
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
安装mysql
  • 启动MySQL
    systemctl start mysqld.service
    并使用systemctl status mysqld.service查看MySQL状态
    查看mysql状态

    若结果显示为active (running) 则表明启动成功
  • 设置MySQL开机自启
systemctl enable mysqld.service
  • 获取MySQL root用户的初始密码
    grep 'password' /var/log/mysqld.log
    获取mysql root用户密码
  • 登录MySQL并修改密码为 'root123'

(注:MySQL默认需修改初始密码后才能对数据库进行操作)

mysql -u root -p

mysql>  set global validate_password_policy=0;
mysql>  set global validate_password_length=1;
mysql>  ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';
修改初始密码
  • 卸载Yum Repository,以避免每次yum操作都进行自动更新
    yum -y remove mysql57-community-release-el7-10.noarch
  • 配置MySQL编码格式为utf8
    vi /etc/my.cnf
#在[mysqld]中添加
collation_server=utf8_general_ci
character_set_server=utf8
default-storage-engine=INNODB
#创建[client]并添加
[client]
default_character-set=utf8
配置MySQL编码格式为utf8
  • 重启MySQL
    systemctl restart mysqld.service
  • 登录MySQL并查看字符集
    mysql> show variables like ‘character_set_%’;
    查看字符集

3.2 在MySQL数据库中创建相应的用户和数据库

  • 创建ambari数据库
    用户名: ambari
    密码: ambari123
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
mysql> create database ambari character set utf8;
mysql> CREATE USER 'ambari'@'%'IDENTIFIED BY 'ambari123';
mysql> GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'%';
mysql> FLUSH PRIVILEGES;
创建ambari数据库
  • 创建hive数据库
    用户名: hive
    密码: hive123
mysql> create database hive character set utf8;
mysql> CREATE USER 'hive'@'%'IDENTIFIED BY 'hive123';
mysql> GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'%';
mysql> FLUSH PRIVILEGES;
创建hive数据库
  • 查看已经创建的数据库
    mysql> databases;
    输出中若含有ambarihive则表明创建成功
    -下载mysql-connection-java

(注:稍后会使用,没有该包则MySQL与ambari无法连接!)

yum install mysql-connector-java

  • 查看是否下载成功
    cd /usr/share/java
    ls
    查看是否下载成功

    若目录中含有mysql-connector-java,则表明已成功下载

3.3 设置免密登录

  • 在实机中配置本地hosts文件

路径为C://Windows/System32/drivers/default_character
需要管理者权限才能修改,建议使用Notepad++进行修改

在文件末尾添加

192.168.121.101 node1
192.168.121.102 node2
192.168.121.103 node3
修改hosts文件
  • 设置node1对node1、node2、node3的免密登录
[root@node1 ~]# ssh-keygen -t rsa #回车即可
[root@node1 ~]# ssh-copy-id node1
[root@node1 ~]# ssh-copy-id node2
[root@node1 ~]# ssh-copy-id node3
  • 同理设置node2对node2、node3的免密登录


    免密登录

3.4 在node1上安装Ambari源

3.4.1 安装yum的相关工具

yum install yum-utils -y
yum repolist
yum install createrepo -y

3.4.2 安装Apache httpd

  • 使用yum安装httpd
    yum install httpd -y
    使用yum安装httpd
  • 在生成的 /var/www/html 目录下创建ambari和hdp目录
    mkdir /var/www/html/ambari
    mkdir /var/www/html/hdp
    mkdir /var/www/html/hdp/HDP-UTILS-1.1.0.22
  • 使用xftp将先前下载好的ambari、hdp的安装文件传输到node1根目录下


    传输
  • 将安装文件解压至相应目录中
tar -zxvf ambari-2.7.3.0-centos7.tar.gz -C /var/www/html/ambari/
tar -zxvf HDP-3.1.0.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-1.1.0.22/
  • 启动httpd服务并设置开机自启
systemctl start httpd
systemctl status httpd
systemctl enable httpd

启动httpd服务

若结果为active (running) 则表明启动成功

  • 在浏览器中输入 http://192.168.121.101 即可看到httpd页面

3.5 配置本地Repo并分发

  • 配置ambari
    下载并修改配置文件
    wget -O /etc/yum.repos.d/ambari.repo http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.3.0/ambari.repo
    vi /etc/yum.repos.d/ambari.repo
    将baseurl与gpgkey修改为httpd中的路径
    修改ambari
  • 配置HDP和HDP-UTILS
    创建配置文件
    touch /etc/yum.repos.d/HDP.repo
    添加内容
#VERSION_NUMBER=3.1.0.0-78
[HDP-3.1.0.0]
name=HDP Version - HDP-3.1.0.0
baseurl=http://192.168.121.101/hdp/HDP/centos7
gpgcheck=1
gpgkey=http://192.168.121.101/hdp/HDP/centos7/3.1.0.0-78/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

[HDP-UTILS-1.1.0.22]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.22
baseurl=http://192.168.121.101/hdp/HDP-UTILS-1.1.0.22
gpgcheck=1
gpgkey=http://192.168.121.101/hdp/HDP-UTILS-1.1.0.22/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
配置HDP
  • 分发ambari.repo和HDP.repo到各个节点的相同目录下
scp ambari.repo HDP.repo node1:$PWD
scp ambari.repo HDP.repo node2:$PWD
scp ambari.repo HDP.repo node3:$PWD
分发repo

3.6 生成本地源

  • 创建本地源,为存放本地特定位置的众多RPM包建立索引,描述各包所需依赖信息,形成元数据。
createrepo /var/www/html/hdp/HDP/centos7/
createrepo /var/www/html/hdp/HDP-UTILS-1.1.0.22/
生成本地源

四、安装ambari

4.1 在node1安装ambari-server

yum install ambari-sever

注:
1.选择JDK时选(2)自定义jdk,并填写jdk安装路径/usr/java/jdk1.8.0_144
2.Enter advanced databse configration[y/n]?时选择y,进入到数据库选择界面,在Enter choice后选择3,配置hostname为node1,使用默认端口,Database name为ambari,密码为ambari123

安装ambari-server

4.2 使用root登录MySQL

mysql -u root -p

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
mysql> GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'localhost' IDENTIFIED BY 'Ambari123';
mysql> GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'%' IDENTIFIED BY 'Ambari123';
mysql> FLUSH PRIVILEGES;
使用root登录

4.3 使用ambar登录并查看数据库

mysql -u ambari -p -h node1
mysql>  show databases;
databases

使用ambari数据库,查看数据表

mysql>  use ambari;
mysql>  /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
mysql>  show tables;
tables

4.4 启动ambari-sever

ambari-server start

启动ambari-server

注:若启动失败需 先关闭服务ambari-server stop再重新启动

4.5 安装ambari-agent

  • 在node2、node3上安装ambari-agent
    yum -y -install ambari-agent
    安装ambari-agent

五、访问Ambari web页面进行集群的安装

5.1 访问ambari web页面

  • 在浏览器中输入http://192.168.121.101:8080 访问ambari页面
    用户名和密码均为 'admin'
    ambari web页面

5.2 安装集群

  • 点击LAUNCH INSTALL WIZARD创建集群


    创建集群
  • 配置集群名称为ambari
    集群名称
  • 选择hdp的版本以及源的设置


    hpd版本

    hdp源

注:由于HDP-GPL很小,通常不需设置本地源

  • 配置节点、密钥


    node

注:密钥文件需从node1下载,路径为/root/.ssh/id_rsa
推荐使用xftp进行传输


推荐使用xftp进行传输
  • 进行主机确认


    主机确认
  • 选择大数据组件
    这里我们选择Hive+HBase+Zookeeper+Storm,并依据提示选择其他必备组件


    组件选择
  • 分配节点
    依据虚机的情况分配节点


    分配节点
  • 分配从属和客户端

注:此处可以只选择一个DataNode

分配从属
  • 连接数据库
用户名 密码
admin admin123
hive hive123
N/A admin123
  • 与已有的hive数据库连接
    在Hive Database中选择 Exisiting MySQL/MariaDB
    在node1中执行ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar

    在Database URL中填写 jdbc:mysql://node1/hive
    Database Password中输入 hive123 (创建hive数据库是设置的密码)
    连接hive数据库
  • 集群整体概况


    集群概况
  • 点击DEPLOY进行部署,等待部署完成即可


    等待部署
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,175评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,674评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,151评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,597评论 1 269
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,505评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,969评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,455评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,118评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,227评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,213评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,214评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,928评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,512评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,616评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,848评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,228评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,772评论 2 339

推荐阅读更多精彩内容