大数据(2)---HDFS集群搭建

摘要:
4.配置hadoop环境变量。5.初始化namenode:hadoopnamenode格式。然后将在我们设置的namenode数据目录下初始化相应的文件夹。6.启动namenode:在先前指定的namenode上执行hadoop守护进程从shstartnamenode Jps视图中,可以看到namenode的java进程。同时,您可以通过默认的50070端口访问web。您可以看到HDFS容量仍然为0,因为我还没有启动数据节点。7.启动数据节点:hadoop守护进程反过来Shstartdatanode也可以看到数据节点的java进程已经启动,此时网页的hdfs容量大约是三个数据节点的总和。

一、准备工作

  1.准备几台机器,我这里使用VMware准备了四台机器,一个name node,三个data node

  VMware安装虚拟机:https://www.cnblogs.com/nijunyang/p/12001312.html

  2.Hadoop生态几乎都是用的java开发的,因此四台机器还需要安装JDK

  3.集群内主机域名映射,将四台机器的IP和主机名映射分别写到hosts文件中(切记主机名不要带非法字符,图片中的下划线”_”请忽略)

  vim /etc/hosts

大数据(2)---HDFS集群搭建第1张

  配好一个之后可以直接将这个复制到其他机器上面去,不用每台都去配置:

  scp /etc/hosts nijunyang69:/etc/

  scp /etc/hosts nijunyang70:/etc/

  scp /etc/hosts nijunyang71:/etc/

 二、hdfs集群安装

  1.下载hadoop安装包到linux服务器上面,并进行解压,我这里使用的的2.8.5

  tar -zxvf hadoop-2.8.5.tar.gz

  2.hadoop指定java环境变量

  hadoop-2.8.5/etc/hadoop/hadoop-env.sh 文件中指定java环境变量:

  export JAVA_HOME=/soft/jdk1.8.0_191

大数据(2)---HDFS集群搭建第2张

  3.配置核心参数:

 默认参数:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

    1)指定hadoop的默认文件系统为:hdfs

    2)指定hdfsnamenode节点为哪台机器

    修改/etc/hadoop/core-site.xml 指定hadoop默认文件系统为hdfs,并且指定name node

    <configuration>

      <property>

        <name>fs.defaultFS</name><!--指定默认文件系统hdfs-->

        <value>hdfs://nijunyang68:9000/</value><!--指定name node为nijunyang_68-->

      </property>

    </configuration>

 

大数据(2)---HDFS集群搭建第3张

    3) 指定namenode存储数据的本地目录

    4) 指定datanode存放文件块的本地目录

    修改/etc/hadoop/hdfs-site.xml

<configuration>

    <property>

    <name>dfs.namenode.name.dir</name>

    <value>/hadoop/hdpdata/name/</value>

    </property>

    <property>

    <name>dfs.datanode.data.dir</name>

    <value>/hadoop/hdpdata/data</value>

    </property>

</configuration>        

大数据(2)---HDFS集群搭建第4张

     每台机器都执行同样的操作,配置好上述配置,可以使用scp -r /soft/hadoop-2.8.5 nijunyang69:/soft 这个命令将第一台机器配置好的全部打包拷贝到另外机器上面去。

  4.配置hadoop环境变量

  5.初始化namenodehadoop namenode -format

  这时我们设置的namenode数据目录下面就会初始化出来对应的文件夹

大数据(2)---HDFS集群搭建第5张

  6.启动namenode:在之前指定的namenode上面执行:hadoop-daemon.sh start namenode

  Jps查看可以看到一个namenodejava进程,同时通过默认的50070端口可以进行web访问

大数据(2)---HDFS集群搭建第6张

 大数据(2)---HDFS集群搭建第7张

  可以看到现在HDFS的容量还是0,因为我还没有启动datanode

   7.依次启动datanodehadoop-daemon.sh start datanode

  同样可以看到一个datanodejava进程启动了,再看web页面这个时候的hdfs容量大小差不多就是三个datanode之和了。

大数据(2)---HDFS集群搭建第8张

大数据(2)---HDFS集群搭建第9张

   至此整个hdfs集群基本就搭建完毕了,中间的一个小插曲,主机名一定不要带”.” “/” “_”等特殊符号,否则启动无服务的时候可能报错无法启动:Does not contain a valid host

