* 本篇是利用Ambari平台安装与部署Hadoop,如果需要原生部署Hadoop,请点击以下地址:

https://www.cnblogs.com/live41/p/15467263.html

一、环境要求

1.支持的组件版本
https://supportmatrix.hortonworks.com/

本文以Ambari 2.7.3.0为例,支持的组件的版本如下(部分):
Ubuntu 18.04、16.04、14.04(Ambari 2.7.1和2.7.0只支持Ubuntu 16.04)
MySQL 5.7(只支持InnoDB引擎)
JDK 8(至少1.8.0_77以上版本)

2.软件要求
Python(带有python-devel*)
Ambari Metrics Monitor用到一个python库(psutil),该库依赖gcc和python-devel包。

3.最大打开文件数要求
推荐的最小打开文件数是10000或更多。
(1) 可通过以下命令查询当前数量:

ulimit -Hn #查看硬限制
ulimit -Sn #查看软限制

(2) 如果低于10000,可执行以下命令修改:

ulimit -n 100 #同时设定两个限制

附:ulimit命令的其它参数说明

ulimit -Hn 100 #设定硬限制
ulimit -Sn 100 #设定软限制

二、操作系统及网络配置

* 以下操作每台机都需要执行一次。

1.调整时区

tzselect

选择Asia -> China -> Beijing

cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

修改后可输入date -R确认时间

* 如果部署过程遇到一些莫名其妙的错误,或者日志的时间是错的,先用date -R检查一下时区是否正确。

2.修改主机名
假定有4台机,用户名分别为c1、c2、c3、c4。
* 主机名要设置为FQDN(fully.qualified.domain.name)格式,否则安装时会报警。
(1) 修改cloud.cfg配置让新主机名变成默认(如果不修改此属性,则重启后会恢复原有主机名)

vim /etc/cloud/cloud.cfg

把preserve_hostname参数的false改成true

* 如果cloud.cfg没有此属性,可以直接在cloud_init_modules模块前添加preserve_hostname:true

(2) 修改每台机的主机名

hostnamectl set-hostname 主机名

4台机分别改为(这里只是举例,可自定义名字):

c1.clotho.com
c2.clotho.com
c3.clotho.com
c4.clotho.com

修改后重启系统。

3.修改IP
假定有4台机,用户名分别为c1、c2、c3、c4,网关是192.168.100.1,4台机的IP分别为:

c1  192.168.100.105
c2 192.168.100.110
c3 192.168.100.115
c4 192.168.100.120

修改50-cloud-init.yaml文件(有的Ubuntu版本是00-installer-config.yaml文件)

vim /etc/netplan/50-cloud-init.yaml

修改每台机的addresses和gateway4参数,例如c2的是addresses: [192.168.100.110/24],gateway4: 192.168.100.1。

network:
ethernets:
enp2s0:
addresses: [192.168.1.6/24]
gateway4: 192.168.1.1
nameservers:
addresses: [114.114.114.114, 202.96.128.86]
dhcp4: no
optional: no
version: 2

修改保存后更新

netplan apply

4.修改DNS

vim /etc/hosts

在末尾加入以下:

192.168.100.105 c1.clotho.com
192.168.100.110 c2.clotho.com
192.168.100.115 c3.clotho.com
192.168.100.120 c4.clotho.com

5.配置ssh免密登录
(1) 进入ssh密钥信息目录(在所有机执行)

cd /root/.ssh

(2) 生成ssh密钥(在所有机执行)

ssh-keygen -t rsa -P ''
cat id_rsa.pub >> authorized_keys

(3) 修改权限(在所有机执行)

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

(4) 修改scp(在所有机执行)

vim /etc/ssh/sshd_config

把PermitRootLogin no中的no改成yes,如果原来没有这行或被注释掉,就直接加上或反注释。

systemctl restart sshd

(5) 复制另外几台机的密钥到c1(在c1执行)

scp root@C2:/root/.ssh/authorized_keys c2key
scp root@C3:/root/.ssh/authorized_keys c3key
scp root@C4:/root/.ssh/authorized_keys c4key

(6) 合并成一个密钥文件(在c1执行)

cat c2key c3key c4key >> authorized_keys

(7) 把合并后的密钥文件复制回另外几台机并覆盖原文件(在c1执行)

