目录
[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 浏览器访问)
[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