单点hadoop340部署

7 阅读2分钟

(伪分布式模式)

一、准备

# 安装包
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.4.0/hadoop-3.4.0.tar.gz


# 部署的主机
172.21.27.29
# 部署路径
/data/hadoop/hadoop340

hadoop hive 版本 兼容性 问题

  • Hive 2.x 通常支持 Hadoop 2.7.x

  • Hive 3.x 通常支持 Hadoop 2.8.x 和 Hadoop 3.x

  • Hive 4.x 开始支持更高版本的 Hadoop




二、部署

  1. 下载安装包


  1. 确认jdk

 # 下载Hadoop安装包 tar.gz
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.4.0/hadoop-3.4.0.tar.gz
  1. 解压安装包

 # 解压与配置
tar -zxvf hadoop-3.4.0.tar.gz -C /data/hadoop

  1. 文件名改名

# 
mv hadoop-3.4.0 hadoop340

  1. 编辑hadoop-env.sh

 # 编辑 hadoop-env.sh,其中添加JAVA环境变量
vim /data/hadoop/hadoop340/etc/hadoop/hadoop-env.sh
# java home
export JAVA_HOME=/usr/local/java11



# 添加hdfs用户信息
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

# 如下四个参数,如果启动失败,就需要添加定义
# export HDFS_ JOURNALNODE _USER=root
# export HADOOP_ HEAPSIZE _MAX=131072
# export HADOOP_ HEAPSIZE=2048
# export YARN _HEAPSIZE=2048

  1. 配置profile环境变量

 # 配置 /etc/profile
vim /etc/profile
export PATH=$PATH:/data/hadoop/hadoop340/bin:/data/hadoop/hadoop340/sbin

  1. 加载环境变量

 #
source /etc/profile

  1. 验证hadoop

 # 生效后,验证hadoop
hadoop

  1. 设置节点之间免密(本节点到本节点)

本节点到本节点免密


  1. 创建hadoop存放数据的文件夹

# 
mkdir -p /data/hadoop/hadoop_data/dfs/name

  1. 配置core-site.xml


vi /data/hadoop/hadoop340/etc/hadoop/core-site.xml
# 添加如下


<configuration>
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://172.21.27.29:9000</value>
  <description>HDFS 的 URI,文件系统://namenode标识:端口</description>
</property>

<property>
  <name>hadoop.tmp.dir</name>
  <value>/data/hadoop/hadoop_data</value>
  <description>namenode 上传到 hadoop 的临时文件夹</description>
</property>

<property>
    <name>fs.trash.interval</name>
    <value>4320</value>
</property>
 <property>
   <name>dfs.webhdfs.enabled</name>
   <value>true</value>
 </property>
</configuration>

  1. 配置hdfs-site.xml


vi /data/hadoop/hadoop340/etc/hadoop/hdfs-site.xml
# 添加如下配置

<configuration>
<property>
   <name>dfs.namenode.name.dir</name>
   <value>/data/hadoop/hadoop_data/dfs/name</value>
   <description>datanode 上存储 hdfs 名字空间元数据</description>
 </property>
 
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>/data/hadoop/hadoopDir/dfs/data</value>
   <description>datanode 上数据块的物理存储位置</description>
 </property>
 
 <property>
   <name>dfs.replication</name>
   <value>1</value>
   <description>副本个数,默认配置是 3,应小于 datanode 机器数量</description>
 </property>
 
 <property>
   <name>dfs.webhdfs.enabled</name>
   <value>true</value>
 </property>
 
 <property>
   <name>dfs.permissions.superusergroup</name>
   <value>staff</value>
 </property>
 
 <property>
   <name>dfs.permissions.enabled</name>
   <value>false</value>
 </property>
</configuration>
  1. 配置NameNode节点

# hdfs的格式化
# 在master机器上,输入命令HDFS格式化磁盘
hdfs namenode -format

  1. 启动hdfs

 # 格式完后,启动hdfs
start-dfs.sh


# 停止
stop-dfs.sh

  1. 验证


  1. 完成




三、hadoop常用命令汇总


#
hadoop fs -ls /

# 创建目录
hadoop fs -mkdir -p /user/root/input

#
hadoop fs -mkdir /sundemo

# 上传文件到HDFS
hadoop fs -put /local/path/to/file /user/root/input

# 查看上传的文件
hadoop fs -ls /user/root/input

# 删除目录
hadoop fs -rm -r /user/root/input

# 查看HDFS上的文件内容
hadoop fs -cat /user/root/input/file.txt

# 查看HDFS上的目录结构
hadoop fs -ls -R /

# 查看HDFS上的文件大小
hadoop fs -du /user/root/input/file.txt

# 查看HDFS上的文件块信息
hadoop fs -blkLocations /user/root/input/file.txt

# 在hdfs上创建txt文件
hadoop fs -touchz /sundemo/file02.txt

# 向hdfs上的txt文件写入内容
hadoop fs -appendToFile /sundemo/file02.txt "hello world"

# 查看hdfs中txt文件的内容
hadoop fs -cat /sundemo/file02.txt
# 查看txt文件大小
hadoop fs -du /sundemo/file02.txt

# 向hdfs中的txt文件写入数据 hello world
hadoop fs -appendToFile /sundemo/file.txt "hello world"

# 查看txt文件大小
hadoop fs -ls /sundemo/file.txt
#
hadoop fs -cat /sundemo/file.txt

# 上传文件到HDFS
hadoop fs -put /data/hive/onedemo.txt /sundemo/onedemo.txt

#
hdfs dfs -ls /sundemo
# 查看上传的文件内容
hdfs dfs -cat /sundemo/onedemo.txt