Hadoop:单机伪分布式部署

目录

一、配置安装环境

[1.1 环境要求](#1.1 环境要求)

[1.2 配置环境](#1.2 配置环境)

二、单机伪分布式部署

[2.1 下载hadoop](#2.1 下载hadoop)

[2.2 解压hadoop](#2.2 解压hadoop)

[2.3 配置hadoop环境](#2.3 配置hadoop环境)

[2.4 配置 hadoop-env.sh 文件](#2.4 配置 hadoop-env.sh 文件)

[2.5 配置 core-site.xml 文件](#2.5 配置 core-site.xml 文件)

[2.6 配置 hdfs-site.xml 文件](#2.6 配置 hdfs-site.xml 文件)

[2.7 格式化文件系统](#2.7 格式化文件系统)

[2.8 启动dfs](#2.8 启动dfs)

[2.9 浏览器访问](#2.9 浏览器访问)

三、Hadoop常用命令

[3.1 HDFS 命令](#3.1 HDFS 命令)

[3.2 其他命令](#3.2 其他命令)


一、配置安装环境

1.1 环境要求

  • GNU/Linux系统
  • JDK1.8及以上,hadoop3.4支持jdk17上运行
  • 免密登录

1.2 配置环境

  • 安装jdk

可参考搭建环境02:安装前准备(配置CentOS7)_centos 安装 yum-CSDN博客本篇中安装jdk部分安装。

  • 配置免密登录
bash 复制代码
  $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  $ chmod 0600 ~/.ssh/authorized_keys

二、单机伪分布式部署

2.1 下载hadoop

bash 复制代码
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.4.1/hadoop-3.4.1.tar.gz

2.2 解压hadoop

bash 复制代码
tar -zxvf hadoop-3.4.1.tar.gz -C /data/opt/
ln -s /data/opt/hadoop-3.4.1 /data/opt/hadoop

2.3 配置hadoop环境

vi ~/.bash_profile

bash 复制代码
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
JAVA_HOME=/data/opt/jdk
SPARK_HOME=/data/opt/spark
HADOOP_HOME=/data/opt/hadoop
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$JAVA_HOME/bin:$SPARK_HOME/sbin:$SPARK_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export PATH JAVA_HOME SPARK_HOME HADOOP_HOME

2.4 配置 hadoop-env.sh 文件

修改hadoop-env.sh文件,配置JAVA_HOME目录:

bash 复制代码
  # set to the root of your Java installation
  export JAVA_HOME=/data/opt/jdk

2.5 配置 core-site.xml 文件

XML 复制代码
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <!-- 指定 hadoop 运行时产生文件的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/data/db/hadoop</value>
    </property>
</configuration>

2.6 配置 hdfs-site.xml 文件

XML 复制代码
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
     <!-- NameNode 数据存储目录-->
     <property>
         <name>dfs.namenode.name.dir</name>
         <value>file://${hadoop.tmp.dir}/name</value>
     </property>
     <!-- DataNode 数据存储目录-->
     <property>
         <name>dfs.datanode.data.dir</name>
         <value>file://${hadoop.tmp.dir}/data</value>
     </property>
</configuration>

2.7 格式化文件系统

bash 复制代码
$ bin/hdfs namenode -format

2.8 启动dfs

bash 复制代码
$ sbin/start-dfs.sh

2.9 浏览器访问

三、Hadoop常用命令

3.1 HDFS 命令

  • 查看文件
bash 复制代码
hdfs dfs -ls /path:列出指定目录下的文件和子目录信息
hdfs dfs -cat /path/to/file:显示文件内容
  • 创建目录
bash 复制代码
hdfs dfs -mkdir -p /path/to/directory:创建一个或多个层级的目录
  • 上传文件
bash 复制代码
hdfs dfs -put localfile /user/hadoop/hadoopfile:将本地文件复制到 HDFS 中
hdfs dfs -copyFromLocal localfile /user/hadoop/hadoopfile:等同于-put,将本地文件复制到 HDFS
  • 下载文件
bash 复制代码
hdfs dfs -get /user/hadoop/hadoopfile localfile:将 HDFS 文件复制到本地文件系统
hdfs dfs -copyToLocal /user/hadoop/hadoopfile localfile:等同于-get,将 HDFS 文件复制到本地
  • 删除文件或目录
bash 复制代码
hdfs dfs -rm /path/to/file:删除文件
hdfs dfs -rm -r /path/to/directory:递归删除目录及其所有内容
  • 移动文件
bash 复制代码
hdfs dfs -mv /old/path /new/path:移动或重命名文件
  • 查看文件状态
bash 复制代码
​hdfs dfs -stat [format] /path/to/file:以指定格式输出文件的状态信息
  • 更改文件权限
bash 复制代码
hdfs dfs -chmod 755 /path/to/file:更改文件权限
  • 更改文件所有者
bash 复制代码
hdfs dfs -chown user:group /path/to/file:更改文件的所有者和组

3.2 其他命令

  • 格式化 NameNode
bash 复制代码
hdfs namenode -format:首次启动集群前格式化 NameNode。
  • 启动和停止 Hadoop 集群
bash 复制代码
start-dfs.sh 和 stop-dfs.sh:分别启动和停止 HDFS
相关推荐
武子康9 小时前
大数据-242 离线数仓 - DataX 实战:MySQL 全量/增量导入 HDFS + Hive 分区(离线数仓 ODS
大数据·后端·apache hive
SelectDB1 天前
易车 × Apache Doris:构建湖仓一体新架构,加速 AI 业务融合实践
大数据·agent·mcp
武子康2 天前
大数据-241 离线数仓 - 实战:电商核心交易数据模型与 MySQL 源表设计(订单/商品/品类/店铺/支付)
大数据·后端·mysql
茶杯梦轩2 天前
从零起步学习RabbitMQ || 第三章:RabbitMQ的生产者、Broker、消费者如何保证消息不丢失(可靠性)详解
分布式·后端·面试
IvanCodes2 天前
一、消息队列理论基础与Kafka架构价值解析
大数据·后端·kafka
武子康3 天前
大数据-240 离线数仓 - 广告业务 Hive ADS 实战:DataX 将 HDFS 分区表导出到 MySQL
大数据·后端·apache hive
回家路上绕了弯3 天前
深入解析Agent Subagent架构:原理、协同逻辑与实战落地指南
分布式·后端
字节跳动数据平台3 天前
5000 字技术向拆解 | 火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
武子康4 天前
大数据-239 离线数仓 - 广告业务实战:Flume 导入日志到 HDFS,并完成 Hive ODS/DWD 分层加载
大数据·后端·apache hive
字节跳动数据平台5 天前
代码量减少 70%、GPU 利用率达 95%:火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据