• 按步骤来

配置分析

1.集群配置

2.环境

  • 虚拟机
  • centos7
  • jdk8

开始配置

  • 截图的颜色为什么变了俺也不知道!但是VM是同一个,放心
  • 有几个地方做的时候忘记截图,完了之后才反过来截图,所以图片内的某些提示语可能不同

虚拟机安装centos7

1.分析

  • 相当于模板虚拟机,后序再想安装时直接克隆

2.下载centos7

  • 提取码:5l27

3.虚拟机安装centos7硬件与软件


















  • Ctrl+Alt可以切出鼠标









  • 此处需要统一许可(忘记截图)










打开终端

  • 也可以切换成图形界面,不切也没关系,继续向下

配置虚拟机启用网卡, 并设置固定IP地址

1.分析

  • 作用
1.笔记本主机IP为设置自动获取,不管什么情况下,不受虚拟机影响,只要连接外网就可以正常上网
2.只要笔记本主机可以正常访问外网,启动虚拟机中的CentOS 7系统就可以正常访问外网,无需再进行任何设置
3.虚拟机设置为固定IP,不管主机在什么网络环境下,是断网环境,还是连接任何网段访问外网的环境下,虚拟机的IP都固定不变,而且使用终端连接,始终不变,正常连接
4.虚拟机的固定IP可以按照自己想设置的IP地址网段随意设置,比如我就想设置固定IP为192.168.10.100
  • 配置原理

2.设置VM的IP

  • 设置虚拟机的网络连接方式
  • 这一步有的机器可能没有
  • 修改子网IP,实现自由设定固定IP,1网段无法成功(第三位IP段)

3.配置笔记本主机具体VMnet8本地地址参数



4.修改虚拟机中的CentOS 7系统为固定IP的配置文件

  • 输入su root指令切换到root用户(未截图)
  • ifcfg-ens33是虚拟机的网卡,配置连接VMnet8的网关,通过网关连接主机的网卡


    i编辑 esc退出编辑 :wq退出保存
  • 给出部分命令供复制
1.cd /etc/sysconfig/network-scripts
2.vim ifcfg-ens33DNS1=114.114.114.114IPADDR=192.168.10.100NETMASK=255.255.255.0GATEWAY=192.168.10.2
3.service network restart

5.检验配置是否成功

  • 查看修改后的固定IP
  • 测试虚拟机中的CentOS 7系统是否能连外网
  • 测试本机是否能ping通虚拟机的固定IP

修改主机名


在centos中安装sftp服务

1.分析

  • sftp安全文件传送协议,传输文件的安全网络加密方法
  • 为了上传文件到虚拟机系统

2.确认已安装好ssh服务

3.配置sftp



  • 给出部分命令供复制
Match Group sftp
ChrootDirectory /usr/sftp
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no

4.检验配置是否成功

  • 进入xftp



关闭防火墙

1.systemctl disable firewalld.service取消开机自启动防火墙
2.systemctl status firewalld

时间同步

1.配置


2.问题

  • 报错
  • 解决

安装jdk

1.删除centos自带openjdk

  • 删除所有(之前没有装过jdk)
  • 给出部分命令供复制
1.rpm -qa | grep jdk
2.yum -y remove
  • 检验是否删除

2.finalshell连接虚拟机


3.创建目录,上传jdk到linus


4.解压

  • 若解压后的文件名字太长,最好重命名(自己百度以下相关命令)

5.配置环境变量


  • 给出部分命令供复制
JAVA_HOME=/usr/java/jdk1.8.0_151
JRE_HOME=/usr/java/jdk1.8.0_151/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

配置主机地址映射文件

1.配置centos7中的/etc/hosts


  • 给出部分命令供复制
192.168.10.100 node1 master nn
192.168.10.101 node2 snn dn1
192.168.10.102 node3 dn2
192.168.10.103 node4 dn3

2.配置windows中的 C:\Windows\System32\drivers\etc\hosts

克隆虚拟机,重复以上-打开终端-后的部分步骤

1.克隆虚拟机

  • 关闭虚拟机
  • 克隆虚拟机





2.重复配置步骤

  • 主机名,固定IP等是需要修改的
  • 具体我也忘记统计了
  • 可以自己试一试,若发现已经配置过了,直接跳过该配置

3.问题

  • 克隆后无法同时开启四台虚拟机
  • 解决

免密钥设置

1.分析

  • 原理
1.node1生成公私密钥对,存储在~/.ssh/id_rsa目录下
2.node1将公钥~/.ssh/id_rsa.pub写入node2的tmp临时文件下
3.node2生成公私密钥对,存储在~/.ssh/id_rsa目录下
3.node2将tmp下的公钥信息保存到~/.ssh/authorized_keysnode1发送公钥给node2,node1登录node2时,node2通过公钥加密后发送给node1,node1通过私钥解密,成功则可以免密登录

2.设置本机免密登录

  • 在master主机中操作,此处配置的master是node1

  • 给出部分命令供复制
