Hadoop是小象——Hadoop集群安装配置

2023-11-09

所需软件

Linux所需软件包括:

  • JavaTM1.5.x,必须安装,建议选择Sun公司发行的Java版本(以前安装过)。
  • ssh 必须安装并且保证 sshd一直运行,以便用Hadoop 脚本管理远端Hadoop守护进程。(一般默认CentOS已经安装了OpenSSH,即使你是最小化安装也是如此,所以不用安装。)

为了能够方便复制,主要是vmware tools时灵时不灵的情况(主要是Install 的时候不方便),我这里使用XShell。

集群网络配置

本文中的集群网络环境配置如下:
master内网IP:192.168.235.131
slave1内网IP:192.168235.132
slave2内网IP:192.168.235.133

另外主机和虚拟机Ping不通的原因如下:
https://blog.csdn.net/qqxyy99/article/details/80864862

克隆虚拟机的问题,克隆后需要先修改mac地址,再开机修改ip。否则很麻烦,别问我怎么知道的,不然这篇文章在昨天就更了。

通过虚拟机文件复制,在VMware改名快速创建slave1和slave2后,可能会产生网卡MAC地址重复的问题,需要在VMware网卡设置中重新生成MAC,在虚拟机复制后需要更改内网网卡的IP。

集群SSH免密登陆设置

目的:创建一个可以ssh免密登陆的集群


  • hosts文件设置

为了不直接使用IP,可以通过设置hosts文件达到ssh slave1这样的的效果(三个节点设置相同)
$sudo vim /etc/hosts
在文件尾部添加如下行,保存后退出:

192.168.235.131 master
192.168.235.132 slave1
192.168.235.133 slave2

  • hostname修改

centos7默认的hostname是localhost,为了方便将每个节点hostname分别修改为master、slave1、slave2(以下以master节点为例)。
$sudo hostnamectl set-hostname master
重启terminal,然后查看:$hostname
在这里插入图片描述


  • ssh设置

设置master节点和两个slave节点之间的双向ssh免密通信,下面以master节点ssh免密登陆slave节点设置为例,进行ssh设置介绍(以下操作均在master机器上操作):
首先生成master的rsa密钥:$ssh-keygen -t rsa

设置全部采用默认值进行回车

将生成的rsa追加写入授权文件:$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

给授权文件权限:$chmod 600 ~/.ssh/authorized_keys

进行本机ssh测试:$ssh master正常免密登陆后所有的ssh第一次都需要密码,此后都不需要密码
在这里插入图片描述

将master上的authorized_keys传到slave1
sudo scp ~/.ssh/id_rsa.pub root@slave1:~/

登陆到slave1操作:$ssh slave1输入密码登陆

$cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
如果slave上没有这个文件夹,最好先执行一遍$ssh-keygen -t rsa

修改authorized_keys权限:$chmod 600 ~/.ssh/authorized_keys

退出slave1:$exit

进行免密ssh登陆测试:$ssh slave1
在这里插入图片描述

Hadoop安装配置

目的:获得正确配置的完全分布式Hadoop集群(以下操作均在master主机下操作)
安装前三台节点都需要需要关闭防火墙和selinux:
$sudo systemctl stop firewalld.service
$sudo systemctl disable firewalld.service
在这里插入图片描述
将SELinux status参数设定为关闭状态:
$sudo vim /usr/sbin/sestatus
SELinux status: disabled


  • Hadoop安装

首先在master节点进行hadoop安装配置,之后使用scp传到slave1和slave2。
下载Hadoop 二进制源码 至master,我们这里使用wget下载如下地址。
http://mirrors.shu.edu.cn/apache/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz

在这里插入图片描述
好了,安装后解压。
$tar -zxvf hadoop-2.8.5.tar.gz
在这里插入图片描述


  • Hadoop的master节点配置

