一、准备工作

  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

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

  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

  3.配置核心参数:

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

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

    2)指定hdfs的namenode节点为哪台机器

    修改/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>

    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>        

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

  4.配置hadoop环境变量

  5.初始化namenode:hadoop namenode -format

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

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

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

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

  7.依次启动datanode:hadoop-daemon.sh start datanode

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

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

三、脚本一键启动集群

  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删掉

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

  虽然集群起来了,但是还有个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集群搭建的更多相关文章

  1. 大数据学习——HADOOP集群搭建

    4.1 HADOOP集群搭建 4.1.1集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据的存储,集群中的角色主 ...

  2. 大数据平台Hadoop集群搭建

    一.概念 Hadoop是由java语言编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce.HDFS是一个分布式文件系统,类似mogilef ...

  3. 大数据中Hadoop集群搭建与配置

    前提环境是之前搭建的4台Linux虚拟机,详情参见 Linux集群搭建 该环境对应4台服务器,192.168.1.60.61.62.63,其中60为主机,其余为从机 软件版本选择: Java:JDK1 ...

  4. 大数据中HBase集群搭建与配置

    hbase是分布式列式存储数据库,前提条件是需要搭建hadoop集群,需要Zookeeper集群提供znode锁机制,hadoop集群已经搭建,参考 Hadoop集群搭建 ,该文主要介绍Zookeep ...

  5. 大数据-HBase HA集群搭建

    1.下载对应版本的Hbase,在我们搭建的集群环境中选用的是hbase-1.4.6 将下载完成的hbase压缩包放到对应的目录下,此处我们的目录为/opt/workspace/ 2.对已经有的压缩包进 ...

  6. 大数据:spark集群搭建

    创建spark用户组,组ID1000 groupadd -g 1000 spark 在spark用户组下创建用户ID 2000的spark用户  获取视频中文档资料及完整视频的伙伴请加QQ群:9479 ...

  7. 大数据学习——hdfs集群启动

    第一种方式: 1 格式化namecode(是对namecode进行格式化) hdfs namenode -format(或者是hadoop namenode -format) 进入 cd /root/ ...

  8. 大数据学习——Storm集群搭建

    安装storm之前要安装zookeeper 一.安装storm步骤 1.下载安装包 2.解压安装包 .tar.gz storm 3.修改配置文件 mv /root/apps/storm/conf/st ...

  9. 大数据学习——hadoop集群搭建2.X

    1.准备Linux环境 1.0先将虚拟机的网络模式选为NAT 1.1修改主机名 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=itcast ### ...

  10. 大数据中Linux集群搭建与配置

    因测试需要,一共安装4台linux系统,在windows上用vm搭建. 对应4个IP为192.168.1.60.61.62.63,这里记录其中一台的搭建过程,其余的可以直接复制虚拟机,并修改相关配置即 ...

随机推荐

  1. ORACLE归档日志满了之后,如何删除归档日志

    当ORACLE归档日志满后如何正确删除归档日志 版权声明:本文为博主原创文章,未经博主允许不得转载. 当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入OR ...

  2. Kinect for Windows SDK开发入门(三):基础知识 下

    原文来自:http://www.cnblogs.com/yangecnu/archive/2012/04/02/KinectSDK_Application_Fundamentals_Part2.htm ...

  3. Window脚本学习笔记之定时关闭进程

     定时关闭进程, 从字面上即可看出操作分为两个步骤,即: 1,结合“任务计划程序”,定时. “计算机->管理->计划任务程序”,作用是让系统定时启动脚本文件(bat脚本). 2,结合“nt ...

  4. django考点

    django考点 1 列举Http请求中常见的请求方式2 谈谈你对HTTP协议的认识.1.1 长连接3 简述MVC模式和MVT模式4 简述Django请求生命周期5 简述什么是FBV和CBV6 谈一谈 ...

  5. 将CHROME WEBSTORE里的APPS和扩展下载到本地 转载自:http://ro-oo.diandian.com/post/2011-05-28/1103036

    Chrome Webstore 自动改版后就不能再直接下载到本地... 下载地址: https://clients2.google.com/service/update2/crx?response=r ...

  6. Ubuntu Linux虚拟机与windows快速创建共享文件夹

    有时候我们需要在windows下与远程Linux服务器传输文件,之前使用pscp传输文件很方便,但不方便传输多文件,同时也不便于查看.看了网上的教程总结创建共享文件夹的流程: 1.首先在本地windo ...

  7. redis与spring整合实例

    1)首先是redis的配置. 使用的是maven工程,引入redis与spring整合的相关jar包 <!-- redis服务 start--> <dependency> &l ...

  8. [React] Create a Query Parameter Modal Route with React Router

    Routes are some times better served as a modal. If you have a modal (like a login modal) that needs ...

  9. 【算法题目】Leetcode算法题思路:两数相加

    在LeetCode上刷了一题比较基础的算法题,一开始也能解出来,不过在解题过程中用了比较多的if判断,看起来代码比较差,经过思考和改进把原来的算法优化了. 题目: 给出两个 非空 的链表用来表示两个非 ...

  10. 011_STM32程序移植之_内部flash开机次数管理

    011_STM32程序移植之_内部flash开机次数管理 1. 测试环境:STM32C8T6 2. 测试接口: 3. 串口使用串口一,波特率9600 单片机引脚------------CH340引脚 ...