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
相关推荐
喂完待续1 小时前
【Tech Arch】Hive技术解析:大数据仓库的SQL桥梁
大数据·数据仓库·hive·hadoop·sql·apache
SelectDB2 小时前
5000+ 中大型企业首选的 Doris,在稳定性的提升上究竟花了多大的功夫?
大数据·数据库·apache
最初的↘那颗心2 小时前
Flink Stream API 源码走读 - window 和 sum
大数据·hadoop·flink·源码·实时计算·窗口函数
Yusei_05234 小时前
迅速掌握Git通用指令
大数据·git·elasticsearch
一只栖枝10 小时前
华为 HCIE 大数据认证中 Linux 命令行的运用及价值
大数据·linux·运维·华为·华为认证·hcie·it
喂完待续15 小时前
Apache Hudi:数据湖的实时革命
大数据·数据仓库·分布式·架构·apache·数据库架构
青云交15 小时前
Java 大视界 -- 基于 Java 的大数据可视化在城市交通拥堵治理与出行效率提升中的应用(398)
java·大数据·flink·大数据可视化·拥堵预测·城市交通治理·实时热力图
计艺回忆路17 小时前
从Podman开始一步步构建Hadoop开发集群
hadoop
还是大剑师兰特21 小时前
Flink面试题及详细答案100道(1-20)- 基础概念与架构
大数据·flink·大剑师·flink面试题
189228048611 天前
NY243NY253美光固态闪存NY257NY260
大数据·网络·人工智能·缓存