配置hadoop的配置文件core-site.xml  hdfs-site.xml  mapred-site.xml  yarn-site.xml  slaves(都在~/hadoop-2.8.5/etc/hadoop文件夹下)
$cd ~/hadoop/etc/hadoop
在这里插入图片描述
$vim core-site.xml其他文件相同,以下为配置文件内容:

1.core-site.xml

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://master:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/home/leesanghyuk/hadoop-2.8.5/hadoop/tmp</value>
  </property>
</configuration>

2.hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/leesanghyuk/hadoop-2.8.5/hadoop/tmp/dfs/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/leesanghyuk/hadoop-2.8.5/hadoop/tmp/dfs/data</value>
  </property>
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>master:9001</value>
  </property>
</configuration>

3.mapred-site.xml

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

4.yarn-site.xml

<configuration>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>
  <property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
  </property>
</configuration>

5.slaves
slave1
slave2

6.hadoop-env.sh
export JAVA_HOME=/home/Java/jdk1.6

在这里插入图片描述


  • Hadoop的其他节点配置

此步骤的所有操作仍然是在master节点上操作,以master节点在slave1节点上配置为例:
复制hadoop文件至slave1:$scp -r ~/hadoop root@slave1:~/
然后,复制到slave2。


  • Hadoop环境变量配置

配置环境变量,修改vi /etc/profile文件使其永久性生效,添加行(每个节点都需要此步操作,以master节点为例):

#hadoop environment vars
export HADOOP_HOME=/home/leesanghyuk/hadoop-2.8.5
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

执行 命令source /etc/profile或 执行点命令./profile使其修改生效,执行完可通过echo $PATH命令查看是否添加成功。
在这里插入图片描述


  • Hadoop启动

格式化namenode:$hadoop namenode -format

启动hadoop:$start-all.sh
云服务器启动不成功解决方案:https://blog.csdn.net/dongdong9223/article/details/81255713

master节点查看启动情况:$jps
在这里插入图片描述
在这里插入图片描述


  • Hadoop集群测试

目的:验证当前hadoop集群正确安装配置

本次测试用例为利用MapReduce实现wordcount程序

生成文件testWordCount:$echo "My name is LeesangHyuk. This is a example program called WordCount, run by LeesangHyuk " >> testWordCount

创建hadoop文件夹wordCountInput:$hadoop fs -mkdir /wordCountInput

将文件testWordCount上传至wordCountInput文件夹:$hadoop fs -put testWordCount /wordCountInput

执行wordcount程序,并将结果放入wordCountOutput文件夹:$hadoop jar ~/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar wordcount /wordCountInput /wordCountOutput

注意事项:/wordCountOutput文件夹必须是没有创建过的文件夹