scp authorized_keys root@C2:/root/.ssh/authorized_keys
scp authorized_keys root@C3:/root/.ssh/authorized_keys
scp authorized_keys root@C4:/root/.ssh/authorized_keys

(8) 测试(在c1执行)

ssh c2

如果没提示输入密码即为生效。

6.安装和启动ntp

NTP是通过网络来同步时间的一种TCP/IP协议

apt install ntp
update-rc.d ntp defaults #设置开机自启动

附:关闭开机自启动

update-rc.d -f ntp remove

7.关闭iptables

ufw disable
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

8.关闭SELinux

apt install selinux-utils
setenforce 0

三、安装环境软件

* 以下操作每台机都需要执行一次。

1.安装JDK
JDK版本至少要1.8.0_77以上,见第1点。
https://www.cnblogs.com/live41/p/14235891.html

2.安装Python
提示:根据第2点的要求,需要安装python-devel

apt install python2.7 python2.7-dev

四、安装数据库

1.安装MySQL
Ambari默认是安装PostgreSQL,如果需要使用MySQL,需要预先安装和配置。只找一台机装即可。
(1) 安装MySQL步骤
https://www.cnblogs.com/live41/p/14235866.html

2.安装MySQL Connector
(1) 下载安装包
https://dev.mysql.com/downloads/connector/j/

(2) 上传包和安装

rz

选择(1)下载的安装包上传

dpkg -i mysql-connector-java_8.0.16-1ubuntu18.04_all.deb

请根据实际情况修改安装包的名字

==========下面第3-8点,登录MySQL后,操作完第3-8点再退出==========

mysql -u root -p

3.创建Ambari账号和权限

CREATE USER 'ambari'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
CREATE USER 'ambari'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost';
CREATE USER 'ambari'@'c1.clotho.com' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'c1.clotho.com';
FLUSH PRIVILEGES;

其中ambari是用户名,123456是密码,c1.clotho.com是域名(FQDN),可自定义。

4.赋予Ranger组件MySQL权限
如果使用MySQL来存储Ranger组件的数据,需要先赋予Ranger账号超管权限。且存储引擎必须支持事务,例如InnoDB。
(1) 创建用户ranger,密码也是123456,赋予权限

CREATE USER 'ranger'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'ranger'@'localhost';
CREATE USER 'ranger'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'ranger'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'ranger'@'localhost' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'ranger'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

(2) 安装Ambari前,需要把log_bin_trust_function_creators设置为1,安装完成后可设置回0。

SET GLOBAL log_bin_trust_function_creators = 1;

5.赋予Hive组件MySQL权限

账号是hive,密码是123456,域名(FQDN)是c1.clotho.com

CREATE USER 'hive'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost';
CREATE USER 'hive'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
CREATE USER 'hive'@'c1.clotho.com' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'c1.clotho.com';
FLUSH PRIVILEGES;

6.配置SAM和Schema Registry在MySQL的元数据库
(1) 创建元数据库

CREATE DATABASE registry DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
CREATE DATABASE streamline DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

(2) 创建账号,密码123456

CREATE USER 'registry'@'%' IDENTIFIED BY '123456';
CREATE USER 'streamline'@'%' IDENTIFIED BY '123456';

(3) 配置权限

GRANT ALL PRIVILEGES ON registry.* TO 'registry'@'%' WITH GRANT OPTION ;
GRANT ALL PRIVILEGES ON streamline.* TO 'streamline'@'%' WITH GRANT OPTION ;

(4) 提交修改操作

commit;

7.配置Druid和Superset Metadata在MySQL的元数据库
(1) 创建元数据库

CREATE DATABASE druid DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
CREATE DATABASE superset DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

(2) 创建账号,密码123456

CREATE USER 'druid'@'%' IDENTIFIED BY '123456';
CREATE USER 'superset'@'%' IDENTIFIED BY '123456';

(3) 配置权限

GRANT ALL PRIVILEGES ON *.* TO 'druid'@'%' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'superset'@'%' WITH GRANT OPTION;

(4) 提交修改操作

commit;

==========执行完第3-8点后,退出MySQL==========

exit;

五、安装Ambari

1.使用本地源安装(可选)
(1) 搭建本地源
https://www.cnblogs.com/live41/p/14236916.html

