hadoop 3.3大数据集群搭建系列1-安装hadoop

news/2024/5/20 2:58:03 标签: hadoop, 大数据, hdfs

文章目录

  • 一. 软硬件配置
    • 1.1 主机配置及规划
    • 1.2 软件配置
    • 1.3 安装常用的工具
  • 二. 安装前准备
    • 2.1 设置主机名
    • 2.2 设置hosts
    • 2.3 关闭防火墙
    • 2.4 ssh免密登陆
    • 2.5 ntpdate时间同步
  • 三. 安装
    • 3.1 安装hadoop
      • 3.1.1 下载hadoop并解压
      • 3.1.2 配置hadoop_home环境变量
      • 3.1.3 编辑etc/hadoop/hadoop-env.sh
      • 3.1.4 编辑etc/hadoop/core-site.xml
      • 3.1.5 编辑etc/hadoop/hdfs-site.xml
      • 3.1.6 编辑etc/hadoop/mapred-site.xml
      • 3.1.7 编辑etc/hadoop/yarn-site.xml
      • 3.1.8 编辑etc/hadoop/workers
      • 3.1.9 编辑启动脚本
      • 3.1.10 格式化HDFS
      • 3.1.11 启动集群
      • 3.1.12 验证
      • 3.1.13 查看集群信息
      • 3.1.14 命令查看日志
  • 参考:

一. 软硬件配置

1.1 主机配置及规划

hostnamehp5hp6hp7
ip10.31.1.11910.31.1.12010.31.1.121
内存8G8G8G
usernamerootrootroot
IP主机名功能
10.31.1.119hp5NameNode DataNode ResourceManager NodeManager
10.31.1.120hp6DataNode NodeManager
10.31.1.121hp7SecondryNameNode DataNode NodeManager

1.2 软件配置

软件版本
CentOS7.8
JavaJDK 8
Hadoop3.3.2

最开始使用open jdk11,后面安装hive和hudi的时候出了问题,改回JDK8版本后,问题解决。

1.3 安装常用的工具

yum install -y epel-release
yum install -y net-tools 
yum install -y vim

二. 安装前准备

2.1 设置主机名

hostname hadoop01 #设置临时主机名
vi /etc/hostname #设置永久主机名

2.2 设置hosts

10.31.1.119     hp5
10.31.1.120     hp6
10.31.1.121     hp7

2.3 关闭防火墙

systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #禁用防火墙

2.4 ssh免密登陆

#在每个节点上执行(所有节点)
ssh-keygen -t rsa #输入内容直接回车
#将生成的公钥添加到免密登陆keys中(主节点)
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#将公钥复制到2台从节点上(主节点)
scp ~/.ssh/id_rsa.pub root@hp6:~/
scp ~/.ssh/id_rsa.pub root@hp7:~/
#在从节点上将主节点的公钥添加到免密登陆keys中(非主节点)
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

2.5 ntpdate时间同步

yum -y install ntpdate
#同步时间
ntpdate -u ntp.sjtu.edu.cn
#定时同步,每小时整点执行一次
vi /etc/crontab
0 */1 * * * root ntpdate -u ntp.sjtu.edu.cn

三. 安装

hadoop_78">3.1 安装hadoop

hadoop_79">3.1.1 下载hadoop并解压

cd /home/software
#下载
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.2/hadoop-3.3.2.tar.gz --no-check-certificate
#解压
tar -zxvf hadoop-3.3.2.tar.gz -C /home

hadoop_home_87">3.1.2 配置hadoop_home环境变量

vi /etc/profile

export HADOOP_HOME=/home/hadoop-3.3.2

source /etc/profile

hadoophadoopenvsh_94">3.1.3 编辑etc/hadoop/hadoop-env.sh

