hadoop学习记录(代码片段)

一加六 一加六     2023-01-05     735

关键词:

虚拟机安装

第一步:创建新的虚拟机

第二步:选择“自定义向导”

第三步:

第四步:选择操作系统的类型

第五步:安装及位置

第六步:cpu及核心数 建议最少2核

第七步:内存 建议最少4G

第八步:网络类型选择桥接或nat都可

创建好了虚拟机 图中CPU核心和内存都是为简化流程没有改

安装一台centos7并克隆两台共三台机器

linux网络配置

1.修改主机名称
将克隆的2、3主机分别改名为hadoop02、hadoop03
Vi /etc/hostname

2.主机名和ip映射配置
Host文件配置 三台虚拟机之间通信名称代替ip

2.网络参数配置 配置静态ip

3.测试网卡配置

SSH服务配置 免密登录

1.生成私匙 和公匙

将共匙 加入authorized_keys 文件(如没有touch创建该文件) 实现自我登录
cat id_rsa.pub >> authorized_keys

复制共匙到hadoop02和hadoop03 实现免密登录

防火墙配置

firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --zone=public --add-port=50075/tcp --permanent
firewall-cmd --zone=public --add-port=8088/tcp --permanent
放开端口需重载防火墙配置
firewall-cmd --reload
查看一下开放的端口
firewall-cmd --zone=public --list-ports

常用的端口如下

Jdk安装

上传

解压

重命名

配置环境变量


验证安装完成

Hadoop安装和集群配置

上传

解压

配置环境变量


需要注意的是配置环境变量的时候若有两个path 一定要记得两个都要在前面加$符号
验证安装成功

主节点配置

core-site.xml 配置 此地fs需注意value值开头需添加hdfs 非高可用

高可用ha配置

Hdfs-site.xml文件配置 此处dfs需注意value前无需添加hdfs


高可用ha配置


Mapred-site.xml文件配置

yarn-site.xml文件配置


高可用ha配置

Slaves文件配置


将主节点内容分发到子节点
分发profile配置

同步分发、export下的文件

zookeeper安装并配置

1.下载并解压

配置环境变量

配置zoo.cfg

添加myid文件


Ha-01输入值1,ha-02输入值为2,ha-03输入值为3

Hadoop集群测试

1.启动各个节点的zookeeper服务
zkServer.sh start

2.启动集群监控namenode的管理日志journalNode
hadoop-daemons.sh start journalnode
说明:该命令不推荐使用,系统会提示使用新的命令
hdfs –daemon start journalnode
可以不用单独启动,在启动hadoop集群的时候会自动启动(如果配置了的journalnode情况)

3.在node-01上格式化namenode,并分发到node-02
1.Hadoop namenode –format 提示用:hdfs namenode -format

2.scp –r /export/data/hadoop node-02:/export/data
注意:只分发master和backupmaster
hdfs namenode -format

若初始化时出现下面错误

错误原因:
我们在执行start-dfs.sh的时候,默认启动顺序是namenode>datanode>journalnode>zkfc,如果journalnode和namenode不在一台机器启动的话,很容易因为网络延迟问题导致namenode无法连接journalnode,无法实现选举,最后导致刚刚启动的namenode会突然挂掉。虽然namenode启动时有重试机制等待journalnode的启动,但是由于重试次数限制,可能网络情况不好,导致重试次数用完了,也没有启动成功。

解决方法:
方法①:手动启动namenode,避免了网络延迟等待journalnode的步骤,一旦两个namenode连入journalnode,实现了选举,则不会出现失败情况。
方法②:先启动journalnode然后再运行start-dfs.sh。
方法③:把namenode对journalnode的容错次数或时间调成更大的值,保证能够对正常的启动延迟、网络延迟能容错。在hdfs-site.xml中修改ipc参数,namenode对journalnode检测的重试次数,默认为10次,每次1000ms,故网络情况差需要增加。具体修改信息为:

<property>
     <name>ipc.client.connect.max.retries</name>
     <value>100</value>
     <description>Indicates the number of retries a client will make to establish
      a server connection.
     </description>
</property>
<property>
     <name>ipc.client.connect.retry.interval</name>
    <value>10000</value>
    <description>Indicates the number of milliseconds a client will wait for
  before retrying to establish a server connection.
    </description>
</property>

原文链接:link
如出现以下错误

要删除对应文件下的目录再初始化
4.在node-01上格式化ZKFC
hdfs zkfc –formatZK
5.在node-01上启动hadfs
start-dfs.sh
6.在node-01上启动yarn
start-yarn.sh
一键启动 终止
start-dfs.sh start-yarn.sh

