HDFS是配合Hadoop使用的分布式文件系统,分为

namenode: nn1.hadoop nn2.hadoop

datanode: s1.hadoop s2.hadoop s3.hadoop

(看不明白这5台虚拟机的请看前面 01前期准备 )

解压配置文件

[hadoop@nn1 hadoop_base_op]$ ./ssh_all.sh mv /usr/local/hadoop/etc/hadoop /usr/local/hadoop/etc/hadoop_back

[hadoop@nn1 hadoop_base_op]$ ./scp_all.sh ../up/hadoop.tar.gz /tmp/

[hadoop@nn1 hadoop_base_op]$ #批量将自定义配置 压缩包解压到/usr/local/hadoop/etc/

#批量检查配置是否正确解压

[hadoop@nn1 hadoop_base_op]$ ./ssh_all.sh head /usr/local/hadoop/etc/hadoop/hadoop-env.sh

[hadoop@nn1 hadoop_base_op]$ ./ssh_root.sh chmown -R hadoop:hadoop /usr/local/hadoop/etc/hadoop

[hadoop@nn1 hadoop_base_op]$ ./ssh_root.sh chmod -R 770 /usr/local/hadoop/etc/hadoop

初始化HDFS

流程:

启动zookeeper

启动journalnode

启动zookeeper客户端,初始化HA的zookeeper信息

对nn1上的namenode进行格式化

启动nn1上的namenode

在nn2上启动同步namenode

启动nn2上的namenode

启动ZKFC

启动dataname

1.查看zookeeper状态

[hadoop@nn1 zk_op]$ ./zk_ssh_all.sh /usr/local/zookeeper/bin/zkServer.sh status

ssh hadoop@"nn1.hadoop" "/usr/local/zookeeper/bin/zkServer.sh status"

ZooKeeper JMX enabled by default

Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg

Mode: follower

OK!

ssh hadoop@"nn2.hadoop" "/usr/local/zookeeper/bin/zkServer.sh status"

ZooKeeper JMX enabled by default

Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg

Mode: leader

OK!

ssh hadoop@"s1.hadoop" "/usr/local/zookeeper/bin/zkServer.sh status"

ZooKeeper JMX enabled by default

Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg

Mode: follower

OK!

看到两个follower和一个leader说明正常运行,如果没有,就用下边的命令启动

[hadoop@nn1 zk_op]$ ./zk_ssh_all.sh /usr/local/zookeeper/bin/zkServer.sh start

2.启动journalnode

这个玩意就是namenode的同步器。

#在nn1上启动journalnode

[hadoop@nn1 zk_op]$ hadoop-daemon.sh start journalnode

#在nn2上启动journalnode

[hadoop@nn1 zk_op]$ hadoop-daemon.sh start journalnode

#可以分别打开log来查看启动状态

[hadoop@nn1 zk_op]$ tail /usr/local/hadoop-2.7.3/logs/hadoop-hadoop-journalnode-nn1.hadoop.log

2019-07-22 17:15:54,164 INFO org.apache.hadoop.ipc.Server: Starting Socket Reader #1 for port 8485

2019-07-22 17:15:54,190 INFO org.apache.hadoop.ipc.Server: IPC Server Responder: starting

2019-07-22 17:15:54,191 INFO org.apache.hadoop.ipc.Server: IPC Server listener on 8485: starting

#发现IPC通信已经建立起来了,journalnode进程在8485

3.初始化HA信息(仅第一次运行,以后不需要)

[hadoop@nn1 zk_op]$ hdfs zkfc -formatZK

[hadoop@nn1 zk_op]$ /usr/local/zookeeper/bin/zkCli.sh

[zk: localhost:2181(CONNECTED) 0] ls /

[zookeeper, hadoop-ha]

[zk: localhost:2181(CONNECTED) 1] quit

Quitting...

4.对nn1上的namenode进行格式化(仅第一次运行,以后不需要)

[hadoop@nn1 zk_op]$ hadoop namenode -format

#出现下边的说明初始化成功

#19/07/22 17:23:09 INFO common.Storage: Storage directory /data/dfsname has been successfully formatted.

5.启动nn1的namenode

[hadoop@nn1 zk_op]$ hadoop-daemon.sh start namenode