查看生成文件夹下的文件:$hadoop fs -ls /wordCountOutput
在这里插入图片描述
在output/part-r-00000可以看到程序执行结果:$hadoop fs -cat /wordCountOutpart-r-00000

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hadoop是小象——Hadoop集群安装配置 的相关文章

  • Redis缓存击穿、雪崩、穿透!(超详细)

    缓存的击穿 穿透和雪崩应该是再熟悉不过的词了 也是面试常问的高频试题 不过 对于这三大缓存的问题 有很多人背过了解决方案 却少有人能把思路给理清的 而且 网络上仍然充斥着 大量不太靠谱的解决方案 难免误人子弟 我的这篇文章 则会对这三大缓存
  • 【redis】Redis cluster是AP架构还是CP架构?

    最近刚好在看CAP理论 加上之前分析的redis cluster 就在想redis的cluster是什么模式的 AP还是CP 首先还是简单讲下CAP 具体的可见 CAP分别是 强一致性 Consistency 可用性 Availabilit
  • Spark一路火花带闪电——Pair RDD常用算子(参数及其返回值)探究

    文章目录 转化算子 行动算子 转化算子 以键值对集合 1 2 3 4 3 6 为例 RDD U T 注意下面的函数 对应U和T reduceByKey f T T gt T RDD U T 合并具有相同值的键 rdd reduceByKey
  • Dubbo——Dubbo初识(1)

    背景 随着互联网的发展 网站应用的规模不断扩大 常规的垂直应用架构已无法应对 分布式服务架构以及流动计算架构势在必行 亟需一个治理系统确保架构有条不紊的演进 单一应用架构 当网站流量很小时 只需一个应用 将所有功能都部署在一起 以减少部署节
  • Java大数据基础——day01

    大家好 自我介绍一下 我是接下来带大家超神的建哥 睁开大眼 看好了联系方式 18935466019 联系邮箱 zhangjianios 163 com QQ 343438569 在接下来的时间 会带大家走入新的旅程 Java 学习大数据之前
  • 伸缩自如的ElasticSearch——ElasticSearch-sql安装及使用

    文章目录 安装ElasticSearch sql 安装es sql site 安装ElasticSearch sql 安装地址 ES sql地址 注意安装版本要与ES版本一致 这里是6 7 1 安装完成后 解压 将解压后的文件夹放入ES的p
  • windows安装docker desktop

    windows安装docker desktop 前言 一 docker desktop 是什么 二 安装步骤 1 下载 2 安装 总结 前言 这里针对windows 10 家庭中文版 其他版本部分步骤可跳过 一 docker desktop
  • Hadoop是小象——YARN / Split&Block

    了解Hadoop架构 Hadoop可运行于一般的商用服务器上 具有高容错 高可靠性 高扩展性等特点 特别适合写一次 读多次的场景 其架构如下 HDFS 分布式文件存储 可靠性由心跳机制和冗余提供 YARN 分布式资源管理 MapReduce
  • 云计算虚拟化技术与开发-------虚拟化技术应用第一章内容(虚拟化技术概念、虚拟化特征、虚拟化目的、半虚拟化和全虚拟化特点和区别、虚拟化实现的三种结构的特点和区别)

    目录 虚拟化技术第一章主要内容 虚拟化技术的概念 虚拟化的特征 虚拟化的目的 虚拟化与云计算的关系 半虚拟化和全虚拟化的特点和区别 虚拟化实现的三种结构的特点和区别 虚拟化技术第一章主要内容 虚拟化技术的概念 虚拟化 Virtualizat
  • 伸缩自如的ElasticSearch——通过bboss操作和访问elasticsearch模式

    文章目录 ClientUtil 加载配置文件中的dsl来实现对es的操作模式 所有不依赖dsl的功能 或直接接收dsl模式 基本功能 配置es查询dsl 文档批量创建或者修改 http api 查询dsl动态脚本语法规范 配置springb
  • JavaEE架构之传统三层架构,集群架构,分布式架构,微服务架构

    javaEE架构 1 传统三层架构 all in one项目 传统三层架构大致可以分为表现层 业务层和持久层 数据访问层 其中表现层负责接受请求和转发请求 业务层负责处理请求 注 事务管理 日志记录等AOP类型的操作均封装在这一层 持久层主
  • 从分层架构到微服务架构(五)之服务化架构

    从分层架构到微服务架构 是一系列介绍 Fundamentals of Software Architecture 中提到的8种架构模式的文章 这里不会事无巨细地介绍所有的细节 而是会挑选其中关键内容 更多详情请阅读原书 往期精彩 从分层架构
  • Hadoop是小象——Hadoop集群安装配置

    文章目录 所需软件 集群网络配置 集群SSH免密登陆设置 Hadoop安装配置 所需软件 Linux所需软件包括 JavaTM1 5 x 必须安装 建议选择Sun公司发行的Java版本 以前安装过 ssh 必须安装并且保证 sshd一直运行
  • Springcloud五大组件

    1 什么是springcloud springcloud是一系列框架的有序集合 它利用springboot的开发便利性巧妙地简化了分布式系统基础设施的开发 如服务发现注册 配置中心 消息总线 负载均衡 断路器 数据监控等 都可以用sprin
  • 几张架构图阐述微服务架构治理相关知识点

    微服务架构的技术点 超时时间设置 接口重试机制 流量QPS限流 请求熔断处理 请求降级处理 今天给大家分享一下以上相关的知识点 通过微服务系统之间RPC通信的方式 以架构图的形式给大家展开介绍 1 超时时间设置 应用访问业务系统A 业务系统
  • Distributed Database System —— Mysql Binlog不止是主从同步

    文章目录 引入 Binlog应用场景 读写分离 数据恢复 保证数据最终一致性 异地多活 引入 Mysql 5 0以后 支持通过binary log 二进制日志 以支持主从复制 复制允许将来自一个MySQL数据库服务器 master 的数据复
  • Elasticsearch使用教程

    下载ES elasticsearch的下载地址 https www elastic co cn downloads elasticsearch ik分词器的下载地址 https github com medcl elasticsearch
  • 应用使用Druid连接池经常性断链问题分析

    前段时间有应用使用Druid连接池经常的提示断链报错 整个问题排查分析过程很有意思 这里将Druid连接池 数据库层以及负载均衡层的配置分析下 记录整个问题的分析过程 同时梳理下Druid连接池的配置和连接保活及回收机制 1 问题背景 应用
  • docker 安装 mysql (windows版本)

    docker 安装 mysql windows版本 1 下载 MySQL 社区版映像 运行以下命令 docker pull mysql mysql server 5 7 2 启动Docker容器 请使用以下命令 docker run nam
  • 大数据基础

    1 HDFS 1 HDFS为什么不适合存储大量小文件 答 1 大量文件的元数据占用NameNode大量内存空间 2 磁盘寻道时间超过读取时间 2 HDFS 何时离开安全模式 答 ActiveNameNode启动时HDFS进入安全模式只读 d