结果 3台均正常启动dfs 和yarn

如果有漏掉的机器没有启动
则可以用
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start secondarymanager
yarn-daemon.sh start nodemanager
在漏掉的机器上执行启动
一键终止 stop-dfs.sh stop-yarn.sh

通过UI查看hadoop集群


三台集群均成功通信展示在UI界面
在UI界面创建添加文件

解决办法:在linux系统中hadoop fs -chmod -R 777 /释放权限(实际生产应该不会让这样做)

Hadoop运行mapreduce 使用基础jar包统计词频

前提条件:
1.dfs、yarn已运行
2.在hadoop文件系统创建如下文件夹

3.在input目录下上传word.txt.txt文件

4.防火墙50070、8088、9000、50075端口放开
运行统计词频案例
在/export/servers/hadoop2.9.2/share/hadoop/mapreduce/目录下有一些简单例子的jar包如统计词频、计算Pi值等,下面演示一个词频统计

进入到/export/servers/hadoop2.9.2/share/hadoop/mapreduce/目录下
hadoop jar hadoop-mapreduce-examples-2.9.2.jar wordcount /data/input/word.txt.txt /data/output/result
输出文件在hadoop文件系统的/data/output/result目录下

查看下输出结果

输出为各个词的词频
在网页端查看输出结果
需要防火前放开50075端口

Hadoop - JavaAPI (with IDEA in Windows)

Windows 安装hadoop
(hadoop-2.5.2.tar.gz解压到本地)

Windows配置hadoop环境变量
HADOOP_HOME

添加path

winutils工具包
解压下载的winutils,找到对应或邻近版本的Hadoop,进入其bin目录,将其中的hadoop.dll和winutils.exe拷贝到C:\\Windows\\System32目录

创建maven project
配置pom.xml

配置core-site.xml、hdfs-site.xml、log4j.properties
将远程集群的Hadoop安装目录下hadoop/hadoop-2.7.7/etc/hadoop目录下的core-site.xml、hdfs-site.xml两个文件通过Xftp等SFTP文件传输软件将两个文件复制,并移动到上述src/main/resources目录中(拖拽即可),然后将下载的log4j.properties文件移动到src/main/resources目录中(防止不输出日志文件)
(可以直接从linux的/export/servers/hadoop-2.9.2/etc/hadoop下复制过来)

编写java程序相应模块测试创建、上传读取文件

将连接属性前添加@before方法作为连接前提条件
创建、上传文件夹前添加@test方法连接测试
编写经典案例倒排索引(课本Mapreduce案例)
文件准备
首先在/data的目录下创建两个文件

在mfile里创建三个文件

编写java类文件
Mapper

Reducer

Combiner

Driver

结果

文档出现词和文档对应索引

学习记录combinefileinputformat类(代码片段)

基本摘自网上给自己做一记录,如有错误请斧正CombineFileInputFormat是一个抽象类。Hadoop提供了两个实现类CombineTextInputFormat和CombineSequenceFileInputFormat。其继承关系如下:InputFormat--->FileInputFormat------>CombineFileInputFormatCombineTe 查看详情

hadoop学习笔记--hbase相关操作指令(代码片段)

文章目录引言0.HBase的启动与停止1.创建表2.删除表3.表的其他操作3.1修改表结构3.2查看表结构3.3显示所有用户定义的表3.4查询表是否存在3.5查询表是否可用3.6查询表中记录数4.插入数据4.1插入单条数据4.2插入多行数据5.删除数据5.1... 查看详情

大数据学习笔记~hadoop基础篇(代码片段)

前言记录我在学习大数据技术中的学习笔记目录前言一、Hadoop介绍二、Hadoop发行版介绍三、Hadoop核心架构发展历史四、Hadoop三大核心组件介绍五、Hadoop集群安装部署a、伪分布式集群安装部署1.下载hadoop安装包2.设置静态ip 3、修... 查看详情

学习记录combinefileinputformat类(代码片段)

...记录,如有错误请斧正CombineFileInputFormat是一个抽象类。Hadoop提供了两个实现类CombineTextInputFormat和CombineSequenceFileInputFormat。其继承关系如下:InputFormat--->FileInputFormat------>CombineFileInputFormatCombineTextInputFormat的使用:仅输入一个... 查看详情

hadoop记录-flink测试(代码片段)

1.启动集群bin/start-cluster.sh2.jps查看进程3.打开网页端(192.168.66.128:8081)4.造数据:nc-lk90005.执行./bin/flinkrunexamples/streaming/SocketWindowWordCount.jar--port9000   查看详情

