Hadoop3.0大数据处理学习1(Haddop介绍、部署、Hive部署)

news2024/9/26 1:17:29

Hadoop3.0快速入门

学习步骤:

  1. 三大组件的基本理论和实际操作
  2. Hadoop3的使用,实际开发流程
  3. 结合具体问题,提供排查思路

开发技术栈:

  • Linux基础操作、Sehll脚本基础
  • JavaSE、Idea操作
  • MySQL

Hadoop简介

Hadoop是一个适合海量数据存储与计算的平台。是基于Google的GoogleFS、Map Reduce、BigTable实现的。

分布式存储介绍

image.png

image.png

分布式计算介绍

  • 移动数据:数据 -> 计算程序
  • 移动计算:计算程序 -> 数据
  • 分布式计算:各个节点局部计算 -> 第二阶段汇总程序

image.png

Hadoop三大核心组件

image.png

HDFS(分布式存储系统)

架构分析:

  • HDFS负责海量数据的分布式存储。
  • 支持主从架构,主节点支持多个NameNode,从节点支持多个DataNode。
  • NameNode负责接收用户请求,维护目录系统的目录结构。DataNode主要负责存储数据。

MapReduce(分布式计算框架)

架构分析:

  • MapReduce是一个编程模型,主要负责海量数据计算,主要由两个阶段组成:Map和Reduce。
  • Map阶段是一个独立的程序,会在很多个节点上同时执行,每个节点处理一部分数据。
  • Reduce节点也是一个独立的程序,在这先把Reduce理解为一个单独的聚合程序即可。

Yarn(资源管理与调度)

架构分析:

  • 主要负责集权资源的管理和调度,支持主从架构,主节点最多可以有2个,从节点可以有多个。
  • 主节点(ResourceManager)进程主要负责集群资源的分配和管理。
  • 从节点(NodeManager)主要负责单节点资源管理。

大数据生态圈

image.png

Hadoop安装部署

Hadoop发行版介绍

  • 官方版本:Apache Hadoop,开源,集群安装维护比较麻烦
  • 第三方发行版:Cloudera Hadoop(CDH),商业收费,使用Cloudera Manager安装维护比较方便
  • 第三方发行版:HortonWorks(HDP),开源,使用Ambari安装维护比较方便。

伪分布式集群安装部署(使用1台Linux虚拟机安装伪分布式集群)

1. 静态IP设置

192.168.56.101

2. 主机名设置(临时、永久)

cent7-1

3. hosts文件修改(配置IP与主机名映射关系)

cent7-1 localhost

4. 关闭防火墙(临时、永久)

systemctl status firewalld.service
systemctl stop firewalld
systemctl status firewalld.service

5. ssh免密登录

ssh-keygen -t rsa
cd /root
cd .ssh/
cat id_rsa
cat id_rsa.pub >> authorized_keys
ssh cent7-1

6. JDK1.8安装

tar -zxvf jdk-8u191-linux-x64.tar.gz 
vi /etc/profile
source /etc/profile

# profile配置内容
export JAVA_HOME=/home/jdk8
export PATH=.:$JAVA_HOME/bin:$PATH

7. Hadoop伪分布式安装

# 解压Hadoop
tar -zxvf hadoop-3.2.4.tar.gz 
# 进入配置文件目录
cd /home/hadoop-3.2.4/etc/hadoop

vi core-site.xml 

vi hdfs-site.xml 
  1. 配置core-site.xml
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://cent7-1:9000</value>
  <final>true</final>
</property>
<property>
  <name>hadoop.tmp.dir</name>
  <value>/home/hadoop_repo</value>
</property>
  1. 配置hdfs-site.xml
<!-- 指定HDFS副本的数量,伪分布式集群最多一个,也不支持多个 -->
<property>
   <name>dfs.replication</name>
   <value>1</value>
</property>
  1. 配置hdfs-site.xml
<!-- 指定MR运行在Yarn上 -->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
  1. 配置yarn-site.xml
<!-- Reducer获取数据的方式 -->
<property>
 <name>yarn.nodemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager白名单 -->
<property>
  <name>yarn.nodemanager.env-whitelist</name>
  <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
  1. 配置 hadoop-env.sh
