安装与部署Hadoop

一、前置安装准备

1、机器

主机名 ip 服务
node1 192.168.233.100 NameNode、DataNode、SecondaryNameNode
node2 192.168.233.111 DataNode
node3 192.168.233.222 DataNode

配置host

bash 复制代码
hostnamectl set-hostname node1

vim /etc/hosts

192.168.233.100 node1
192.168.233.111 node2
192.168.233.222 node3

关闭防火墙,关闭selinux

bash 复制代码
systemctl stop firewalld
systemctl disable firewalld

vim /etc/sysconfig/selinux
SELINUX=disabled
setenforce 0

2、java

需要安装java

bash 复制代码
rz
tar -zxvf jdk-8u381-linux-x64.tar.gz -C /
ln -s /jdk1.8.0_381/ /jdk
# rm jdk-8u381-linux-x64.tar.gz

vim /etc/profile
export JAVA_HOME=/jdk
export PATH=$PATH:$JAVA_HOME/bin
# source /etc/profile
ln -s /jdk/bin/java /usr/bin/java

3、创建hadoop用户

后续hadoop程序用hadoop用户启动

bash 复制代码
uesradd hadoop
passwd hadoop # 123456

su hadoop
ssh-keygen -t rsa -b 4096
ssh-copy-id 192.168.233.100
ssh-copy-id 192.168.233.111
ssh-copy-id 192.168.233.222

二、安装Hadoop

Hadoop可以选择清华源或者官网下载官网

bash 复制代码
rz	# 上传hadoop包到机器
tar -zxvf hadoop-3.3.6.tar.gz -C /	# 解压到对应目录
ln -s /hadoop-3.3.6/ /hadoop	# 创建软连接
# rm -rf hadoop-3.3.6.tar.gz 删除包
bash 复制代码
[root@localhost hadoop]# ll /hadoop
total 92
drwxr-xr-x. 2 1000 1000   203 Jun 18  2023 bin	# 存放hadoop命令
drwxr-xr-x. 3 1000 1000    20 Jun 18  2023 etc	# 存放配置文件
drwxr-xr-x. 2 1000 1000   106 Jun 18  2023 include
drwxr-xr-x. 3 1000 1000    20 Jun 18  2023 lib
drwxr-xr-x. 4 1000 1000  4096 Jun 18  2023 libexec
-rw-rw-r--. 1 1000 1000 24276 Jun 13  2023 LICENSE-binary
drwxr-xr-x. 2 1000 1000  4096 Jun 18  2023 licenses-binary
-rw-rw-r--. 1 1000 1000 15217 Jun  9  2023 LICENSE.txt
-rw-rw-r--. 1 1000 1000 29473 Jun  9  2023 NOTICE-binary
-rw-rw-r--. 1 1000 1000  1541 Jun  9  2023 NOTICE.txt
-rw-rw-r--. 1 1000 1000   175 Jun  9  2023 README.txt
drwxr-xr-x. 3 1000 1000  4096 Jun 18  2023 sbin	# 管理员程序
drwxr-xr-x. 4 1000 1000    31 Jun 18  2023 share

三、环境配置

均在 /hadoop/etc/hadoop 目录下

1、workers

配置DataNode 从节点,以此告诉集群有多少个节点

bash 复制代码
vim etc/hadoop/workers

# localhost
192.168.233.100
192.168.233.111
192.168.233.222

2、hadoop-env.sh

配置Hadoop相关环境变量

bash 复制代码
vim etc/hadoop/hadoop-env.sh

export JAVA_HOME=/jdk
export HADOOP_HOME=/hadoop
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_LOG_DIR=${HADOOP_HOME}/logs

3、core-site.xml

Hadoop 核心配置文件

bash 复制代码
vim /hadoop/etc/hadoop/core-site.xml