学习笔记hadoop——hadoop基础操作(代码片段)

文章目录一、Hadoop安全模式1.1、HDFS启动日志分析1.2、Safemode进入方式二、Hadoop集群基本信息三、HDFS常用Shell操作3.1、HDFS文件系统3.2、常用Shell命令-appendToFile3.3、常用Shell命令-cat3.4、常用Shell命令-copyFromLocal|put3.5、常用Shell命令-cp3... 查看详情

hadoop学习笔记hdfsjavaapi(代码片段)

Hadoop学习笔记(五)HDFSJavaAPIspringboot项目操作hdfspom.xml<projectxmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc 查看详情

寒假记录5(代码片段)

...数据。在spark-shell 中读取HDFS 系统文件“/user/hadoop/test.txt”(如果该文件不存在,请先创建),然后,统计出文件的行数;scala>valtextFile=sc.textFile("hdfs://localhost:9000/user/hadoop/test.txt")scala>textFile.count()今天才看了爬... 查看详情

hadoop学习之hadoop安装jdk安装集群启动(完全分布式)(代码片段)

...路上的点点滴滴。个人主页:Apathfinder本文专栏:Hadoop学习 前言:本文主要是对hadoop完全分布式环境安装过程中的hadoop安装以及JDK安装作详细的介绍,以及集群启动。目录正文一.整体部署情况二.JDK安装 查看详情

[博学谷学习记录]超强总结,用心分享|zookeeper(代码片段)

...管理员”,观察上方图片,大部分框架,例如hadoop、Flink、WEKA、HIVE...都是动物作为图标,而 查看详情

hadoop学习笔记二集群环境搭建(代码片段)

...行),装3台CentOS7虚拟机。    集群规划:hadoop001192.168.164.10hadoop002192.168.164.20hadoop003192.168.164.30HDFS集群NameNodeSe 查看详情

学习笔记hadoop——hadoop集群的安装与部署——配置hadoop集群(代码片段)

四、配置Hadoop集群Hadoop集群总体规划Hadoop集群安装采用下面步骤:在Master节点:上传并解压Hadoop安装包。在Master节点:配置Hadoop所需configuration配置文件。在Master节点:拷贝配置好的Hadoop安装包到其他节点。在所有... 查看详情

hadoop学习笔记hdfs单机版windows安装(代码片段)

Hadoop学习笔记(四)HDFS单机版Windows安装1、hadoop相关软件下载1、hadoop下载地址:https://archive.apache.org/dist/hadoop/common/2、windows系统运行环境winutils下载地址:https://download.csdn.net/download/Asia175 查看详情

学习笔记hadoop——hadoop集群的安装与部署(代码片段)

文章目录一、Hadoop集群部署模式二、配置固定IP2.1、虚拟机DHCP2.2、步骤三、配置ssh无密码登录3.1、SSH3.2、MS架构3.3、配置主节点无密码登录四、配置Hadoop集群4.1、上传并解压Hadoop安装包4.2、修改配置文件:hadoop-env.sh4.3、修改... 查看详情

hadoop学习hdfs(代码片段)

1、HDFS的设计HDFS是什么:HDFS即Hadoop分布式文件系统(HadoopDistributedFilesystem),以流式数据访问模式来存储超大文件,运行于商用硬件集群上,是管理网络中跨多台计算机存储的文件系统。HDFS不适合用在:要求低时间延迟数据访... 查看详情

hadoop学习笔记-2wordcount完整实例(代码片段)

...码说明创建Main.java 完整代码​运行wordcount生成jar包启动hadoop准备测试文件 运行开发工具IDEA创建Maven项目NewProject->Maven, 查看详情

大数据基石-hadoop3.x学习教程-hadoop产品了解与快速上手(代码片段)

大数据基石-HadoopHadoop3.x版本全系列教程===楼兰===文章目录一、关于Hadoop1、关于Hadoop产品2、Hadoop课程内容3、Hadoop的主要组件二、Hadoop环境搭建以及快速上手1、Linux环境搭建2、Hadoop集群搭建3、Hadoop快速上手三、... 查看详情

hadoop学习——hadoop单机运行grep实例(包含错误解决方法)(代码片段)

1.概述上一篇安装了Hadoop单机,所以今天打算先用Hadoop的mapreduce自带的Grep实例实践一下,顺带测试Hadoop是否成功安装。(不是水博客,有在努力填坑)实践开始之前,我们需要了解一下Grep实例,Grepÿ... 查看详情