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
相关推荐
辰宇信息咨询4 小时前
3D自动光学检测(AOI)市场调研报告-发展趋势、机遇及竞争分析
大数据·数据分析
珠海西格5 小时前
“主动预防” vs “事后补救”:分布式光伏防逆流技术的代际革命,西格电力给出标准答案
大数据·运维·服务器·分布式·云计算·能源
创客匠人老蒋6 小时前
从数据库到智能体:教育企业如何构建自己的“数字大脑”?
大数据·人工智能·创客匠人
2501_948120156 小时前
基于大数据的泄漏仪设备监控系统
大数据
Spey_Events7 小时前
星箭聚力启盛会,2026第二届商业航天产业发展大会暨商业航天展即将开幕!
大数据·人工智能
AC赳赳老秦7 小时前
专利附图说明:DeepSeek生成的专业技术描述与权利要求书细化
大数据·人工智能·kafka·区块链·数据库开发·数据库架构·deepseek
GeeLark8 小时前
#请输入你的标签内容
大数据·人工智能·自动化
智能相对论8 小时前
2万台?九识无人车车队规模靠谱吗?
大数据
小小王app小程序开发10 小时前
淘宝扭蛋机小程序核心玩法拆解与技术运营分析
大数据·小程序
得物技术10 小时前
从“人治”到“机治”:得物离线数仓发布流水线质量门禁实践
大数据·数据仓库