<configuration>
        <property>
                <name>fs.defaultFS</name>	# HDFS文件系统的网络通讯路径
                <value>hdfs://192.168.233.100:8020</value>	# 表明datanode将和192.168.233:8020通讯,该配置固定了192.168.233:8020是NameNode进程
        </property>

        <property>
                <name>io.file.buffer.size</name>	# io操作文件缓冲区大小,单位是bit
                <value>131072</value>
        </property>
</configuration>

4、hdfs-site.xml

HDFS 核心配置文件

bash 复制代码
vim /hadoop/etc/hadoop/hdfs-site.xml

<configuration>
        <property>
                <name>dfs.datanode.data.dir.perm</name>	# 定义hdfs文件系统默认创建文件的权限,700
                <value>700</value>
        </property>

        <property>
                <name>dfs.namenode.name.dir</name>	# NameNode元数据存储位置,在192.168.233.100/data/nm下
                <value>/data/nn</value>
        </property>

        <property>
                <name>dfs.namenode.hosts</name>	# namenode允许哪几个datanode连接,定义允许加入集群
                <value>192.168.233.100,192.168.233.111,192.168.233.222</value>
        </property>

        <property>
                <name>dfs.blocksize</name>	# 定义block块大小,256MB
                <value>268435456</value>
        </property>

        <property>
                <name>dfs.namenode.handler.count</name>	# 定义namenode处理的并发线程数
                <value>100</value>
        </property>

        <property>
                <name>dfs.datanode.data.dir</name>	# data数据存储目录
                <value>/data/dn</value>
        </property>

</configuration>
bash 复制代码
# node1 
mkdir -p /data/nn
mkdir -p /data/dn

# node2、node3
mkdir -p /data/dn

5、linux中Hadoop环境变量

bash 复制代码
vim /etc/profile

export HADOOP_HOME=/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

# source /etc/profile
bash 复制代码
chown -R hadoop:hadoop /jdk1.8.0_381
chown -R hadoop:hadoop /jdk
chown -R hadoop:hadoop /hadoop-3.3.6
chown -R hadoop:hadoop /hadoop
chown -R hadoop:hadoop /data

四、启动hadoop

bash 复制代码
su hadoop
hadoop namenode -format	# 格式化namenode 
start-dfs.sh
# stop-dfs.sh 停止

五、验证



相关推荐
GIS数据转换器27 分钟前
延凡城市生命线系统
大数据·人工智能·信息可视化·数据挖掘·无人机
摇滚侠42 分钟前
JAVA 项目教程《黑马商城-Redis 篇》,分布式架构项目,从开发到部署
java·redis·分布式
运维行者_1 小时前
网络监控方案从零开始 -- 企业级完整指南
大数据·运维·服务器·网络·数据库·人工智能·自动化
l1t2 小时前
四种python工具包用SQL查询csv和parquet文件的方法比较
大数据·python·sql
weixin_505154463 小时前
博维数孪创新引领,3D作业指导助力制造业升级
大数据·人工智能·3d·数字孪生·数据可视化·产品交互展示
LONGZETECH5 小时前
新能源汽车维护仿真软件技术架构解析+ 教学落地实操
大数据·c语言·人工智能·架构·汽车·汽车仿真教学软件·汽车教学软件
星辰_mya6 小时前
Redlock 算法:是分布式锁的“圣杯”还是“鸡肋”
jvm·redis·分布式·面试·redlock
武子康6 小时前
大数据-250 离线数仓 - 电商分析 Hive 数仓 ADS 层订单分析实战:全国/大区/城市分类汇总与 Airflow 调度
大数据·后端·apache hive
QYR_Jodie7 小时前
半导体与新能源电子驱动,稳增前行:全球激光焊锡机2026-2032年CAGR4.7%,2032年锚定1.32亿美元
大数据·市场报告
SelectDB7 小时前
PostgreSQL + Apache Doris:构建用于实时分析的 HTAP 架构
大数据·数据库·数据分析