大数据(2)---HDFS集群搭建第10张

三、脚本一键启动集群

  1.在启动的机器上配置SSH免密登录集群所有机器,在任意一台机器配置都可以

  1)生成秘钥:ssh-keygen

  2)设置免密连接:

  ssh-copy-id nijunyang68

  ssh-copy-id nijunyang69

  ssh-copy-id nijunyang70

  ssh-copy-id nijunyang71

  设置好之后就可以当前机器直接通过SSH连接其他机器,不需要输入密码

  2. 修改文件hadoop-2.8.5/etc/hadoop/etc/hadoop/slaves,加入需要启动的datanode

    默认有个本机。如果不需要再本机启动datanode就把localhost删掉

大数据(2)---HDFS集群搭建第11张

  3.执行sbin目录下的集群启动脚本/停止脚本:start-dfs.sh/stop-dfs.sh

大数据(2)---HDFS集群搭建第12张

  虽然集群起来了,但是还有个Starting secondary namenodes 启动在本机上,这个时候我最好去将secondary namenodes配置到另外的机器上面去,修改之前的/etc/hadoop/hdfs-site.xml,加入secondary namenodes的配置:

  <property>

  <name>dfs.namenode.secondary.http-address</name>

  <value>nijunyang69:50090</value>

  </property>

免责声明:文章转载自《大数据(2)---HDFS集群搭建》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Ubuntu18.04 + NVidia显卡 + Anaconda3 + Tensorflow-GPU 安装、配置、测试 (无需手动安装CUDA)使用layui框架的select获取选中的值下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

VMware虚拟机搭建Spark集群

目录 一、搭建方法 二、准备 三、系统环境配置 四、软件安装与配置 a. 软件下载安装 b. Hadoop配置 c. Spark配置 五、虚拟机克隆 六、启动集群 七、踩坑经历 一、搭建方法 在虚拟机上搭建集群的方法通常有两种1.类似于真实的机器上部署,首先要进行密钥授权使各台机器之间能够免密码相互访问,然后在主节点上将各个软件配置好,分发各...

Hadoop之Flume详解

1、日志采集框架Flume   1.1 Flume介绍     Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。     Flume可以采集文件,socket数据包等各种形式源数据,又可以将采集到的数据输出到HDFS、hbase、hive、     kafka等众多外部存储系统中     一般的采集需求,通过对flume的简单配置即...

五 数据组织模式 (重组数据) 1 分层结构模式

数据组织模式 是通过分区、分片、排序等方式将个别记录的价值突显出来。 分布式系统是可以通过分、分片及排序方式优化性能。 分层结构模式 分层结构模式是从数据中创造出不同与原有结构的新记录。 当从 RDBMS 中将数据迁移至 hadoop 系统时,首先考虑将数据重新格式化成对计算更为有利的结构。 案例: 一个网站上的帖吧结构。 从RDBMS 迁移...

Redis——集群(cluster)

前言 在前面的文章中,已经介绍了Redis的几种高可用技术:持久化、主从复制和哨兵,但这些方案仍有不足,其中最主要的问题是存储能力受单机限制,以及无法实现写操作的负载均衡。 Redis集群解决了上述问题,实现了较为完善的高可用方案。本文将详细介绍集群。 主要内容包括:集群的作用;集群的搭建方法及设计方案;集群的基本原理;客户端访问集群的方法;以及其他实践中...

hadoop不同版本有哪些

一、Hadoop是什么? 首次听到hadoop这次单词,相信很多人跟我当时是一样,不免心中画上一个大大的问号——这是什么东西?Hadoop是什么?百度百科的解释是:Hadoop是一个由Apache基金会所开发的分布式系统基础架构。换句话说就是hadoop是一个能够对大量数据进行分布式处理的软件框架。 Hadoopd之所谓会诞生,主要是由于进入到大数据时代,...

Elasticsearch之批量操作bulk

1、bulk相当于数据库里的bash操作。 2、引入批量操作bulk,提高工作效率,你想啊,一批一批添加与一条一条添加,谁快? 3、bulk API可以帮助我们同时执行多个请求 4、bulk的格式: action:index/create/update/delete metadata:_index,_type,_id request body:_sourc...