Hadoop 及Spark 分布式HA运行环境搭建

hadoop,spark,分布式,ha,运行,环境,搭建 · 浏览次数 : 61

小编点评

**内容简介** 该内容介绍了大数据技术基础知识,包括数据处理、数据分析和数据流。通过实际例子,帮助初学者认识大数据,并基于此搭建自己属于自己的开发环境。 **内容要点** * **数据处理**:介绍了数据处理中的基本概念,包括数据流、数据管道和数据处理框架。 * **数据分析**:介绍了数据分析中的基本概念,包括数据清洗、数据转换和数据分析框架。 * **数据流**:介绍了数据流中的基本概念,包括数据管道、数据流框架和数据处理框架。 * **数据分析框架**:介绍了数据分析框架中的基本概念,包括数据分析框架、数据处理框架和数据流框架。 * **数据处理基础知识**:介绍了大数据技术基础知识的具体概念,包括大数据框架、数据流框架和数据分析框架。 * **大数据技术推陈出新**:介绍了大数据技术推陈出新中的重要概念,包括大数据技术、数据流技术和数据分析技术。 * **数据处理和数据分析的应用**:通过实际例子,帮助初学者认识大数据,并基于此搭建自己属于自己的开发环境。 **内容排版** * **简介** * 内容简介 * 目标 * **数据处理** * 数据流 * 数据管道 * 数据处理框架 * **数据分析** * 数据清洗 * 数据转换 * 数据分析框架 * **数据流** * 数据管道 * 数据流框架 * 数据处理框架 * **数据分析框架** * 数据分析框架 * 数据处理框架 * 数据流框架 * **大数据技术基础知识** * 大数据框架 * 数据流框架 * 数据分析框架 * **数据处理和数据分析的应用** * 数据处理 * 数据分析 * 大数据技术推陈出新

正文

作者:京东物流 秦彪

工欲善其事必先利其器,在深入学习大数据相关技术之前,先手动从0到1搭建一个属于自己的本地Hadoop和Spark运行环境,对于继续研究大数据生态圈各类技术具有重要意义。本文旨在站在研发的角度上通过手动实践搭建运行环境,文中不拖泥带水过多讲述基础知识,结合Hadoop和Spark最新版本,帮助大家跟着步骤一步步实践环境搭建。

1. 总体运行环境概览

(1) 软件包及使用工具版本介绍表:

技术名称或工具名称 版本 备注
Hadoop hadoop-3.3.4.tar.gz
VirtualBox 6.0.0 r127566 虚拟机,推荐
CentOS centos7.3
JDK jdk-8u212-linux-x64.tar.gz 1.8.0_111
Zookeeper zookeeper-3.6.tar.gz
FileZilla FileZilla_3.34.0 文件传输工具,推荐
MobaXterm MobaXterm_Portable_v10.9 SSH连接工具,推荐
Idea IDEA COMMUNITY 2019.1.4 代码IDE开发工具,推荐

(2)环境部署与分布介绍表:

主机名 IP 运行的进程
master 192.168.0.20 QuorumPeerMain、NameNode、DataNode、ResourceManager、NodeManager、JournalNode、DFSZKFailoverController、Master
slave1 192.168.0.21 QuorumPeerMain、NameNode、DataNode、ResourceManager、NodeManager、JournalNode、DFSZKFailoverController、Master、Worker
slave2 192.168.0.22 QuorumPeerMain、NameNode、DataNode、JournalNode、NodeManager、Worker

(3)进程介绍:(1表示进程存在,0表示不存在)

进程名 含义 master slave1 slave2
QuorumPeerMain ZK进程 1 1 1
NameNode Hadoop主节点 1 1 0
DataNode Hadoop数据节点 1 1 1
ResourceManager Yarn管理进程 1 1 0
NodeManager Yarn 工作进程 1 1 1
JournalNode NameNode同步进程 1 1 1
DFSZKFailoverController NameNode监控进程 1 1 0
Master Spark主节点 1 1 0
Worker Spark工作节点 1 1 1

2. 系统基础环境准备

步骤1: 虚拟机中Linux系统安装(略)

VirtualBox中安装CentOS7操作系统

步骤2: CentOS7基础配置

(1) 配置主机的hostname

命令: vim/etc/hostname

(2) 配置hosts, 命令vim /etc/hosts

(3) 安装JDK

命令:

rpm -qa | grep java 查看是否有通过rpm方式安装的java

java -version 查看当前环境变量下的java 版本

1) filezilla上传安装包,tar -zxvf
jdk-8u212-linux-x64.tar.gz 解压

