centos7通过Ambari2.74部署Hadoop

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: centos7通过Ambari2.74部署Hadoop

阅读目录

回到顶部

一、前言

服务器:建议第一台内存不少于16G,其他可以8G

软件版本:

资源链接:

链接:https://pan.baidu.com/s/17GWF0opxYl0MIm2LJNUGRg?pwd=iq4l

提取码:iq4l

回到顶部

二、部署前环境准备

以下操作在所有机器上执行

1.配置host解析

1

2

3

4

vim /etc/hosts

10.0.0.138  hdp01.ambari.com    hdp01

10.0.0.139  hdp02.ambari.com    hdp02

10.0.0.140  hdp03.ambari.com    hdp03

2.调大用户文件描述符

1

2

3

4

5

6

vim /etc/security/limits.conf

* soft nofile 65535

* hard nofile 65535

 

# 配置需要重启才能生效

ulimit -n

3.配置时间同步(生产建议使用自建时间服务器)

1

2

3

yum -y install ntpdate 

ntpdate ntp.aliyun.com 

echo '*/5 * * * * ntpdate ntp.aliyun.com 2>&1' >> /var/spool/cron/root

4.安装Java环境  

1

2

3

4

5

6

7

8

9

10

11

tar xf jdk-8u231-linux-x64.tar.gz -C /usr/local/

cd /usr/local/

ln -sv jdk1.8.0_231/  java

 

vim /etc/profile.d/java.sh

export JAVA_HOME=/usr/local/java

export CLASSPATH=$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

 

source /etc/profile.d/java.sh

java -version 

以下操作仅在ambari-server上执行

1.ambari免密登录节点

1

2

3

4

5

6

7

echo -e "\n"|ssh-keygen -t rsa -N ""

# 免密除了IP,同时对主机名也要访问一下

ssh-copy-id -i 10.0.0.138

ssh-copy-id -i 10.0.0.139

ssh-copy-id -i 10.0.0.140

 

echo "StrictHostKeyChecking no" >~/.ssh/config #取消第一次连接时yes确认操作 

回到顶部

三、ambari服务部署

以下操作仅在ambari-server上执行

1.安装web服务,提供本地yum访问,此处使用Nginx

1

2

3

4

yum install nginx -y

systemctl start nginx

systemctl enable nginx

netstat -tnlp

2.部署MySQL  

安装步骤参考:https://www.cnblogs.com/panwenbin-logs/p/11425652.html

安装完成后根据提示登录并修改用户密码和权限

修改root密码及登录权限

1

2

3

4

5

6

[root@hdp01 install_mysql5.7]# source ~/.bash_profile;mysql -u root --password=aJc+hjFwf6##