cd /home/hadoop-3.3.2/etc/hadoop/
vi hadoop-env.sh
#添加如下内容
export JAVA_HOME=/usr/local/java/jdk1.8.0_211
export HADOOP_HOME=/home/hadoop-3.3.2
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_LOG_DIR=${HADOOP_HOME}/logs
export HADOOP_PID_DIR=${HADOOP_HOME}/pid

hadoopcoresitexml_106">3.1.4 编辑etc/hadoop/core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hp5:8020</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop_repo</value>
   </property>
</configuration>

hadoophdfssitexml_120">3.1.5 编辑etc/hadoop/hdfs-site.xml

<configuration>
  <property>
          <name>dfs.namenode.secondary.http-address</name>
          <value>hp5:50090</value>
  </property>
  <property>
          <name>dfs.replication</name>
          <value>3</value>
  </property>
  <property>
          <name>dfs.namenode.name.dir</name>
          <value>file:/home/hadoop-3.3.2/tmp/dfs/name</value>
  </property>
  <property>
          <name>dfs.datanode.data.dir</name>
          <value>file:/home/hadoop-3.3.2/tmp/dfs/data</value>
  </property>
</configuration>

hadoopmapredsitexml_143">3.1.6 编辑etc/hadoop/mapred-site.xml

<!--修改为如下内容:-->
<configuration>
  <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
  </property>
  <property>
          <name>mapreduce.jobhistory.address</name>
          <value>hp5:10020</value>
  </property>
  <property>
          <name>mapreduce.jobhistory.webapp.address</name>
          <value>hp5:19888</value>
  </property>
  <property>
          <name>yarn.app.mapreduce.am.env</name>
          <value>HADOOP_MAPRED_HOME=/home/hadoop-3.3.2</value>
  </property>
  <property>
          <name>mapreduce.map.env</name>
          <value>HADOOP_MAPRED_HOME=/home/hadoop-3.3.2</value>
  </property>
  <property>
          <name>mapreduce.reduce.env</name>
          <value>HADOOP_MAPRED_HOME=/home/hadoop-3.3.2</value>
  </property>
</configuration>

hadoopyarnsitexml_175">3.1.7 编辑etc/hadoop/yarn-site.xml

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <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_MAPRED_HOME</value>
    </property>
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>hp5</value>
	</property>
		<property>
		<name>yarn.log-aggregation-enable</name>
		<value>true</value>
	</property>
	<property>
		<name>yarn.log.server.url</name>
		<value>http://hp5:19888/jobhistory/logs/</value>
	</property>
	<property>
		<name>yarn.nodemanager.resource.memory-mb</name>
		<value>8192</value>
	</property>
	<property>
		<name>yarn.nodemanager.resource.cpu-vcores</name>
		<value>8</value>
	</property>
	#分配给每个Container(容器)的最小执行内存
	<property>
		<name>yarn.scheduler.minimum-allocation-mb</name>
		<value>128</value>
	</property>
</configuration>

hadoopworkers_215">3.1.8 编辑etc/hadoop/workers

hp5
hp6
hp7

3.1.9 编辑启动脚本

cd sbin
# 都加在脚本最前面
vi start-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

vi stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

vi start-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

vi stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

3.1.10 格式化HDFS

#将hadoop拷贝到其它节点
#格式化namenode节点
cd /home/hadoop-3.3.2/bin
bash hdfs namenode -format
#出现如下信息说明格式化成功
common.Storage: Storage directory /home/hadoop_repo/dfs/name has been successfully formatted.

image.png

3.1.11 启动集群

cd /home/hadoop-3.3.2/sbin
./start-all.sh #启动集群
./stop-all.sh #停止集群

cd /home/hadoop-3.3.2/bin/
./mapred --daemon start historyserver#每个节点启动

3.1.12 验证

#主节点jps
NameNode
SecondaryNameNode
ResourceManager
#从节点jps
DataNode
NodeManager

image.png
image.png
image.png

3.1.13 查看集群信息

#资源信息查看
http://10.31.1.119:8088/
#存储节点信息查看
http://10.31.1.119:9870/

3.1.14 命令查看日志