export JAVA_HOME=/home/jdk8
export HADOOP_LOG_DIR=/home/hadoop_repo/logs/hadoop
  1. 初始化hdfs
# 在Hadoop的目录下执行以下命令,
bin/hdfs namenode -format

看到以下内容说明执行成功!注意:hdfs格式化只能执行一次,如果失败需要删除文件夹后再进行格式化。
image.png

启动

[root@cent7-1 hadoop-3.2.4]# sbin/start-all.sh
Starting namenodes on [cent7-1]
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
Starting datanodes
ERROR: Attempting to operate on hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.
Starting secondary namenodes [cent7-1]
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.
Starting resourcemanager
ERROR: Attempting to operate on yarn resourcemanager as root
ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation.
Starting nodemanagers
ERROR: Attempting to operate on yarn nodemanager as root
ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting operation.
# 提示缺少hdfs、yarn的用户信息
  1. 配置start-dfs.sh、stop-dfs.sh
vi sbin/start-dfs.sh
vi sbin/stop-dfs.sh 
#增加配置
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
  1. 配置
vi sbin/start-yarn.sh 
vi sbin/stop-yarn.sh 
#增加配置
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
  1. 再次启动
[root@cent7-1 hadoop-3.2.4]# sbin/start-all.sh 
WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.
Starting namenodes on [cent7-1]
上一次登录:三 830 19:05:12 CST 2023192.168.56.1pts/1 上
Starting datanodes
上一次登录:三 830 21:02:51 CST 2023pts/0 上
localhost: Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Starting secondary namenodes [cent7-1]
上一次登录:三 830 21:02:56 CST 2023pts/0 上
Starting resourcemanager
上一次登录:三 830 21:03:49 CST 2023192.168.56.1pts/3 上
Starting nodemanagers
上一次登录:三 830 21:04:13 CST 2023pts/0 上
[root@cent7-1 hadoop-3.2.4]# jps
10146 NameNode
10386 DataNode
10883 SecondaryNameNode
11833 ResourceManager
12954 Jps
12155 NodeManager
# 展示除了jps外的五个Hadoop组件进程表示启动成功
  1. 浏览器确认启动成功
    • 访问HDFS:http://192.168.56.101:9870/
      image.png
    • 访问Hadoop:http://192.168.56.101:8088/
      image.png

停止

sbin/stop-all.sh

分布式集群安装部署(使用3台Linux虚拟机安装分布式集群)

客户端节点安装介绍

HIVE安装部署

mysql安装部署

yum install mysql

hive下载与部署

apache-hive-hive-3.1.3安装包下载_开源镜像站-阿里云 (aliyun.com)
source /etc/profile

export HIVE_HOME=/home/hive
export PATH=$HIVE_HOME/bin:$PATH

配置hive/conf/hive-site.xml文件

<configuration>  
<property>  
        <name>javax.jdo.option.ConnectionURL</name>  
        <value>jdbc:mysql://cent7-1:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value>  
</property>  
<property>  
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>  
</property>  
<property>  
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>hdp</value>  
</property>  
<property>  
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>admin</value>  
</property>  
<!--自定义远程连接用户名和密码-->
<property>
        <name>hive.server2.authentication</name>
        <value>CUSTOM</value><!--默认为none,修改成CUSTOM-->
</property>
<!--指定解析jar包-->
<property>
        <name>hive.server2.custom.authentication.class</name>
        <value>com.ylw.CustomHiveServer2Auth</value>
</property>  
<property>
   <name>hive.server2.custom.authentication.file</name>
   <value>/home/hive/user.pwd.conf</value>
</property>
<!--设置用户名和密码-->
<property>
        <name>hive.jdbc_passwd.auth.root</name><!--用户名为最后一个:root-->
        <value>admin</value>
</property>  
<property>
        <name>hive.metastore.port</name>
        <value>9083</value>
        <description>Hive metastore listener port</description>
</property>
<property>
        <name>hive.server2.thrift.port</name>
        <value>10000</value>
        <description>Port number of HiveServer2 Thrift interface when hive.server2.transport.mode is 'binary'.</description>
