目录
一、前言
Hadoop分布式文件系统(HDFS)是Hadoop生态系统中最基础的组件,负责存储大规模数据并提供高效的数据访问。HDFS通过分布式架构将数据分片存储在不同节点上,并实现了容错和高可用性。本文将详细介绍如何在Linux环境下安装Hadoop HDFS以及如何搭建一个简单的分布式HDFS集群。
二、 环境准备
在开始HDFS安装之前,需要准备好基本的运行环境。
- 操作系统:建议使用Linux(如CentOS或Ubuntu)
- JDK:Hadoop依赖Java环境,需安装JDK 8或以上版本
- SSH免密登录:配置各个节点之间的免密登录,方便Hadoop节点之间的通信
2.1 安装JDK
2.1.1、创建文件夹,用于存放安装包和软件
mkdir -p /opt/modules --以后存放安装包
mkdir -p /opt/installs --以后存放解压后的软件
2.1.2、上传并解压
tar -zxvf jdk-8u321-linux-x64.tar.gz -C /opt/installs
2.1.3、重命名
-- 进入文件夹
cd /opt/installs
-- 进行重命名
mv jdk1.8.0_171 jdk
2.1.4、配置环境变量
-- 打开文件
vi /etc/profile
-- 在文件的最后追加,不要删除别人的任何配置
export JAVA_HOME=/opt/installs/jdk
export PATH=$PATH:$JAVA_HOME/bin
2.1.5、刷新配置文件并验证
source /etc/profile -- 刷新权限
java -version -- 验证
2.2、配置SSH免密登录
2.2.1、首先需要在BigData01上生成公钥和私钥
ssh-keygen -t rsa
2.2.2生成的公钥和私钥的位置
/root/.ssh/id_rsa
2.2.3、将公钥复制到所有集群节点,包括本地主机
ssh-copy-id user@hostname
或
ssh-copy-id 节点主机名 或 ssh-copy-id ip
2.2.4、验证本地主机是否可以远程登录其他节点
ssh 主机名/ip --不需要输入密码即可登录
exit --退出当前的登录
三、Hadoop安装
3.1、上传并解压
cd /opt/moudles
tar -zxvf hadoop-3.3.1.tar.gz -C /opt/installs/
3.2、重命名
cd /opt/installs/
mv hadoop-3.3.1 hadoop
3.3、开始配置环境变量
vi /etc/profile
export JAVA_HOME=/opt/installs/jdk
export HADOOP_HOME=/opt/installs/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
3.4、刷新配置文件
source /etc/profile
3.5、验证hadoop命令是否可以识别
hadoop version
三、分布式搭建
3.1、伪分布模式
3.1.1、搭建前的准备工作:
-- 环境准备⼯作:
1、安装了jdk
2、安装了hadoop
3、关闭了防⽕墙
4、免密登录
⾃⼰对⾃⼰免密
ssh-copy-id bigdata01 选择yes 输⼊密码
测试免密是否成功: ssh bigdata01
5、修改linux的⼀个安全机制
vi /etc/selinux/config
修改⾥⾯的 SELINUX=disabled
6、设置host映射
3.1.2、修改配置文件
配置文件位置: /opt/installs/hadoop/etc/hadoop
core-site.xml
<configuration>
<!-- 设置namenode节点 -->
<!-- 注意: hadoop1.x时代默认端⼝9000 hadoop2.x时代默认端⼝8020 hadoop3.x时 代默认端⼝ 9820 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata01:9820</value>
</property>
<!-- hdfs的基础路径,被其他属性所依赖的⼀个基础路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/installs/hadoop/tmp</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<!--备份数量-->
<name>dfs.replication</name>
<value>1</value>
</property>
<!--secondarynamenode守护进程的http地址:主机名和端⼝号。参考守护进程布局 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>bigdata01:9868</value>
</property>
<!-- namenode守护进程的http地址:主机名和端⼝号。参考守护进程布局 -->
<property>
<name>dfs.namenode.http-address</name>
<value>bigdata01:9870</value>
</property>
</configuration>
hadoop-env.sh
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 JAVA_HOME=/opt/installs/jdk
3.1.3、格式化namenode
最后对整个集群记性namenode格式化:
hdfs namenode -format
3.1.4、启动集群
start-dfs.sh
3.2、全分布模式
全分布模式:必须至少有三台以上的Linux。
前期准备工作:
3.2.1、准备三台服务器
目前有两台,克隆第二台(因为第二台没有安装mysql), 克隆结束后,进行修复操作
1) 修改IP 2) 修改主机名 3)修改映射文件hosts
1、安装JDK
2、设置host映射
远程拷贝:
scp -r /etc/hosts root@主机名:/etc/
3、免密登录
4、安装Hadoop(第一台)
5、关闭防火墙
systemctl status firewalld
6、修改linux的⼀个安全机制
vi /etc/selinux/config
修改⾥⾯的 SELINUX=disabled
3.2.2、修改bigdata01配置文件
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!--secondarynamenode守护进程的http地址:主机名和端⼝号。参考守护进程布局 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>bigdata02:9868</value>
</property>
<!-- namenode守护进程的http地址:主机名和端⼝号。参考守护进程布局 -->
<property>
<name>dfs.namenode.http-address</name>
<value>bigdata01:9870</value>
</property>
</configuration>
3.2.3、修改workers
主机名01
主机名02
主机名03
3.2.4、分发配置文件
修改配置文件(第一台),分发到另外两台(远程拷贝)
scp -r /opt/installs/hadoop/ 主机名:/opt/installs/
3.2.5、拷贝环境变量
scp -r /etc/profile root@主机名:/etc/
将环境变量拷贝到另外两台
刷新环境变量 source /etc/profile
3.2.6、格式化namenode
hdfs namenode -format
3.2.7、启动HDFS
start-dfs.sh
3.2.8、验证HDFS是否正常运行
访问HDFS的Web界面,默认地址为:http://ip(主机ip地址):9870
四、总结
本文介绍了如何在Linux环境下安装Hadoop HDFS,并进行了简单的单节点和多节点分布式集群搭建。通过配置Hadoop的核心文件、格式化NameNode、启动HDFS集群,我们可以顺利搭建一个高可用、高容错的HDFS分布式文件系统。HDFS是Hadoop生态系统的基石,熟练掌握其安装及配置是大数据处理的基础。