#资源信息查看
cd /home/hadoop-3.3.2/bin/
./yarn logs -applicationId application_1639553331593_0001

参考:

  1. https://blog.csdn.net/xiamu17/article/details/123760030
  2. https://blog.csdn.net/weixin_41083358/article/details/121775005
  3. https://zhuanlan.zhihu.com/p/534729570
  4. https://blog.csdn.net/u011109589/article/details/124852278

http://www.niftyadmin.cn/n/9184.html

相关文章

【解析】基于 卷积神经网络CNN 的 cat、dog、panda 分类 || 补充概念:滤波器、局部连接、权值共享、子采样 (汇聚层 || 池化层)

声明:仅学习使用喔~ Don’t judge. Just feel it. o(* ̄3 ̄)o 解析的是上一篇文章(源代码也在里面喔~):【整合】基于卷积神经网络CNN 的 cat、dog、panda 分类(同时我已经在里面指明 一些必要的 Python库 的版本以及 编译器的环境了) 同时,推荐阅读:建议收藏【整合】…

基于51单片机的倒车雷达设计

基于51单片机的倒车雷达的主板设计&#xff0c;采用四探头多路同步探测&#xff0c;确保返回值的准确性。 主要功能 本系统可具备以下几个功能&#xff1a; (1)倒车时&#xff0c;可显示车辆与后障碍物之间的距离&#xff1b; (2)可自由设定报警距离&#xff1b; (3)当车辆与障…

深度学习项目:男女性别识别【附完整源码】

性别分类对于人机交互应用和计算机辅助生理或心理分析等商业领域的许多应用至关重要&#xff0c;因为它包含有关男女特征差异的广泛信息。 本次案例收集了接近二十万的男女数据集图片。 文章目录性别分类简介使用 Python 进行性别分类的机器学习项目导入相关库和数据模型搭建…

【Java】SpringCloud基础知识点

SpringCloud什么是SpringCloud有哪些组件EurekaRibbonHystrixZuulConfigFeign什么是SpringCloud SpringCloud是一套分布式微服务的解决方案&#xff0c;Spring Cloud 的各个项目基于 Spring Boot&#xff0c;将 Netflix 的多个框架进行封装&#xff0c;并且通过自动配置的方式…

Allegro分Partition操作指导

Allegro分Partition操作指导 Allegro支持多人协同操作,可以将版本分割成很多个部分,让多人操作,具体操作步骤如下 Change editor 选择Team Design,点击OK 点击place design Partition,选择Create Patitions 空白的地方右击选择 ADD Rectangle 选择需要分割的区域 除…

单目标应用:求解旅行商问题(TSP)的猎豹优化算法(The Cheetah Optimizer,CO)提供MATLAB代码

一、猎豹优化算法 猎豹优化算法&#xff08;The Cheetah Optimizer&#xff0c;CO&#xff09;由MohammadAminAkbari等人于2022年提出&#xff0c;该算法性能高效&#xff0c;思路新颖。 参考文献&#xff1a; Akbari, M.A., Zare, M., Azizipanah-abarghooee, R. et al. The…

IPWorks Encrypt Delphi强加密的一整套组件

IPWorks Encrypt Delphi强加密的一整套组件 通过主要加密标准实现强加密的一整套组件。 IPWorks Encrypt是一个广泛的组件库&#xff0c;允许您通过主要的加密标准(包括S/MIME、OpenPGP、TripleDES、TwoFish、RSA、AES等)对文件、电子邮件、文档和消息进行加密和解密。 IPWorks…

如何度量预测用户付费的误差

在广告&#xff0c;电商&#xff0c;游戏等行业中&#xff0c;预测用户付费是核心的业务场景&#xff0c;能直接帮助提升收入&#xff0c;利润等核心业务指标&#xff0c;堪称预测中的明星。在预测用户付费的系列文章中&#xff0c;结合作者理论和工程实践经验&#xff0c;深入…