</property>
<property>
        <!-- <value>新的最大工作线程数</value>-->
  <name>hive.server2.thrift.max.worker.threads</name>
  <value>200</value>
</property>
<property>
        <name>hive.metastore.local</name>
        <value>false</value>
        <description>controls whether to connect to remote metastore server or open a new metastore server in Hive Client JVM</description>
</property>
<property>
        <name>hive.server2.transport.mode</name>
        <value>binary</value>
        <description>
         Expects one of [binary, http].
         Transport mode of HiveServer2.
        </description>
</property>
</configuration> 

启动与停止hive

nohup hive --server metastore &
nohup hive --service hiveserver2 &
jps
#看到是否有两个runJar ,如果有说明启动成功
# 查看端口占用
netstat -anop |grep 10000
ps -aux|grep hive

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1133627.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

https下载图片

OpenSSL用法示例 OpenSSL源码安装 对于ubuntu&#xff0c;懒得编译源码可以直接安装 sudo apt-get install libssl–dev /usr/include/openssl/ssl.h CMakeLists中添加 link_libraries(ssl crypto) apt-get安装不需要再制定libssl.a, libcrypto.a的路径了, 就像用libc标…

柏拉图式爱情是同性之爱,绘画是理念世界的二次模仿

公元前427年&#xff0c;柏拉图出生在雅典。 柏拉图20岁成为苏格拉底的弟子。 有一次&#xff0c;柏拉图问苏格拉底&#xff1a;“什么是爱情&#xff1f;”苏格拉底说&#xff1a;“请穿越麦田&#xff0c;摘一株最大最金黄的麦穗回来。不走回头路&#xff0c;只能摘一次。”…

永恒之蓝漏洞 ms17_010 详解

文章目录 永恒之蓝 ms 17_0101.漏洞介绍1.1 影响版本1.2 漏洞原理 2.信息收集2.1 主机扫描2.2 端口扫描 3. 漏洞探测4. 漏洞利用5.后渗透阶段5.1创建新的管理员账户5.2开启远程桌面5.3蓝屏攻击 永恒之蓝 ms 17_010 1.漏洞介绍 永恒之蓝&#xff08;ms17-010&#xff09;爆发于…

Power BI 傻瓜入门 9. 设计和部署数据模型

本章内容包含&#xff1a; 详细说明设计数据模型的技术要求Power BI Desktop中基本数据模型的设计将数据模型从Power BI Desktop发布到Power BI Services 在数据进入Power BI后对其进行操作既是一门艺术&#xff0c;也是一门科学。导入到任何应用程序中的数据不仅需要注意数据…

7-3、S曲线生成器【51单片机控制步进电机-TB6600系列】

摘要&#xff1a;本节介绍步进电机S曲线生成器的计算以及使用 一.计算原理 根据上一节内容&#xff0c;已经计算了一条任意S曲线的函数。在步进电机S曲线加减速的控制中&#xff0c;需要的S曲线如图1所示&#xff0c;横轴为时间&#xff0c;纵轴为角速度&#xff0c;其中w0为起…

PyCharm 安装 cx_Oracle 失败

我在PyCharm的终端用 pip安装cx_Oracle失败&#xff0c;报错情况如下&#xff1a; ERROR: Could not build wheels for cx_Oracle, which is required to install pyproject.toml-based projects 出错原因&#xff1a; python 的版本太高了&#xff0c;我的是3.11版本的&…

开源思维导图白板工具

https://okso.app https://drawio.com https://tldraw.com https://excalidraw.com

Qt QPixmap绘制一层透明度蒙版

效果 为了在一个图片上绘制透明蒙层效果&#xff0c;思路&#xff1a; 绘制原图。原图上绘制一层透明度。 代码 QImage image(":/resource/icon24_File_Word.png");QPixmap pixmap QPixmap::fromImage(image);ui->label->setPixmap(pixmap);// 重新构造一个…

[Docker]二.Docker 镜像,仓库,容器介绍以及详解

一.Docker 镜像,容器,仓库的简单介绍 通俗来讲:镜像相当于VM虚拟机中的ios文件,容器相当于虚拟机系统,仓库相当于系统中的进程或者执行文件,容器是通过镜像创建的 1.镜像 Docker 镜像就是一个 Linux 的文件系统&#xff08; Root FileSystem &#xff09;&#xff0c;这个文…

