保姆级丨Hadoop部署

简介: Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

0x00 前言

       Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

5fc3423a2cbb3d3ab8238ca167bb86a.jpg

▲ Hadoop生态系统



0x01 环境说明

Xshell 7
Hadoop-3.3.3
jdk-18_linux-x64_bin
centos-a(192.168.1.10)
centos-b(192.168.1.11)
centos-c(192.168.1.12)



0x02 准备工作

文中使用CentOS-7系统在三个虚拟机环境下进行示范,过程使用本地主机与虚拟机交互。首先要在Windows主机下载实验过程需要使用的环境。


Xshell 7:

https://www.xshell.com/zh/xshell-download/

Hadoop-3.3.3:

https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable/hadoop-3.3.3.tar.gz

jdk-18_linux-x64_bin:

https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.tar.gz



0x03 配置hosts文件(三个节点)

通过root执行命令

su root


配置虚拟机hosts文件

vi /etc/hosts


写入各个节点IP和主机名

192.168.1.10 centos-a
192.168.1.11 centos-b
192.168.1.12 centos-c


分别检测三个节点是否互联

ping-c3 centos-x



0x04 SSH免密登录(三个节点)

     

SSH为建立在应用层基础上的安全协议。SSH是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。


生成密钥文件

ssh-keygen -t rsa -P''


在.ssh目录中生成authorized_keys文件(仅在主节点执行)

touch /root/.ssh/authorized_keys


通过SSH复制三个节点生成的id信息

ssh-copy-id centos-a
ssh-copy-id centos-b
ssh-copy-id cnetos-c


查看密钥文件是否成功配置

cat /root/.ssh/authorized_keys



验证免密登录是否成功

ssh centos-b



0x05 Xshell7连接虚拟机(三个节点)

Xshell7可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。


d369d060a1d4fdca3d49cf4fff6f7bf.jpg

打开Xshell7选择新建

4abb290488908aaef064b80633d294a.jpg

修改常规项并连接虚拟机

633d9ad8a7b87198dac491783d94b45.jpg

接受并保存

cc4c11fd8a652d9f45dce9503a86e1d.jpg

输入主机名并确定

457fb6da87c5db43b76aa86535262cf.jpg

输入虚拟机密码并确定

6cdd8d9ba8263f7ffb1e9515da0bf92.jpg

虚拟机连接成功


0x06 Xshell7文件上传(三个节点)


通过root执行命令

su root


创建software文件夹

7ed877a0b277431ead8237e2ffdb570.jpg



mkdir /usr/local/software

下载文件互传工具

f1bcbbf6a7df4e4eefe6acae3debcd3.jpg



yum -y install lrzsz

打开software文件夹

a634887095c0a5d8728b6349a5fb5d1.jpg



cd /usr/local/software

利用lrzsz文件互传工具

3b9dd3b79526b02456cd0e8c5051e1c.jpg



rz

上传jdk-18_linux-x64_bin文件

36d5e4143a01c64cfd58f8e550dc2f1.jpg



上传Hadoop-3.3.3文件

06a72fcd88796e73f77cb5cd7d3b34b.jpg




0x07 安装JDK(三个节点)


创建jdk文件夹以保存解压的jdk文件

mkdir /usr/local/jdk


解压jdk文件

tar -zxvf jdk-18_linux-x64_bin.tar.gz -C /usr/local/jdk


打开profile文件

vi /etc/profile


配置jdk环境变量

#--在末尾写入配置文件--exportJAVA_HOME=/usr/local/jdk/jdk-18.0.2
exportPATH=$PATH:$JAVA_HOME/bin
exportCLASSPATH=$CLASSPATH:$JAVA_HOME/lib/


使配置文件生效

source /etc/profile



0x08 安装Hadoop(三个节点)


创建hadoop文件夹以保存解压的hadoop文件

mkdir /usr/local/hadoop


解压hadoop文件

tar -zxvf hadoop-3.3.3.tar.gz -C /usr/local/hadoop


打开profile文件

vi /etc/profile


配置hadoop环境变量

exportHADOOP_HOME=/usr/local/hadoop/hadoop-3.3.3
exportPATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATHexportHDFS_NAMENODE_USER=root
exportHDFS_DATANODE_USER=root
exportHDFS_SECONDARYNAMENODE_USER=root
exportYARN_RESOURCEMANAGER_USER=root
exportYARN_NODEMANAGER_USER=root


使配置文件生效

source /etc/profile



0x09 配置Hadoop文件(仅在主节点执行)


打开hadoop-env.sh文件

vi /usr/local/hadoop/hadoop-3.3.3/etc/hadoop/hadoop-env.sh

修改hadoop-env.sh文件

JAVA_HOME=/usr/local/jdk/jdk-18.0.2


打开core-site.xml文件

vi /usr/local/hadoop/hadoop-3.3.3/etc/hadoop/core-site.xml

修改core-site.xml文件

#在configuration标签中加入<!-- HDFS临时目录 -->
<property>
  <name>hadoop.tmp.dir</name>
  <value>/usr/local/hadoop/hadoop-3.3.3/tmp</value>
  <description>Abase for other temporary directories.</description>
</property>
<!-- HDFS的默认地址、端口 访问地址 -->
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://centos-a:9000</value>
</property>


打开yarn-site.xml文件

vi /usr/local/hadoop/hadoop-3.3.3/etc/hadoop/yarn-site.xml

修改yarn-site.xml文件

#在configuration标签中加入<!-- 集群master -->
<property>
  <name>yarn.resourcemanager.hostname</name>
  <value>centos-a</value>