[hadoop@nn1 zk_op]$ tail /usr/local/hadoop/logs/hadoop-hadoop-namenode-nn1.hadoop.log

#

#2019-07-22 17:24:57,321 INFO org.apache.hadoop.ipc.Server: IPC Server Responder: starting

#2019-07-22 17:24:57,322 INFO org.apache.hadoop.ipc.Server: IPC Server listener on 9000: starting

#2019-07-22 17:24:57,385 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: NameNode RPC up at: nn1.hadoop/192.168.10.6:9000

#2019-07-22 17:24:57,385 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Starting services required for standby state

#2019-07-22 17:24:57,388 INFO org.apache.hadoop.hdfs.server.namenode.ha.EditLogTailer: Will roll logs on active node at nn2.hadoop/192.168.10.7:9000 every 120 seconds.

#2019-07-22 17:24:57,394 INFO org.apache.hadoop.hdfs.server.namenode.ha.StandbyCheckpointer: Starting standby checkpoint thread...

#Checkpointing active NN at http://nn2.hadoop:50070

#Serving checkpoints at http://nn1.hadoop:50070

6.在nn2机器上同步nn1的namenode状态(仅第一次运行,以后不需要)

我们来到nn2的控制台!

###########一定要在nn2机器上运行这个!!!!############

[hadoop@nn2 ~]$ hadoop namenode -bootstrapStandby

=====================================================

About to bootstrap Standby ID nn2 from:

Nameservice ID: ns1

Other Namenode ID: nn1

Other NN's HTTP address: http://nn1.hadoop:50070

Other NN's IPC address: nn1.hadoop/192.168.10.6:9000

Namespace ID: 1728347664

Block pool ID: BP-581543280-192.168.10.6-1563787389190

Cluster ID: CID-42d2124d-9f54-4902-aa31-948fb0233943

Layout version: -63

isUpgradeFinalized: true

=====================================================

19/07/22 17:30:24 INFO common.Storage: Storage directory /data/dfsname has been successfully formatted.

7.启动nn2的namenode

还是在nn2控制台运行!!

[hadoop@nn2 ~]$ hadoop-daemon.sh start namenode

#查看log来看看有没有启动成功

[hadoop@nn2 ~]$ tail /usr/local/hadoop-2.7.3/logs/hadoop-hadoop-namenode-nn2.hadoop.log

8.启动ZKFC

这时候在nn1和nn2分别启动ZKFC,这时候两台机器的namenode,一个变成active一个变成standby!!ZKFC实现了HA高可用的自动切换!!

#############在nn1运行#################

[hadoop@nn1 zk_op]$ hadoop-daemon.sh start zkfc

#############在nn2运行####################

[hadoop@nn2 zk_op]$ hadoop-daemon.sh start zkfc

这时候在浏览器输入地址访问两台机器的hadoop界面

这两个有一个active有一个是standby状态。

9.启动dataname就是启动后三台机器

########首先确定slaves文件里存放了需要配置谁为datanode

[hadoop@nn1 hadoop]$ cat slaves

s1.hadoop

s2.hadoop

s3.hadoop

###########在显示为active的机器上运行##############

[hadoop@nn1 zk_op]$ hadoop-daemons.sh start datanode

10.查看硬盘容量

打开刚才hadoop网页,查看hdfs的硬盘格式化好了没有。

这里是HDFS系统为每台实体机器的硬盘默认预留了2G(可以在配置文件hdfs-site.xml里更改),然后实际用来做hdfs的是每台机器15G,所以三台一共45G。

如图成功配置好HDFS。

之前写的文章在这里:

java 配置hdfs集群_Hadoop集群搭建-04安装配置HDFS相关推荐

  1. ndnsim r语言 ubuntu_Ubuntu14.04安装配置ndnSIM

    Ubuntu14.04安装配置ndnSIM 预环境 Ubuntu14.04官方系统 请先使用sudo apt-get update更新一下源列表 安装步骤 安装boost-lib sudo apt-g ...

  2. 【转】ubuntu16.04安装配置tftp服务

    转自:ubuntu16.04安装配置tftp服务_carspiriter的博客-CSDN博客_ubuntu安装tftp 首先声明:tftp是client客户端,tftpd是server服务器端,d应该 ...

  3. Ubuntu18.04安装配置Qt5.15

    Ubuntu18.04安装配置Qt5.15 Qt选择 下载Qt 安装Qt5.15.0 配置 后记 Qt选择 在官方的声明中,Qt5.15是Qt5.x的最后一个LTS版本,增加了即将在2020年底推出的 ...

  4. Ubuntu20.04安装配置tensorflow2深度学习环境

    Ubuntu20.04安装配置tensorflow2深度学习环境 之前在windows下配置了tensorflow2的环境,坑有不少.最近配了台台式机,2070显卡,安装一下Ubuntu20.04系统 ...

  5. ubuntu20.04安装配置anaconda3

    ubuntu20.04安装配置anaconda3 首先在home目录新建一个文件夹anaconda mkdir anaconda 可以从官网下载anaconda的文件: https://www.ana ...

  6. Ubuntu20.04安装配置运行DynaSLAM

    Ubuntu20.04安装配置运行DynaSLAM 文章目录 Ubuntu20.04安装配置运行DynaSLAM 一.安装Anaconda 二.安装依赖 三.配置Mask_RCNN环境 四.安装Dyn ...

  7. ctags linux 环境变量,Ubuntu16.04安装配置和使用ctags

    Ubuntu16.04安装配置和使用ctags by ChrisZZ ctags可以用于在vim中的函数定义跳转.在ubuntu16.04下默认提供的ctags是很老很旧的ctags,快要发霉的版本( ...

  8. Ubuntu 20.04 安装配置 GitLab

    Ubuntu 20.04 安装配置 GitLab GitLab GitLab 官网:https://about.gitlab.com/ GitLab CE 或 Community Edition 是一 ...

  9. Ubuntu 10.04 安装配置指南

    Ubuntu 10.04 安装配置指南 作者: Jandy 版本:1004.1.0504 --- 目录 〇. 准备 一. 安装 二. 配置 三. 输入法 四. Flash 五. 附录 六. 更新 -- ...

最新文章

  1. php7抓取网页数据,php7-远程获取api接口或网页内容
  2. 主产品清单位于oracle,OPatch failed with error code 73(OracleHomeInventory gets null oracleHomeInfo)...
  3. 文本分类--普通分类
  4. Shell告警系统(需求分析,告警系统主脚本,告警系统配置文件,告警系统监控项目)...
  5. 生产数据库更新忙,没有超时
  6. java kotlin相互调用_Kotlin的互操作——Kotlin与Java互相调用
  7. 一步一步写算法(之哈夫曼树 下)
  8. python打印tensor_如何在TensorFlow中打印SparseTensor内容?
  9. java 8下载_java8下载-java8 64位官方版下载最新免费版-乡巴佬
  10. noip2013 day1
  11. 深入Marlin固件
  12. 脑子傻怎么学php,小孩子学习不好脑子不开窍怎么办?4个方法让“笨”孩子聪明起来...
  13. MacBook连接显示器发热的解决方法
  14. Django模板语言DTL中的变量和标签
  15. java专有技术名词_关于Java的专有名词
  16. 正确的计算机锁屏方法快捷键,电脑锁屏快捷键?(电脑快速锁屏以及酷炫快速切换窗口的方法!)...
  17. 跨平台移动框架iMAG开发入门
  18. 国产网页在线编辑器kindeditor的使用
  19. 从零开始详解应用内支付——商品创建及测试上架
  20. 英语读书笔记-Book Lovers Day 06

热门文章

  1. unity隔一段时间再显示_Unity3D内置倒计时!从此再不拖延!
  2. linux 查看设备 中断号,查看powerpc linux 软件中断号 硬件中断号映射关系
  3. chrome切换前端模式_Chrome调试工具developer tool技巧 - 轩枫阁
  4. 糖果浏览器和139邮箱巧妙应用:将网页文字一键发送到手机上
  5. PP视频怎么关闭PP视频虚拟键盘显示
  6. String s1=new String(“abc“); 和String s1=“abc“区别
  7. minio实现文件上传下载和删除功能
  8. mybatis3 没有生成example_网站图片尺寸自动生成
  9. 教育部统考 计算机应用,9月教育部统考《计算机应用基础》试卷一附答案.doc
  10. 中蒙俄经济走廊背景_上海外国语大学师生代表团参观访问G60科创走廊俄罗斯院士创新基地...