HDFS-Spark-Hudi环境的搭建及测试

HDFS-Spark-Hudi环境的搭建及测试

由于需要进行Hudi的详细选型,本文从0开始搭建一个Spark+Hudi的环境,并进行简单使用。

1. 前提假设

1)假设在Linux进行环境安装,操作系统选择Ubuntu 22.04 LTS版本。

2)Ubuntu的源配置清华源。

3)JDK安装完毕(当前是1.8版本,1.8.0_333)。

2. 配置免密登录(Hadoop脚本需要)

2.1 安装openssh服务

sudo apt-get install openssh-server
sudo service ssh restart

2.2 localhost免密登录

ssh-keygen -t rsa
ssh-copy-id -i id_rsa <your user name>@localhost

ssh localhost

3. Hadoop安装

Hadoop安装的是单节点伪分布式环境,版本选择和后继的Spark选择有关联。

例如:Hadoop 3.2.3

Hudi当前支持的是Spark3.2,对应的Spark也是3.2。

3.1 下载并解压

1)下载hadoop二进制包 https://hadoop.apache.org/releases.html

2)解压缩到自己方便的安装目录

3.2 Hadoop配置并运行 HDFS

1)添加环境变量 ~/.profile:

vi ~/.profile

export HADOOP_HOME=<YOUR_HADOOP_DECOMPRESSD_PATH>
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"

source ~/.profile

给$HADOOP_HOME/etc/hadoop/hadoop-env.sh添加两个环境变量设置:

export JAVA_HOME=<YOUR_JAVA_HOME_PATH>
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"

此处很奇怪,不知道为什么系统的JAVA_HOME没生效,在这个hadoop-env.sh中还要再设置一次,不然后面启动dfs的时候报错。

运行下hadoop version看下是否能执行

$ hadoop version
Hadoop 3.2.3
Source code repository https://github.com/apache/hadoop -r abe5358143720085498613d399be3bbf01e0f131
Compiled by ubuntu on 2022-03-20T01:18Z
Compiled with protoc 2.5.0
From source with checksum 39bb14faec14b3aa25388a6d7c345fe8
This command was run using /<your path>/hadoop-3.2.3/share/hadoop/common/hadoop-common-3.2.3.jar

2)创建几个hadoop存储文件的本地目录:

$ tree dfs
dfs
├── data
├── name
└── temp

3)修改配置文件

$HADOOP_HOME/etc/hadoop/core-site.xml

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/opt/dfs/temp</value>      <---- 你自己的临时文件目录
    <description>Abase for other temporary directories.</description>
  </property>
</configuration>

$HADOOP_HOME/etc/hadoop/hdfs-site.xml

<configuration>
  <!--指定hdfs中namenode的存储位置-->
  <property>
    <name>dfs.namenode.name.dir</name> 
    <value>/opt/dfs/name</value>         <---- 你自己的HDFS本地Namenode存储目录
  </property>
  <!--指定hdfs中datanode的存储位置-->
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/opt/dfs/data</value>         <---- 你自己的HDFS本地数据存储目录
  </property>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.permissions</name>
    <value>false</value>
  </property>
</configuration>

4)格式化namenode

hdfs namenode -format

$ tree
.
├── data
├── name
│   └── current
│       ├── fsimage_0000000000000000000
│       ├── fsimage_0000000000000000000.md5
│       ├── seen_txid
│       └── VERSION
└── temp

4 directories, 4 files

5)启动Hadoop

start-all.sh

$ jps
13392 Jps
12363 NameNode
12729 SecondaryNameNode
12526 DataNode
12931 ResourceManager
13077 NodeManager

http://localhost:9870

就可以看到HDFS的管理页面。

4. Hive安装

因为Spark SQL需要使用Hive Meta Store(HMS),需要安装Hive。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值