2) bin目录的完整路径:
/usr/local/jdk/jdk1.8.0_212/bin

3) vim /etc/profile 配置jdk环境变量

(4) 复制主机:

1)利用VirtualBox复制功能复制两台主机

2)命令:vi
/etc/sysconfig/network-scripts/ifcfg-eth0,设置相应的网络信息

3)三台主机IP分别为: 192.168.0.20/21/22

(5) 配置三台主机ssh无密码登录(略)

(6) 安装zookeeper

1) filezilla上传安装包,zookeeper-3.4.10.tar.gz 解压

2) bin目录的完整路径:
/usr/local/zookeeper/zookeeper-3.4.10/bin

3) vim /etc/profile 配置jdk环境变量

4) zookeeper的配置文件修改,zookeeper-3.4.10/conf/

5) 执行命令从master节点复制配置到其他两个节点

6) 每台机器zookeeper目录下新建一个data目录, data目录下新建一个myid文件,master主机存放标识值1;slave1主机标识值为2;slave3主机标识值为3

7) 每台机器上命令:zkServer.sh start ,启动ZK,进程名:QuorumPeerMain

3. Hadoop安装与部署

3.1安装Hadoop

1)filezilla上传安装包,hadoop-3.3.4.tar.gz 解压

2)bin目录的完整路径: /usr/local/hadoop/hadoop-3.3.4/bin

3)vim /etc/profile 配置jdk环境变量

4) 修改配置文件共6个: hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml和workers

文件1: hadoop-env.sh; 增加jdk环境变量

文件2: core-site.xml; 配置临时目录及zookeeper信息

文件3: hdfs-site.xml; 配置hdfs信息

文件4: mapred-site.xml; 配置mapreduce和dfs权限信息

文件5: yarn-site.xml; 配置yarn资源调度信息

文件6: worker文件存放当前的worker节点名,复制到每一个虚拟机中

3.2启动Hadoop

1) 使用命令: hadoop-daemon.sh start journalnode 启动journalnode 进程(每个节点执行)

2) 使用命令: hadoop-daemon.sh start namenode 启动namenode 进程(master、slave1节点上执行)

3) 使用命令:hadoop-daemon.sh start datanode 在所有节点上启动datanode 进程

4) 使用命令:start-yarn.sh 在master上启动yarn

5) 使用命令: hdfs zkfc -formatZK 在ZK上生成ha节点

6) 使用命令: hadoop-daemon.sh start zkfc 启动 DFSZKFailoverController进程,在master节点执行

a. 访问HDFS的管理页面

http://192.168.0.20:50070此处192.168.0.20为namenode节点的Active节点

http://192.168.0.21:50070 此处192.168.0.20为namenode节点的standby节点

3.3 验证HDFS使用

使用命令:hdfs dfs -ls / 查看HDFS中文件

使用命令:hdfs dfs -mkdir /input 在HDFS上创建目录

使用命令:hdfs dfs -put ./test.txt /input 将本地文件上传到HDFS指定目录

使用命令:hdfs dfs -get /input/test.txt ./tmp 将HDFS文件复制到本地目录

使用命令:hdfs dfs -text /input/test.txt 查看HDFS上的文本文件

web端浏览HDFS目录

3.4 验证MapReduce的wordcount案例

(1)先通过命令将带有文本内容的test2.txt文件上传到HDFS

(2)对HDFS上test2.txt文件执行wordcount统计,结果放回HDFS新目录,命令:

hadoop jar /usr/local/hadoop/hadoop-3.3.4/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount /input/test2.txt /out

4. Spark安装与部署

4.1安装Scala

(1)安装scala

上传scala压缩包解压,使用命令:

scala -version 查看当前环境变量下的scala 版本

(2)拷贝scala目录和环境变量到其他两台机器

使用命令:

scp -r /usr/local/scala root@slave1:/usr/local/

scp /etc/profile root@slave1:/etc/profile

4.2安装Spark

(1)上传spark压缩包解压,修改配置文件

命令: vim
/usr/local/spark/spark-3.3.1/conf/spark-env.sh

(2) 新建worker目录,写入master机器名称

4.3启动Spark

(1)在master的spark安装目录下启动spark

命令:

cd /usr/local/spark/spark-3.3.1/sbin

./start-all.sh

(2)在slave1同样目录启动master进程

命令:./start-master.sh

(3)访问spark管理页面ui

4.4 验证Spark的wordcount案例

(1)执行命令:

cd /usr/local/spark/spark-3.3.1/bin

./spark-shell --master spark://master:7077

(3)从HDFS读取数据执行自定义wordcount代码,结果写入HDFS,命令:

sc.textFile("hdfs://master:9000/input/test2.txt").flatMap(.split(" ")).map(word=>(word,1)).reduceByKey(+_).map(pair=>(pair._2,pair._1)).sortByKey(false).map(pair=>(pair._2,pair._1)).saveAsTextFile("hdfs://master:9000/spark_out")

(4)输出结果:

5. 后记

大数据技术日新月异,得益于互联网技术加持下的商业和工业模式变革。人们日益增长的对生活生产便捷性、数字化、智能化的需求,催生了数据爆炸式的增长,推动了大数据技术推陈出新。作为新时代的程序开发者,必须掌握一定的大数据基础知识才能适应时代的要求,本文只是一个引子,从自身实践的角度帮助初学者认识大数据,并基于此搭建自己属于自己的开发环境,希望大家能够在此基础上继续钻研有所建树。

与Hadoop 及Spark 分布式HA运行环境搭建相似的内容:

Hadoop 及Spark 分布式HA运行环境搭建

本文旨在站在研发的角度上通过手动实践搭建运行环境,文中不拖泥带水过多讲述基础知识,结合Hadoop和Spark最新版本,帮助大家跟着步骤一步步实践环境搭建。

大数据怎么学?对大数据开发领域及岗位的详细解读,完整理解大数据开发领域技术体系

经常有小伙伴和我咨询大数据怎么学,我觉得有必要写一下关于大数据开发的具体方向,下次就不用苦哈哈的打字回复了。直接回复文章。 1.大数据岗位划分 我们通常说的大数据开发主要分为三大方向: 1.1数据平台开发工程师 主要从事后端开发,结合Hadoop,flink,spark等做二次开发,基于底层框架开发

parquet极简学习

# parquet极简学习 ## 摘要 ``` parquet的概念: Parquet文件是一种列式存储文件格式,广泛应用于大数据处理框架, 如Apache Hadoop和Apache Spark。 它通过将数据组织成列而不是行来优化大型数据集的读写。 这种列式存储格式允许进行高效压缩、更好的查询性

批处理及有状态等应用类型在 K8S 上应该如何配置?

众所周知, Kubernetes(K8S)更适合运行无状态应用, 但是除了无状态应用. 我们还会有很多其他应用类型, 如: 有状态应用, 批处理, 监控代理(每台主机上都得跑), 更复杂的应用(如:hadoop 生态...). 那么这些应用可以在 K8S 上运行么? 如何配置? 其实, K8S 针对

基于阿里Anolis OS8.8 的Hadoop大数据平台建设

基于阿里Anolis OS8.8 的Hadoop大数据平台建设 VNC安装与使用 0 Anolis OS基本操作 0.1 Anolis OS用户与组管理 0.2 系统进程管理 0.3 文件操作命令及权限 0.4 系统目录结构 1 Hadoop大数据处理框架 1.1Hadoop 伪分布模式安装(Had

[转帖]大数据基础架构Hadoop,终于有人讲明白了

http://blog.itpub.net/70024420/viewspace-2928855/ 导读:大数据正在成为经济社会发展的新的驱动力。随着云计算、移动互联网等网络新技术的应用和发展,社会信息化进程进入大数据时代,海量数据的产生与流转成为常态。而大数据技术也如雨后春笋般正在蓬勃发展中。Ha

在阿里云和腾讯云的轻量应用服务器上搭建Hadoop集群

引入 本文在两台2核2g的云服务器上搭建了Hadoop集群,两台云服务器分别是阿里云(hjm)和腾讯云(gyt),集群部署规划如下: hjm gyt HDFS NameNode\SecondaryNameNode\DataNode DataNode YARN ResourceManager\Node

[转帖]clickHouse单机模式安装部署(RPM安装)

关于版本和系统的选择 操作系统:Centos-7 ClickHouse: rpm 在安装,20.x 安装前的准备 CentOS7 打开文件数限 在 /etc/security/limits.conf 这个文件的末尾加入一下内容: [hadoop@hadoop001 ~]$ sudo vim /etc

详解Apache Sentry->Ranger平滑升级方案

摘要:本文主要探讨如何平滑解决sentry到ranger升级过程中的权限迁移问题。 本文分享自华为云社区《【平滑上云】Apache Sentry->Ranger平滑升级方案》,作者: 啊喔YeYe 。 背景介绍 CDH是Apache Hadoop和相关项目的最完整、最受测试和最流行的发行版,常常是许

云小课|MRS基础原理之CarbonData入门

阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。 摘要:CarbonData是一种新型的Apache Hadoop本地文件格式,使用先进的列式存储、索引、压缩和编码技术,以提