随机推荐

  • java包机制

    包机制是java中管理类的重要手段 开发中 我们会遇到大量同名的类 通过包我们很容易对解决类重名的问题 也可以实现对类的有效管理 包对于类 相当于文件夹对于文件的作用 我们通过package实现对类的管理 package的使用有两个要点 1
  • VS2013写代码时几个常用的快捷键

    0 查看函数具体实现 说明 组合键是同时按 非组合键是按住Ctrl依次按后面的键 1 格式化 格式化全部代码 Ctrl A K F 格式化选中的代码 Ctrl K F 2 注释代码 注释代码 Ctrl K C comment 反注释代码 C
  • Python基本函数:np.multiply()

    Python基本函数 np multiply 一 函数说明 二 函数用法 格式 np multiply a b 注意 文中用到了arange dot reshape函数以及转置 T 一 函数说明 由于multiply是ufunc函数 ufu
  • 【C++】string类浅拷贝的解决方式

    1 浅拷贝 对内存地址的复制 让目标对象指针和源对象指向同一片内存空间 最终在释放的时候造成了多次释放导致程序崩溃 如果类中设计到资源管理时 用户必须要显式实现拷贝构造函数以及赋值运算符重载 因为编译器默认是按照浅拷贝的方式生成的 2 深拷
  • MySQL错误:1146-table 'mysql.proc' doesn't exist

    出现错误原因为 误删除了mysql数据库 解决方案 运行安装程序setup exe修复 repair 博主在删除其他数据库的时候 调用命令drop 误删mysql原数据库 使用mysql安装程序的修复解决 其他mysql命令 source
  • Interview Questions : Linux Device Drivers and Linux Kernel

    本文转载至 http priyaranjan technicalzone blogspot com 2014 01 interview questions embedded system html 1 Describe different
  • 反应器(Reactor)模式-golang探索

    反应器模式 在以前的博文模式设计概述 反应器 Reactor 模式介绍过相关的概念和流程 当时使用了python但是从结果上来看并没有起到很明显的效果 最近在处理有关proxy的项目中 刚刚好涉及到有关性能的问题 故本文探索一下go的反应器
  • vue全局使用sass变量

    需求 框架需要使用scss 之后不想把很多重复的css一个一个写 就提取出来咯 到时候只需要更改scss文件就可以了 不用一个一个的找 1 下载sass 这我下的俩个版本 如果你们下载最新版不兼容可以参考我的版本下载 sass 1 66 1
  • etcd安装

    ETCD安装 windows版本 下载 下载地址https github com etcd io etcd releases 安装 其实也不用安装 下载解压后 得到如下 选中etcd exe 右键 属性 兼容性 以管理员身份运行此程序勾上
  • ajax实现前后端传输流文件(图片)

    ajax实现前后端传输流文件 图片 在参考了一众CSDN大神的帖子之后终于实现了从后端获取图片并正确显示在canvas中 下面是代码 var xmlhttp xmlhttp new XMLHttpRequest xmlhttp open G
  • 解决使用pip无法安装rasa与无限依赖告警:INFO: This is taking longer than usual. You might need to provide the....

    在直接使用 pip install rasa时几乎无限告警 INFO pip is looking at multiple versions of sanic to determine which version is compatible
  • 套接字及分层模型(一)

    套接字通信 1 内核开发的工程师将网络相关的头文件存储到一个专门目录include net中 而不是存储到include linux 2 ISO OS和TCP IP参考模型 应用层 网络服务与最终用户的接口 表示层 数据的表示 安全及压缩
  • Ubuntu Nginx+Rtmp服务器搭建

    参考博文 他人博文 首先感谢博主的分享 我用的是ubnutu16 04 在我搭的时候会碰到几个问题 1 下载安装 nginx 和nginx rtmp 编译依赖工具的时候会出现lib3的依赖库没有源 要更新 1 apt get update
  • 第一次连接数据库时速度很慢问题解决

    问题描述 在web容器加载完毕后 调用接口时 init连接池时 速度很慢 速度可能在1分钟左右 主要是因为它会先去查询DNS 然后再连接 解决方案 在mysql 的配置文件中 配置 skip name resolve 结果 速度有明显提升
  • Eclipse安装JavaScript智能提示插件 spket

    1 首先下载eclipse的spket插件 http www spket com download html 也可以下载Spket IDE单独安装使用 不用eclipse
  • 硬件系统工程师宝典(12)-----EMC应该知道的事

    各位同学大家好 欢迎继续做客电子工程学习圈 今天我们继续来讲这本书 硬件系统工程师宝典 上篇我们说到在做电源完整性分析时去耦电容要遵循的规则 大电容的去耦半径大 小电容的去耦半径小 电容焊盘扇出时 双过孔可以减少寄生电感等 今天我们开始学习
  • python读取、显示、保存图片

    一 opencv 读 cv2 imread path mode 读取出来是ndarray 如果是读取灰度图 需要指定颜色模式为cv2 IMREAD GRAYSCALE 这样读取出的是一个二维数组 而不是彩色图像的三维数组 如果读取彩色图像
  • ps2023如何导出svg

    在 文件 文件 导出首选项 里勾选 使用旧版导出为 就可以在图层里右键导出svg啦 否则切图也导不出svg 右键导出为里面的格式也没有svg选项 官方建议使用以下解决方案 https helpx adobe com photoshop us
  • windows配置git公钥,读写远程git项目

    首先Windows电脑需要下载并安装git 从官网直接下载然后安装即可 https git scm com download win 添加公钥 ssh keygen t rsa C xxxxx xx com 注意 这个xxxxx xx co
  • Hadoop是小象——Hadoop集群安装配置

    文章目录 所需软件 集群网络配置 集群SSH免密登陆设置 Hadoop安装配置 所需软件 Linux所需软件包括 JavaTM1 5 x 必须安装 建议选择Sun公司发行的Java版本 以前安装过 ssh 必须安装并且保证 sshd一直运行