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
相关推荐
皮皮学姐分享-ppx1 小时前
政府绿色采购数据库(2015-2024.3)
大数据·网络·数据库·人工智能·制造
无忧智库5 小时前
某公共大数据资源中心平台建设项目可行性研究方案(PPT)
大数据
诗词在线7 小时前
求推荐飞花令
大数据·人工智能·python
湘美书院--湘美谈教育7 小时前
湘美谈教育AI系列经验集锦:赋能整理聊斋志异大寓言
大数据·人工智能·深度学习·神经网络·机器学习
jrjrgood8 小时前
现货黄金和黄金期货的区别有哪些?如何投资?
大数据·人工智能·区块链
清辞8539 小时前
Coze从入门到实战---第一、二章
大数据·人工智能·学习·语言模型
TomatoStudy9 小时前
IT职业教育AI落地与实训体系建设复盘——以职坐标模式为例
大数据·人工智能
Java 码思客9 小时前
【ElasticSearch从入门到架构师】第1章:ElasticSearch 核心认知与行业定位
大数据·elasticsearch·搜索引擎
cui178756810 小时前
物业费收缴困局的破题之路:2026年社区商业逻辑的底层重构
大数据·数据库·人工智能
2501_9336707910 小时前
大数据在校实训项目一般做什么类型内容
大数据