前面,我们已经搭建过单节点的“伪分布式”,现在来分享一下我的搭建思路

因为我现在已经搭建好了多节点的“完全分布式”,发现这个思路很通用,包括在其他很高级的技术里,是非常相通的

后面,还有两次将这个“伪分布式”升级为“完全分布式”,再到“HA模式”;在这两次过程中,动手亲自体会这个代入感

明天会更新:由“伪分布式”到“完全分布式”的搭建过程,务必先熟悉一下流程步骤

思路

官网导读:先过一遍文档,看要干什么,大致理清步骤是什么
  细节可以不知道,但是步骤一定不能错,前后依赖关系不要错,每一步发生之前一定要做什么
  因为步骤对的时候,再去查细节,搭的时候才能一次成功,绝不是搭一遍失败、搭一遍失败,讲究的是“单位时间内”能干成功什么

强调:步骤是最重要的,因为有依赖关系

步骤总结(伪分布式)

  • 基础设施(通用的)
    • 平台:最好是 GNU/Linux ,环境、网络、必须软件
    • Linux 系统的配置
      • IP 及 主机名
      • 闭:防火墙 & selinux
      • 设置hosts映射
      • 时间同步
      • 安装环境(Java)
      • 设置SSH免密

  • 应用的搭建:部署配置
    • 部署路径
    • 配置文件
      • Hadoop需要Java环境(应该没说过为什么,在下面解释一下)
      • 各角色在哪里启动
        • NN:core-site.xml:fs.defaultFS hdfs://node01:9000
        • DN:slaves:node01
        • ……
      • 角色启动时的细节配置:文件存放的地方(目录)
        • dfs.namenode.name.dir
        • dfs.datanode.data.dir
        • ……

  • 格式化 / 初始化 和 运行
    • 格式化:格式掉旧的,生成新的空的文件
      • Fsimage
      • VERSION
    • 运行:启动角色进程
      • start-dfs.sh
        加载我们的配置文件,通过ssh 免密的方式去启动相应的角色
      • jps命令 看启动的JVM进程

  • 命令行使用 和 验证知识点



补充解释


为什么要给Hadoop单独配置JAVA_HOME,不是给系统配过JAVA_HOME了吗,它去系统找不可以吗?

  因为NN要想使用hadoop的配置文件去启动别节点,那么NN要用ssh免密登录别节点,需要Java命令启动进程
问题就出在ssh登录,ssh登录的Shell,并不会加载/etc/profile,所以里面的JAVA_HOME对Hadoop脚本来说相当于没有
所以要单独给Hadoop-env.sh配置一个JAVA_HOME

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