</property>
<!-- NodeManager上运行的附属服务 -->
<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
<!-- 容器可能会覆盖的环境变量,而不是使用NodeManager的默认值 -->
<property>
  <name>yarn.nodemanager.env-whitelist</name>
  <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ</value>
</property>
<!-- 关闭内存检测,在虚拟机中不做配置会报错 -->
<property>
  <name>yarn.nodemanager.vmem-check-enabled</name>
  <value>false</value>
</property>


打开mapred-site.xml文件

vi /usr/local/hadoop/hadoop-3.3.3/etc/hadoop/mapred-site.xml

修改mapred-site.xml文件

#在configuration标签中加入<!-- yarn表示新的框架,local表示本地运行,classic表示经典mapreduce框架 -->
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>
<!-- 如果mapreduce任务访问本地库(压缩等),则必须保留原始值,当此值为空时,设置执行环境的命令将取决于操作系统 -->
<property>
  <name>mapreduce.admin.user.env</name>
  <value>HADOOP_MAPRED_HOME=/usr/local/hadoop/hadoop-3.3.3</value>
</property>
<!-- 设置AM[AppMaster]端的环境变量 -->
<property>
  <name>yarn.app.mapreduce.am.env</name>
  <value>HADOOP_MAPRED_HOME=/usr/local/hadoop/hadoop-3.3.3</value>
</property>


打开hdfs-site.xml文件

vi /usr/local/hadoop/hadoop-3.3.3/etc/hadoop/hdfs-site.xml

修改hdfs-site.xml文件

#在configuration标签中加入<!-- hdfs web的地址 -->
<property>
  <name>dfs.namenode.http-address</name>
  <value>centos-a:50070</value>
</property>
<!-- 副本数 -->
<property>
  <name>dfs.replication</name>
  <value>3</value>
</property>
<!-- 是否启用hdfs权限 -->
<property>
  <name>dfs.permissions.enabled</name>
  <value>false</value>
</property>
<!-- 块大小,默认128M -->
<property>
  <name>dfs.blocksize</name>
  <value>134217728</value>
</property>


打开works文件

vi /usr/local/hadoop/hadoop-3.3.3/etc/hadoop/workers

修改works文件

centos-a  #--主节点--centos-b  #--从节点--centos-c  #--从节点--


将centos-a主机节点配置好的文件发送给centos-b和centos-c

scp -r /usr/local/hadoop/hadoop-3.3.3 centos-b://usr/local/hadoop/
scp -r /usr/local/hadoop/hadoop-3.3.3 centos-c://usr/local/hadoop/



0x10 启动Hadoop(仅在主节点执行)

hadoop启动前必须要格式化

hadoop namenode -format


启动hadoop,启动文件位于sbin目录

start-all.sh  #--启动--stop-all.sh  #--停用--


浏览器访问hadoop的web界面

acf5e34e65dee33564b982cdadb3cb1.jpg

192.168.1.10:50070



0x11 总结

至此Hadoop部署完成。由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。

相关文章
|
5月前
|
SQL 分布式计算 Hadoop
大数据行业部署实战1:Hadoop伪分布式部署
大数据行业部署实战1:Hadoop伪分布式部署
153 0
|
6月前
|
存储 分布式计算 Hadoop
基于docker的Hadoop环境搭建与应用实践(脚本部署)
本文介绍了Hadoop环境的搭建与应用实践。对Hadoop的概念和原理进行了简要说明,包括HDFS分布式文件系统和MapReduce计算模型等,主要通过脚本的方式进行快捷部署,在部署完成后对HDFS和mapreduce进行了测试,确保其功能正常。
|
14天前
|
分布式计算 Hadoop Java
centos 部署Hadoop-3.0-高性能集群(一)安装
centos 部署Hadoop-3.0-高性能集群(一)安装
15 0
|
4月前
|
SQL 分布式计算 Hadoop
Hadoop学习笔记(HDP)-Part.08 部署Ambari集群
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
83 0
Hadoop学习笔记(HDP)-Part.08 部署Ambari集群
|
6月前
|
分布式计算 Hadoop Java
Hadoop伪分布式环境部署(非脚本)
本实验基于ECS云服务器(centOS7.7)搭建Hadoop伪分布式环境,并通过运行一个MapReduce示例程序熟悉Hadoop平台的使用。
|
6月前
|
SQL 分布式计算 Kubernetes
Hadoop on K8s 编排部署进阶篇
Hadoop on K8s 编排部署进阶篇
Hadoop on K8s 编排部署进阶篇
|
4月前
|
分布式计算 资源调度 Hadoop
Hadoop【部署 02】hadoop-3.1.3 单机版YARN(配置、启动停止shell脚本修改及服务验证)
Hadoop【部署 02】hadoop-3.1.3 单机版YARN(配置、启动停止shell脚本修改及服务验证)
51 0
|
4月前
|
分布式计算 Hadoop Java
Hadoop【部署 01】腾讯云Linux环境CentOS Linux release 7.5.1804单机版hadoop-3.1.3详细安装步骤(安装+配置+初始化+启动脚本+验证)
Hadoop【部署 01】腾讯云Linux环境CentOS Linux release 7.5.1804单机版hadoop-3.1.3详细安装步骤(安装+配置+初始化+启动脚本+验证)
87 0
|
4月前
|
分布式计算 Hadoop 大数据
大数据成长之路-- hadoop集群的部署(4)退役旧数据节点
大数据成长之路-- hadoop集群的部署(4)退役旧数据节点
53 0
|
4月前
|
分布式计算 Hadoop 大数据
大数据成长之路-- hadoop集群的部署(3)HDFS新增节点
大数据成长之路-- hadoop集群的部署(3)HDFS新增节点
66 0

热门文章

最新文章

相关实验场景

更多