1.ssh-keygen -t rsa -P '' -f    ~/.ssh/id_rsa生成公私密钥对,存储在~/.ssh/id_rsa目录下
2.cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  将本机公钥加到受信列表中,即将公钥追加到服务端(远程主机)~/.ssh/authorized_keys中
3.chmod 0600 ~/.ssh/authorized_keys设置权限
  • 测试本机免密登录是否OK

2.将node1中的id_rsa.pub文件发到其它节点的authorized_keys中,以实现免密登录

  • 在node1中发送公钥文件到其它节点的tmp文件下保存,每次开机tmp文件被删除
  • 给出部分命令供复制
1.scp ~/.ssh/id_rsa.pub     node2:/tmp/
2.scp ~/.ssh/id_rsa.pub     node3:/tmp/
3.scp ~/.ssh/id_rsa.pub     node4:/tmp/
  • node2,node3,node4分别执行以下操作


  • 给出部分命令供复制
1.ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa生成公私密钥对,存储在~/.ssh/id_rsa目录下
2.cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys将本机公钥加到受信列表中,即将公钥追加到服务端(远程主机)~/.ssh/authorized_keys中
3.cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys将需要免密登录本机的主机的公钥加到受信列表中
4.chmod 0600 ~/.ssh/authorized_keys设置权限

3.检验node1是否可以免密登录node2,node3,node4

Hadoop安装及配置

1.上传解压Hadoop,并配置环境变量

  • cd /usr/local(未截图)
  • tar -xvf 压缩文件名称(未截图)


  • 给出部分命令供复制
1.vim /etc/profileHADOOP_HOME=/usr/local/hadoop-2.7.1PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbinexport PATH JAVA_HOME CLASSPATH HADOOP_HOME--------------------------------------------以上的配置方法与jdk环境变量的配置优点冗余,可以采取以下这种JAVA_HOME=/usr/java/jdk1.8.0_151JRE_HOME=/usr/java/jdk1.8.0_151/jreHADOOP_HOME=/usr/local/hadoop-2.7.1PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbinCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export JAVA_HOME JRE_HOME PATH CLASSPATH HADOOP_HOME
2.source /etc/profile

2.修改hadoop-2.7.1/etc/hadoop/hadoop-env.sh中的JAVA_HOME


3.配置hadoop-2.7.1/etc/hadoop/core-site.xml


  • 给出部分命令供复制
<property> <name>fs.defaultFS</name> <value>hdfs://node1:9000/</value>
</property>
<property> <name>hadoop.tmp.dir</name><value>/opt/hadoopdata</value>
</property>
//注意hadoopdata目录不存在,由hadoop生成

4.配置hadoop-2.7.1/etc/hadoop/hdfs-site.xml


  • 给出部分命令供复制
<property><name>dfs.replication</name><value>3</value>
</property>
<property><name>dfs.namenode.secondary.http-address</name><value>node2:50090</value>
</property>
//注意hadoopdata目录不存在,由hadoop生成

5.hadoop-2.7.1/etc/hadoop/slaves中 指定三台DN


6.手动创建masters文件 指定SNN

  • 如不指定,则namenode所在的机器为snn

同步配置文件到其它节点

  • 给出部分命令供复制
1.scp -r hadoop-2.7.1/    node2:/usr/local/
2.scp -r hadoop-2.7.1/    node3:/usr/local/
3.scp -r hadoop-2.7.1/    node4:/usr/local/

格式化NN

1.格式化


2.多次格式化带来的问题

  • 每次格式化namenode会生成一个新的clusterID,而datanode的clusterID还是旧的
namenode的clusterID写在/opt/hadoopdata/dfs/name/current/VERSION文件中
datanode的clusterID写在/opt/hadoopdata/dfs/data/current/VERSION文件中
  • clusterID不一致导致datanode无法启动,只要把这两文件中的clusterID改一致就能正常启动
  • 修改namenode的clusterID或修改datanode的clusterID都行,但在集群情况下datanode的数量多,还是改namenode的clusterID比较方便

  • 问题



  • 解决:修改namenode的clusterID

启动

1.start-dfs.sh

2.启动信息

Starting namenodes on [node1]
node1: starting namenode, logging to /usr/local/hadoop271/logs/hadoop-root-namenode-node1.out
node2: starting datanode, logging to /usr/local/hadoop271/logs/hadoop-root-datanode-node2.out
node3: starting datanode, logging to /usr/local/hadoop271/logs/hadoop-root-datanode-node3.out
node4: starting datanode, logging to /usr/local/hadoop271/logs/hadoop-root-datanode-node4.out
Starting secondary namenodes [node2]
node2: starting secondarynamenode, logging to /usr/local/hadoop271/logs/hadoop-root-secondarynamenode-node2.out

3.启动成功后,查看进程

最后测试是否配置完毕

1.namenode查看

  • 注意防火墙是否开放50070端口

2.SNN查看