np.linspace精确度

前言 今天发现一个大坑&#xff0c;如果是序列是小数的话&#xff0c;不要用np.linspace&#xff0c;而要用np.arrange指定等差序列。比如入下图中a和b是一样的意思&#xff0c;但是b是有较大误差的。 anp.arange(0,4,0.4) bnp.linspace(0,4,10) print("a",a) prin…

HDRP中ShaderGraph自发光(Emission)不工作

在Unity中使用HDRP管线时&#xff0c;在ShaderGraph中制作自发光效果可能会遇到这么一个问题&#xff0c;直接将颜色连到主节点的Emission上没效果。 原因&#xff1a;HDRP场景的灯光是基于物理的&#xff0c;所以灯光的强度远远大于默认的自发光强度&#xff0c;自发光就会不…

蓝桥杯动态规划每日一题

一、买卖股票的最佳时机III 股票最佳时机 1.状态表示 dp[i]:到达i天&#xff0c;所能获得的最大利润 但是我们唯一不清楚的是&#xff0c;他完成了几笔交易&#xff0c;所以不如&#xff0c;就设置一种二维数组 dp[m][3] 2是说第0天是第0笔&#xff0c;第一天是第1笔&#xff…

003 后台系统-搭建前端环境

课程链接 一.下载和配置vscode与nodejs 1.vscode视频链接 2.打开vscode下载以下插件&#xff1a; 3.安装nodejs16.19.0 4.检测nodejs是否安装成功&#xff0c;安装地址无中文 在cmd界面输入命令&#xff1a;node -v 显示版本则安装成功 5.在vscode中创建工作区 在电脑中创…

嵌入式 Tomcat 调校

SpringBoot 嵌入了 Web 容器如 Tomcat/Jetty/Undertow&#xff0c;——这是怎么做到的&#xff1f;我们以 Tomcat 为例子&#xff0c;尝试调用嵌入式 Tomcat。 调用嵌入式 Tomcat&#xff0c;如果按照默认去启动&#xff0c;一个 main 函数就可以了。 简单的例子 下面是启动…

T113-S3-buildroot文件系统tar解压缩gz文件

目录 前言 一、现象描述 二、解决方案 三、tar解压缩.gz文件 总结 前言 本文主要介绍全志T113-S3平台官方SDK&#xff0c;buildroot文件系统tar不支持.gz文件解压缩的问题以及如何配置buildroot文件系统解决该问题的方法介绍。 一、现象描述 在buildroot文件系统中&#xff…

图像压缩(4)《数字图像处理》第八章 8.3节 数字图像水印

图像压缩&#xff08;3&#xff09;《数字图像处理》第八章8.3节数字图像水印 一. 前言二.章节引言三.简单综述三.本章小结四.参考文献四. 小结 一. 前言 始于那本深蓝色的大块头&#xff0c;冈萨勒斯的《数字图像处理》&#xff0c;从此走上了图像信号处理的不归路&#xff0…

Java开发-WebSocket

WebSocket是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工通信-浏览器和服务器只需要完成一次握手&#xff0c;两者之间就可以创建持久性的连接&#xff0c;并实现 双向数据传输。 使用 导入maven坐标 <dependency><groupId>org.springframework.bo…

【Linux】安装配置虚拟机及虚拟机操作系统的安装

目录 一、操作系统 1. 介绍 2. 功能 3. 有哪些 4. 个人版本和服务器版本的区别 二、VMWare虚拟机 1. 安装 2. 配置 三、安装配置Windows Server 1. 配置 2. 安装 四、虚拟机的环境配置及连接 1. 主机连接虚拟机 2. 虚拟机环境配置及共享 3. 环境配置 一、操作系…

音乐网站播放器前后端【源码好优多】

介绍 音乐网站播放器音乐网站管理系统音乐网站后台 软件架构 使用vuespringbootmybatis-plusmysql技术的前后端分离项目 前端 安装教程 npm install&#xff08;安装运行环境&#xff09; npm run dev&#xff08;运行&#xff09; 需要有node.js环境&#xff0c;不建议使…