HDFS 伪分布式的搭建

三种分布式介绍

1,伪分布式
在一台服务器上,启动多个进程,分别表示各个角色

2,完全分布式
在多台服务器上,每台服务器启动不同角色的进程,使用多台服务器组成HDFS集群
node01:namenode
node02:secondarynamenode datanode
node03:datanode
node04:datanoode

3,高可用性的完全分布式
node01:namenode
node02:secondarynamenode datanode
node03:datanode namenode
node04:datanode

伪分布式的搭建

免密登录

node01->node01

ssh-keygen -t rsa	//生成公钥
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node01	//将公钥添加到node01

配置JDK(和window相似)

①rz安装命令(上传文件)

yum -y install lrzsz 
rz //上传文件

②解压缩,找合适的文件位置存放

tar -zxvf jdk-8u151-linux-x64.tar.gz /usr/local

③配置环境变量

#接着需要配置JAVA环境变量.
vim ~/.bashrc
# 在文件最后添加
export JAVA_HOME=/usr/local/jdk-9.0.1-1
export PATH=$JAVA_HOME/bin:$PATH
# 接下来需要使用source命令是环境变量生效.
source ~/.bashrc

④检验jdk是否安装成功

java -version

安装hadoop

sudo tar -zxvf hadoop-2.8.2.tar.gz -C /usr/local
# 将hadoop解压到/usr/local
sudo mv hadoop-2.8.2 hadoop 
# 将文件夹重命名为hadoop(可选,方便后续添加环境变量)

hadoop相关文件配置

①配置环境变量

vim ~/.bashrc
# 在文件最后添加:
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
# 保存推出 :wq
# 使用source命令,是环境变量生效.
source ~/.bashrc

②修改hdfs-site.xml配置文件

<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>

<property>     
	 <name>dfs.namenode.secondary.http-address</name>
 	 <value>node01:50090</value>
</property>

③修改core-site.xml配置文件

<property>
 	   <name>fs.defaultFS</name>
  	  <value>hdfs://node01:9000</value>
</property>
<property>
    	<name>hadoop.tmp.dir</name>
    	<value>/var/abc/hadoop/local</value>
</property>

④修改slaves配置文件

node01

格式化NameNode

hdfs namenode -format

启动HDFS

start-dfs.sh

操作HDFS文件系统

①创建目录

hdfs dfs -mkdir -p /user/root

②上传文件

hdfs dfs -D dfs.blocksize=1048576 -put /home/node02/hello.txt /user

安装过程中遇到的问题

①java异常,找不到指定的address
解决:更改hadoop安装包中的配置文件hadoop-env.sh
在这里插入图片描述
把图中的JAVA_HOME=${JAVA_HOME}更改成jdk安装的绝对路径
②java异常 ,找不到node01节点
解决:更改配置文件hosts

vi /etc/hosts

在这里插入图片描述
把第一个localhost改成node01

### HDFS伪分布式配置指南 #### 准备工作 为了在头歌大数据平台进行HDFS伪分布式配置,需确保已安装好JDK环境并设置好环境变量。接着按照以下操作准备必要的软件包。 对于Hadoop的部署,在执行构建镜像命令之前,应把对应版本的Hadoop和JDK的jar包放置于相应文件目录下[^3]。 ```bash docker build -f hadoop-2.7.5-Dockerfile -t gzq/hadoop2.7.5:pseudo-1.0 ``` #### 修改配置文件 进入Hadoop解压后的conf目录,编辑`core-site.xml`, `hdfs-site.xml`两个主要配置文件来适应伪分布式的特性: 核心站点配置(`core-site.xml`)如下所示: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` HDFS站点配置(`hdfs-site.xml`)则定义数据块副本数量等参数: ```xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> ``` #### 启动HDFS服务 完成上述配置更改之后,可以通过启动脚本来开启NameNode与DataNode的服务进程。通常情况下,这一步骤是在`sbin/start-dfs.sh`的帮助下实现。 #### 测试上传文件至HDFS 验证HDFS是否正常运行的一个简单方法就是尝试向其内部传输一个小文本文件作为测试案例。创建本地文件后利用HDFS客户端指令将其推送上去[^2]: ```bash [root@bigdata ~]# echo "This is a test file." > test.txt [root@bigdata ~]# hdfs dfs -mkdir /testdir [root@bigdata ~]# hdfs dfs -put test.txt /testdir/ [root@bigdata ~]# hdfs dfs -ls /testdir Found 1 items -rw-r--r-- 1 root supergroup 0 2023-04-05 10:00 /testdir/test.txt ``` 以上过程展示了如何在一个节点上搭建起具备基本功能的小型集群模式下的HDFS实例,并进行了简单的读写测试以确认系统的可用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值