3.访问不到则关闭防火墙

  • 关闭防火墙
1.查看防火墙状态systemctl status firewalld.service
2.关闭运行的防火墙systemctl stop firewalld.service
3.禁止防火墙服务器systemctl disable firewalld.service
  • 防火墙中打开8080端口
1.firewall-cmd --zone=public --add-port=8080/tcp --permanent
2.firewall-cmd --reload
3.firewall-cmd --list-port #查看开放的端口列表
4.http://node1:8080/

IDEA插件Big Data Tools

1.下载插件


2.测试连接


3.报错解决











4.测试连接

5.报错解决

6.成功

HDFS配置之NN-SNN-DN相关推荐

  1. HDFS配置Kerberos认证

    为什么80%的码农都做不了架构师?>>>    本文主要记录 CDH Hadoop 集群上配置 HDFS 集成 Kerberos 的过程,包括 Kerberos 的安装和 Hadoo ...

  2. 大数据-HDFS 配置与使用

    导语   在之前的分享中我们知道HDFS有三种模式:单机模式.伪集群模式和集群模式. 文章目录 HDFS 配置和启动 启动 HDFS HDFS 使用 HDFS Shell HDFS API 单机模式: ...

  3. HDFS学习笔记 【Namenode/DN管理】

    说明 DN管理管理了什么? NN上如何表示DN DN存储和块的关系 梳理DatanodeManager存储类 DatanodeDescriptor DN的抽象,依次继承.每一层增加一点额外的信息. D ...

  4. Hadoop下载安装及HDFS配置教程

    Hadoop下载安装及HDFS配置教程 前言 Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和 ...

  5. hdfs web_ui深入讲解、服务启动日志分析、NN SNN关系

    hdfs启动顺序: 1.namenode 2.datenode 3.secondnamenode 4.yarn webui: 默认为50070端口,dfsheath ui内容讲解: ClusterID ...

  6. hdfs web_ui深入讲解、服务启动日志分析、NN SNN关系

    hdfs启动顺序: 1.namenode 2.datenode 3.secondnamenode 4.yarn webui: 默认为50070端口,dfsheath ui内容讲解: ClusterID ...

  7. HDFS配置Kerberos

    官网文档关于kerberos介绍很少 添加用户 配置HDFS相关的Kerberos账户 每个节点根据运行的不同组件创建不同的principl及keytab 创建数据目录 每个节点都要创建 设置HDFS ...

  8. NN、DN、2NN、JN

    NN–NameNode NN负责对HDFS上的元数据进行整理 在NN上存放了两份重要信息:1.文件由哪些块组成.2.每个块存在哪个位置 除此之外还有一些非关键信息:文件名.上传者.上传时间 元数据在磁 ...

  9. Hadoop hdfs配置

    网络情况:网络为:192.168.80.0,网关为192.168.80.2,掩码为255.255.255.0,域名202.196.32.1. Hadoop平台规划:三台linux主机使用64位Cent ...

  10. HDFS配置lzo压缩

    参考 https://www.cnblogs.com/caoshouling/p/14091113.html, 做了验证,很好的文档. 1) 停止hdfs集群 2)安装配置maven https:// ...

最新文章

  1. Qt显示中文ansi字符串乱码问题解决方案
  2. 智能机器人领域有什么好书推荐的?
  3. 15行代码抓取兰亭序全文单字高清字帖
  4. K近邻算法(k-Nearest Neighbour, KNN)
  5. Word中插入目录时未找到目录项
  6. 【01月16日】【精彩电影合集】【10部】【亲测】【Lsyq5647发布】
  7. 计算机组装拆卸 心得,学习组装电脑的心得体会怎么写?
  8. 现实世界的补丁长什么样? [ICSME 18] A Closer Look at Real-World Patches (结尾附论文阅读反思)
  9. Vulkan教程翻译之六 创建 Swapchain
  10. LED通信的ID识别报告
  11. mysql四种隔离级别
  12. 视频插帧—学习笔记(算法+配置+云服务+Google-Colab)
  13. 全志T3开发板——嵌入式入门学习测试教程(6)
  14. uwb定位系统,室内定位技术
  15. Simulink移动机器人仿真学习--Trick记录
  16. codeforces Hello 2022
  17. weex mysql_WEEX快速入门
  18. Django配置文件介绍
  19. chrome python插件_5款Chrome插件,第1款绝对良心!
  20. iOS开发-OC-Foundation框架

热门文章

  1. Ubuntu 18.04下为Firefox浏览器安装flash插件
  2. 如何解决仓库无线网络覆盖问题?
  3. Hive3.1.2 on spark
  4. Qt 实现双滑块滑条 range slider
  5. 安卓sqlite的使用
  6. 核只有单位元等价于映射是单射
  7. Linux入门(14)——系统启动修复
  8. 木子-后端-Java小知识点
  9. 服务器修改host的ip,主机IP地址设置
  10. 什么是SDK? SDK是什么意思?