hadoop(1)--hdfs部署(亲测可用)

一、准备:

1、三台集群部署,配置hosts

复制代码
#cat /etc/hosts
192.168.46.128 node1    #nameNode dataNode secondaryNameNode
192.168.46.129 node2    #datanode
192.168.46.130 node3    #datanode

说明:

NameNode: 主节点管理者

DataNode:从节点工作者

SecondaryNameNode:主节点辅助

2、三台节点做相互免密。

复制代码
    node1 ->node2; node1->node3;
    node2 ->node1; node2 ->node3;
    node3 ->node1; node3 ->node2;

生成ssh

复制代码
ssh-key-gen -t rsa       #一路回车
ssh-copy-ip   节点名称    # 拷贝公钥

3、安装java环境

复制代码
#1、 上传安装包,解包。
cd /usr/local/java/   

#2、修改profile配置文件,最后追加
# vim /etc/profile
JAVA_HOME=/usr/local/java/jdk1.8.0_221
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

二、上传hadoop安装包

1、创建hadoop目录

复制代码
mkdir /data/hadoop

三、修改配置文件

所有配置文件都在hadoop包中etc目录下:

1、修改core-site.xml文件

复制代码
# vim hadoop-3.3.6/etc/hadoop/core-site.xml
<configuration>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://node1:8020</value>
  </property>
  <property>
    <name>io.file.buffer.size</name>
    <value>131072</value>
  </property>
</configuration>

2、修改hadoop-env.sh文件

复制代码
# vim hadoop-3.3.6/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/local/java    #修改安装的Java目录
export HADOOP_HOME=/data/hadoop/hadoop-3.3.6    #修改当前hadoop的路径
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop    
export HADOOP_LOG_DIR=$HADOOP_HOME/logs

3、修改hdfs-site.xml文件

复制代码
# vim hadoop-3.3.6/etc/hadoop/hdfs-site.xml
<configuration>
<property>
    <name>dfs.datanode.data.dir.perm</name>
    <value>700</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/data/hadoop/data/nn</value>
  </property>
  <property>
    <name>dfs.namenode.hosts</name>
    <value>node1,node2,node3</value>
  </property>
  <property>
    <name>dfs.blocksize</name>
    <value>268435456</value>
  </property>
  <property>
    <name>dfs.namenode.handler.count</name>
    <value>100</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/data/hadoop/data/dn</value>
  </property>
</configuration>

4、修改workers配置

复制代码
#vim hadoop-3.3.6/etc/hadoop/workers
node1
node2
node3

5、创建数据目录

复制代码
# node1 节点创建:
mkdir /data/hadoop/data/dn
mkdir /data/hadoop/data/nn

# node2、 node3 节点创建:
mkdir /data/hadoop/data/dn

6、创建hadoop用户,并授权

复制代码
useradd hadoop
# 以root身份,在三台服务器上均执行
chown -R hadoop:hadoop /data/hadoop

7、格式化NaneNode

复制代码
#1、在主节点虚拟机node1中切换到hadoop用户
su - hadoop
#2. 格式化namenode
hadoop namenode -format

四、启动集群

1、启动hdfs集群

复制代码
cd /data/hadoop/hadoop-3.3.6
./sbin/start-dfs.sh

登录web界面:

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/635adcec05674d2b9a888cead4f2f578.png

五、问题记录:

问题1:实际操作使用root用户,没有创建切换hadoop用户

启动报错,修改启动脚本和 stop 脚本

复制代码
## 修改 start-dfs.sh  & stop-dfs.sh
## 上方空白处添加如下,
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
相关推荐
武子康6 小时前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天8 小时前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
武子康2 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
武子康3 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
够快云库4 天前
能源行业非结构化数据治理实战:从数据沼泽到智能资产
大数据·人工智能·机器学习·企业文件安全
AI周红伟4 天前
周红伟:智能体全栈构建实操:OpenClaw部署+Agent Skills+Seedance+RAG从入门到实战
大数据·人工智能·大模型·智能体
B站计算机毕业设计超人4 天前
计算机毕业设计Django+Vue.js高考推荐系统 高考可视化 大数据毕业设计(源码+LW文档+PPT+详细讲解)
大数据·vue.js·hadoop·django·毕业设计·课程设计·推荐算法
计算机程序猿学长4 天前
大数据毕业设计-基于django的音乐网站数据分析管理系统的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)
大数据·django·课程设计
B站计算机毕业设计超人4 天前
计算机毕业设计Django+Vue.js音乐推荐系统 音乐可视化 大数据毕业设计 (源码+文档+PPT+讲解)
大数据·vue.js·hadoop·python·spark·django·课程设计