(2) 创建源列表文件
在/etc/apt/sources.list.d目录下新增2个文件,并输入源信息。

ambari.list

deb http://127.0.0.1/ambari/ubuntu18/2.7.3.0-139/ Ambari main

ambari-hdp.list

deb http://127.0.0.1/HDP-GPL/ubuntu18/3.1.0.0-78/ HDP-GPL main
deb http://127.0.0.1/HDP-UTILS/ubuntu18/1.1.0.22/ HDP-UTILS main
deb http://127.0.0.1/HDP/ubuntu18/3.1.0.0-78/ HDP main

* 如果nginx的server配置的是192.168.100.105,这里的127.0.0.1就要替换成192.168.100.105

(3) 添加密钥(在所有机执行)

apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD

(4) 更新源信息(在所有机执行)

apt update

(5) 检查

apt-cache showpkg ambari-server
apt-cache showpkg ambari-agent
apt-cache showpkg ambari-metrics-assembly

2.安装Ambari

apt install ambari-server

3.创建Ambari库

(1) 登录MySQL

mysql -u root -p

(2) 创建数据库,载入数据表及数据

CREATE DATABASE ambari;
USE ambari;
SOURCE /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;

* 安装了ambari-server后,/var/lib/ambari-server/resources目录下会存在Ambari-DDL-MySQL-CREATE.sql文件。

4.配置Ambari

ambari-server setup

(1) Customize user account for ambari-server daemon?

选n

(2) 选JDK版本
选2
输入JDK安装路径,一般是/usr/bin/jdk1.8.0/

(3) Enable Ambari Server to download and install GPL Licensed LZO packages?
选n

(4) Enter advanced database configuration?
选y

(5) 选数据库
选3

Hostname:localhost

Port:3306

Database:ambari

Username: root(上面用ambari这里就用ambari,上面用root这里就用root)

Password: 123456

(6) 设置Ambari的JDBC组件

ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar

5.启动Ambari

ambari-server start

* Ambari地址的默认端口是8080

6.使用Ambari平台安装Hadoop组件
(1) 打开Ambari平台
在浏览器输入http://192.168.100.105:8080(以c1作为Ambari的主机)

(2) 登录
默认的用户名和密码都是admin

(3) 开始安装
点击Launch Install Wizard按钮

(4) 填写集群名
这里用Clotho,可自定义

(5) 选择Hadoop组件版本
使用默认,直接点击下一步。

(6) 配置安装源

这里用本地源,勾选“Use Local Repository”
HDP-3.1:http://192.168.100.105/HDP/ubuntu18/3.1.0.0-78/
HDP-UTILS-1.1.0.22:http://192.168.100.105/HDP-UTILS/ubuntu18/1.1.0.22/

(7) 配置主机名
在Target Hosts框输入:

c1.clotho.com
c2.clotho.com
c3.clotho.com
c4.clotho.com

(8) 上传ssh密钥来注册所有主机
注册的作用是让Ambari免密登录所有主机并进行批量安装操作
a.找一台主机下载之前生成的密钥,留意是使用不带.pub后缀的那个文件。

sz /root/.ssh/id_rsa

如果没有sz命令,先安装:

apt install lrzsz

b.点击Ambari界面的Choose File,并选择id_rsa文件上传。

(9) Ambari在所有主机安装ambari-agent

该过程为自动化执行。
如果出现以下错误(行号可能会略有不同)或类似错误。
“/var/lib/ambari-agent/tmp/ambari-sudo.sh: line 50: python: command not found”

请手动重装ambari-agent:

apt install ambari-agent --reinstall