root@mysqldb 10:44:  [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Qwer@123';

Query OK, 0 rows affected (0.00 sec)

 

root@mysqldb 10:44:  [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Qwer@123' WITH GRANT OPTION;

Query OK, 0 rows affected, 1 warning (0.00 sec) 

3.创建ambari yum仓库

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

tar xf ambari-2.7.4.0-centos7.tar.gz -C /usr/share/nginx/html

tar xf HDP-3.1.4.0-centos7-rpm.tar.gz -C /usr/share/nginx/html

tar xf HDP-GPL-3.1.4.0-centos7-gpl.tar.gz -C /usr/share/nginx/html

tar xf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /usr/share/nginx/html

 

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

[ambari-repo]

name=ambari

baseurl=http://hdp01/ambari/centos7/2.7.4.0-118/

gpgcheck=0

enabled=1

 

[HDP-repo]

name=HDP

baseurl=http://hdp01/HDP/centos7/3.1.4.0-315/

gpgcheck=0

enabled=1

 

[HDP-GPL-repo]

name=HDP-GPL

baseurl=http://hdp01/HDP-GPL/centos7/3.1.4.0-315/

gpgcheck=0

enabled=1

 

[HDP-UTILS-repo]

name=HDP-UTILS

baseurl=http://hdp01/HDP-UTILS/centos7/1.1.0.22/

gpgcheck=0

enabled=1

 

 

yum repolist #确保四个仓库都正常显示

repo id                                                                               repo name                                                                                                            status

HDP-GPL-repo                                                                          HDP-GPL                                                                                                                   4

HDP-UTILS-repo                                                                        HDP-UTILS                                                                                                                16

HDP-repo                                                                              HDP                                                                                                                     201

ambari-repo                                                                           ambari                                                                                                                   13

......

4.安装ambari-server服务

1

yum install ambari-server

5.创建ambari-server服务所需的MySQL数据库

1

2

3

4

5

6

7

CREATE DATABASE ambari DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

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

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

FLUSH PRIVILEGES;

use ambari;

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

exit

6.配置MySQL Java驱动

1

2

mkdir -p /usr/share/java/  #此路径为ambari要求,不要更该

cp mysql-connector-java-8.0.18.jar /usr/share/java/

7.启动ambari配置向导

8.启动ambari服务

回到顶部

四、通过ambari控制台安装Hadoop集群

1.登录控制台

2.启动安装向导

3.定义集群名称

4.选择安装包

5.配置系统及HDP仓库地址

6.添加集群节点(这里只添加2台,第三台做集群扩容演示用)

7.执行添加操作

8.安装Service(大数据组件)

下一步,会产生一些告警和提示,根据实际情况处理

9.选择service安装的节点,保持默认即可

10.分配slave服务和client安装到哪些主机

11. 设置相关服务密码

12.创建hive数据库及设置jdbc路径

1

2

3

4

5

6

create database hive default character set utf8mb4 COLLATE utf8mb4_general_ci;

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

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

FLUSH PRIVILEGES;

exit;

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

13.配置hive数据库连接信息

14.服务目录配置

15.配置各service再系统上使用哪个用户运行,默认即可

16.service资源及配置

17.view环境显示之前的配置,如果有问题可以点击左下角BACK返回修改,没有问题就可以点击"DEPLOY"部署了

18.开始部署,大概需要半小时

部署可以查看实时进度

有些告警,可以稍后处理

19.显示摘要信息,有两个告警,没有失败的

此时整个集群就部署完毕了

20.删除SmartSense service

先停止

再删除

服务器上删除smartsense相关文件

1

[root@hdp01 ~]# find / -name smartsense |xargs rm -rf

21.查看告警和异常

22.查看主机服务信息

确保组件状态都是正常

回到顶部

五、集群扩容

1.Hosts-> actions->Add New Hosts

2.配置新节点信息,和创建集群时一样

2.选择安装的slave和client客户端

 

其他步骤保持默认下一步即可

回到顶部

五、开启namenod、resourcemanager和HBase高可用

#注意:配置期间服务不可用

1.开启namenod HA

HDFS-> actions->enable namenode HA

前提条件,高可用需要集群最少三个节点,zookeeper集群最少三个节点,如果Hbase启动,需要关闭

自定义集群ID

选择namenode及journalNode节点

根据提示在命令行创建检查点,否则下一步无法点击

1

2

3

4

[root@hdp01 ~]# sudo su hdfs -l -c 'hdfs dfsadmin -safemode enter'

Safe mode is ON

[root@hdp01 ~]# sudo su hdfs -l -c 'hdfs dfsadmin -saveNamespace'

Save namespace successful 

完成后,等待NEXT变为可点击后点击下一步

部署完成后点击下一步

按照提示在命令行执行,完成后等地NEXT可点击,点击下一步

1

[root@hdp01 ~]# sudo su hdfs -l -c 'hdfs namenode -initializeSharedEdits'

启动组件,完成后下一步

命令行 执行初始化命令,注意两条命令不在一个机器上,完成后下一步

1

2

3

[root@hdp01 ~]# sudo su hdfs -l -c 'hdfs zkfc -formatZK' #这是hdp01

#这是hdp02,和上面不是一台机器,具体机器查看页面提示

[root@hdp02 ~]# sudo su hdfs -l -c 'hdfs namenode -bootstrapStandby 

完成安装

安装结束,之前关闭的Hbase回自动启动,不许要手动启动,完成后部分组件需要重启,为了避免告警风暴可以先开启维护模式

重启服务

确保重启正常,并关闭维护模式

2.开启resourcemanager HA

YARN-> actions->enable resourcemanager HA

提示信息,提示操作回造成服务中断,需要计划停机时间

选择节点,由于第三台服务较少,这里选择第三台

review配置,下一步

确保全部步骤正常

 

3.开启HBase 高可用

启动对应节点上的服务

确认结果

至此,全部安装完毕

参考地址

安装文档:https://docs.cloudera.com/HDPDocuments/Ambari-2.7.4.0/bk_ambari-installation/content/determine_product_interop.html

ambari与HDP版本对应关系:https://supportmatrix.cloudera.com/#Hortonworks

 

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
68 2
|
3月前
|
监控 前端开发 Linux
centos7系统安装部署zabbix5.0
【9月更文挑战第23天】在CentOS 7系统上部署Zabbix 5.0的步骤包括:安装MariaDB数据库及必要软件包,配置Zabbix仓库,设置数据库并导入Zabbix数据库架构,配置Zabbix服务器与前端参数,启动相关服务,并通过浏览器访问Web界面完成安装向导。
174 0
|
3月前
|
Oracle Java 关系型数据库
CentOS 7.6操作系统部署JDK实战案例
这篇文章介绍了在CentOS 7.6操作系统上通过多种方式部署JDK的详细步骤,包括使用yum安装openjdk、基于rpm包和二进制包安装Oracle JDK,并提供了配置环境变量的方法。
289 80
|
19天前
|
分布式计算 资源调度 Hadoop
【赵渝强老师】部署Hadoop的本地模式
本文介绍了Hadoop的目录结构及本地模式部署方法,包括解压安装、设置环境变量、配置Hadoop参数等步骤,并通过一个简单的WordCount程序示例,演示了如何在本地模式下运行MapReduce任务。
|
2月前
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
205 0
虚拟机centos7.9一键部署docker
|
3月前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
493 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
3月前
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
131 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
3月前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
127 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
4月前
|
Linux 数据安全/隐私保护 虚拟化
centos7部署openVPN
centos7部署openVPN
|
4月前
|
Linux 数据安全/隐私保护 网络虚拟化
centos7部署Pritunl
centos7部署Pritunl