利用Ambari平台安装与部署Hadoop的更多相关文章

  1. XXL-JOB分布式任务调度平台安装与部署

    配XXL-JOB分布式任务调度平台安装与部署

  2. dzzoffice协同办公平台与onlyoffice在线协作平台安装与部署

    1.安装dzzoffice协同办公平台 DzzOffice是一套开源办公套件,适用于企业.团队搭建自己的 类似“Google企业应用套件”.“微软Office365”的企业协同办公平台. 官网地址:h ...

  3. Windows平台安装及配置Hadoop(不借助cygwin)

    由于项目需要,我在VMware上装了几个虚拟机Windows server 2012 R2,并要搭建Hadoop集群.刚刚入门hadoop,一头雾水,然后开始搜各种教程,首先是选用cygwin进行安装 ...

  4. java学习——平台的安装与部署

    Java 平台安装与部署 jre,jdk安装与部署 1)jre,jdk安装过程(略) 2)部署过程 新建(JAVA_HOME) 变量名:JAVA_HOME 变量值:E:\Program Files ( ...

  5. 安装eclipse的hadoop开发环境--2

    在eclipse上做好一切,在网上很容易搜到 尝试链接hadoop集群失败,尝试单机的操作,发现# ssh localhost失败 解决ssh问题:成功解决 但是eclipse的DFS locatio ...

  6. Hue的安装与部署

    Hue的安装与部署 hadoop hue Hue 简介 Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是 ...

  7. 从零开始安装 Ambari (4) -- 通过 Ambari 部署 hadoop 集群

    1. 打开 http://192.168.242.181:8080  登陆的用户名/密码是 : admin/admin 2. 点击 “LAUNCH INSTALL WIZARD”,开始创建一个集群 3 ...

  8. Ubuntu14.04下Ambari安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)

    不多说,直接上干货! 写在前面的话 (1) 最近一段时间,因担任我团队实验室的大数据环境集群真实物理机器工作,至此,本人秉持负责.认真和细心的态度,先分别在虚拟机上模拟搭建ambari(基于CentO ...

  9. Ambari?自动部署Hadoop集群

    自动部署?Ambari Ambari 跟 Hadoop 等开源软件一样,也是 Apache Software Foundation 中的一个项目,并且是顶级项目.就 Ambari 的作用来说,就是创建 ...

随机推荐

  1. 编写一个应用程序,利用数组或者集合, 求出"HELLO",“JAVA”,“PROGRAM”,“EXCEPTION”四个字符串的平均长度以及字符出现重复次数最多的字符串。

    public class Number { public static void main(String[] args) { String[] arr = { "HELLO", & ...

  2. R和Rstudio的安装

    首先是安装R再安装Rstudio 链接放在这里: R语言软件以及Rstudio软件下载:链接:https://pan.baidu.com/s/11TH4mJjoi3QXGfamB697rw 密码:o1 ...

  3. Shell系列(12)- 预定义变量(5)

    预定义变量 作用 $? 常用:最后一次执行的命令的返回状态. 如果这个变量的值为0,证明上一个命令正确执行:如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了 $$ ...

  4. CentOS7安装Docker遇到的问题笔记

    笔记/朱季谦 以下是笔者本人学习搭建docker过程当中记录的一些实践笔记,过程当中也遇到了一些坑,但都解决了,就此记录,留作以后再次搭建时可以直接参考. 一.首先,先检查CentOS版本,保证在Ce ...

  5. spring入门1-IOC和DI

    1.概述 1.1.简介 Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Or ...

  6. php--laravel --debug--mac

    1>安装debug 一.下载xdebug文件 1.将phpinfo();的信息全部输入网址中的框,得到适配的xdebug版本: 网址:http://xdebug.org/wizard.php 2 ...

  7. [原创]配置php+nginx 时遇到的”file not found","access denied"奇怪问题的解决过程

    在centos 7中按照我的随笔转载文章"[转载]CentOS 下安装LEMP服务(Nginx.MariaDB/MySQL和PHP)"安装好后,结果无法显示phpinfo()信息, ...

  8. 项目部署(ubuntu+uwsgi+nginx+supervisor+django)

    一.在开发机上的准备工作 1. 确认项目没有bug. 2.设置`ALLOW_HOST`为你的域名,以及ip地址. 4.设置`DEBUG=False`,避免如果你的网站产生错误,而将错误信息暴漏给用户. ...

  9. 鸿蒙内核源码分析(汇编基础篇) | CPU在哪里打卡上班? | 百篇博客分析OpenHarmony源码 | v22.01

    百篇博客系列篇.本篇为: v22.xx 鸿蒙内核源码分析(汇编基础篇) | CPU在哪里打卡上班 | 51.c.h .o 硬件架构相关篇为: v22.xx 鸿蒙内核源码分析(汇编基础篇) | CPU在 ...

  10. Sentry 监控 - Snuba 数据中台架构(Query Processing 简介)

    系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...