单机搭建hadoop环境(包括hdfs、yarn、hive)

单机可以搭建伪分布式hadoop环境,用来测试和开发使用,hadoop包括:

hdfs服务器

yarn服务器,yarn的前提是hdfs服务器,

在前面两个的基础上,课可以搭建hive服务器,不过hive不属于hadoop的必须部分。

过程不要想的太复杂,其实挺简单,这里用最糙最快最直接的方法,在我的单节点虚拟机上,搭建一个hdfs+yarn+hive:

首先,要配置好Java的JAVA_HOME和PATH(etc/hadoop/hadoop-env.sh里的JAVA_HOME要改为本机的JAVA_HOME),还是有ssh本机的免密码登录。

然后,下载hadoop安装包,这个包就包括了hdfs服务器和yarn服务器的执行文件和配置脚本。解压后,先配置 hdfs 服务器端,主要是两个配置文件:core-site.xml 和 hdfs-site.xml 这个site我估计就是服务器端配置的意思。我是用root用户配置和执行的:

etc/hadoop/core-site.xml (这里9000是hfds服务器,监听端口号,这里要用自己的IP地址,如果用127.0.0.1,远程集群连不进来)

<configuration><property><name>fs.defaultFS</name><value>hdfs://172.32.155.57:9000</value></property></configuration>

etc/hadoop/hdfs-site.xml (dfs.namenode.name.dir 和 dfs.namenode.data.dir)是服务器上存储元数据和数据的目录。

<configuration><property><name>dfs.replication</name><value>1</value></property><property><name>dfs.namenode.name.dir</name><value>/mnt/disk01/hadoop/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>/mnt/disk01/hadoop/dfs/data</value></property></configuration>

对上面配置的目录进行初始化/格式化:

 $ bin/hdfs namenode -format

执行sbin里的start-dfs.sh就可以启动hdfs文件系统服务器了,可以jps查看一下有哪些java进程:

如果在本地(服务器上),执行

hdfs dfs -ls /

就可以查看hdfs上的文件了,还可以用其它命令操作hdfs:

hdfs dfs -mkdir /user/root
hdfs dfs -mkdir input

上面只是配置了hdfs服务器,要想跑hive或mapreduce,还需要配置和启动调度器:yarn

etcd/hadoop/mapred-site.xml 

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.application.classpath</name><value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value></property>
</configuration>

etcd/hadoop/yarn-site.xml (这里 yarn.resourcemanager.hostname 要写自己的IP,yarn.nodemanager.env-whitelist 设置Container的能继承NodeManager的哪些环境变量)

<configuration><!-- Site specific YARN configuration properties --><property><name>yarn.resourcemanager.hostname</name><value>172.32.155.57</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><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_HOME,PATH,LANG,TZ,HADOOP_MAPRED_HOME</value></property></configuration>

MapReducer执行时,会在NodeManager上创建Container,在Container上执行Task(JAVA程序),该程序需要环境变量(如:JDK、HADOOP_MAPRED_HOME…),该参数就是 设置Container的能继承NodeManager的哪些环境变量。

-- 引自 

HADOOP_MAPRED_HOME=${full path of your hadoop distribution directory}-CSDN博客

启动yarn

start-yarn.sh
[root@neoap082 hadoop-3.3.6]# jps
430131 Jps
422691 ResourceManager
416862 NameNode
417388 SecondaryNameNode
422874 NodeManager
417082 DataNode

 执行 mapreduce 任务(java程序)

  $ bin/hdfs dfs -mkdir -p /user/root$ bin/hdfs dfs -mkdir input$ bin/hdfs dfs -put etc/hadoop/*.xml input$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep input output 'dfs[a-z.]+'$ bin/hdfs dfs -cat output/*

安装hive:

hive的元数据一般使用mysql存储,也可以使用hive自带的数据库derby,如果使用derby,那么hive的安装、配置、启动非常简单:

先要单独下载hive:

不需要修改任何hive的配置文件,就是最简情况下,只要配置好hdfs和yarn,不需要配置hive。

但是,第一次使用以前,需要初始化 hive:

hdfs dfs -mkdir -p /user/hive/warehouse
bin/schematool -dbType derby -initSchema

然后直接执行 bin目录下的hive,这样就进入了hive命令行,也启动了hive服务器,这种只能用来学习测试,不过也足够了。

CREATE TABLE basic_data_textfile
(
    k00 INT,
    k01 DATE,
    k02 BOOLEAN,
    k03 TINYINT,
    k04 SMALLINT,
    k05 INT    ,
    k06 BIGINT ,
    k07 BIGINT,
    k08 FLOAT  ,
    k09 DOUBLE ,
    k10 DECIMAL(9,1) ,
    k11 DECIMAL(9,1) ,
    k12 TIMESTAMP,
    k13 DATE ,
    k14 TIMESTAMP,
    k15 CHAR(2),
    k16 STRING,
    k17 STRING ,
    k18 STRING   

row format delimited fields terminated by '\|' ;

# 从本地文件加载

load data local inpath '/opt/doris_2.0/basic_data.csv' into table basic_data;

# 从hdfs路径加载

load data inpath '/user/root/basic_data.csv' into table basic_data_lzo;

 hive表数据是一个hdfs目录下的文件,可以设置这些文件存储时的格式和压缩算法,例如,下面的basic_data_lzop表一lzo压缩,压缩文件格式为lzop:

set hive.exec.compress.output=true;
set mapred.output.compression.codec=com.hadoop.compression.lzo.LzopCodec;
set io.compression.codecs=com.hadoop.compression.lzo.LzopCodec;

CREATE TABLE basic_data_lzop
(
    k00 INT,
    k01 DATE,
    k02 BOOLEAN,
    k03 TINYINT,
    k04 SMALLINT,
    k05 INT    ,
    k06 BIGINT ,
    k07 BIGINT,
    k08 FLOAT  ,
    k09 DOUBLE ,
    k10 DECIMAL(9,1) ,
    k11 DECIMAL(9,1) ,
    k12 TIMESTAMP,
    k13 DATE ,
    k14 TIMESTAMP,
    k15 CHAR(2),
    k16 STRING,
    k17 STRING ,
    k18 STRING   

row format delimited fields terminated by '\|' ;

insert into basic_data_lzop select * from basic_data;

 basic_data_orc_snappy 表以orc格式存储,数据块以snappy压缩:

CREATE TABLE basic_data_orc_snappy
(
    k00 INT,
    k01 DATE,
    k02 BOOLEAN,
    k03 TINYINT,
    k04 SMALLINT,
    k05 INT    ,
    k06 BIGINT ,
    k07 BIGINT,
    k08 FLOAT  ,
    k09 DOUBLE ,
    k10 DECIMAL(9,1) ,
    k11 DECIMAL(9,1) ,
    k12 TIMESTAMP,
    k13 DATE ,
    k14 TIMESTAMP,
    k15 CHAR(2),
    k16 STRING,
    k17 STRING ,
    k18 STRING   

row format delimited fields terminated by '\|' 
stored as orc tblproperties ("orc.compress"="SNAPPY");

insert into basic_data_orc_snappy select * from basic_data_textfile;

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux自动创建本地yum源与清华大学源仓库

Linux自动创建本地yum源与清华大学源仓库 系统环境&#xff1a; Server1&#xff1a;172.20.26.167—CentOS7.6 在172.20.26.167服务器上 yum install yum-utils -y 输入yum按两下tab键&#xff0c;可以看到 yum-config-manager 工具&#xff0c;使用该工具可以自动配置仓…

【正点原子STM32连载】第四十六章 SD卡实验 摘自【正点原子】APM32E103最小系统板使用指南

1&#xff09;实验平台&#xff1a;正点原子APM32E103最小系统板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/docs/boards/xiaoxitongban 第四…

异步编程,到底有什么用?

关键词&#xff1a;高性能、架构设计、异步思想、场景落地 文章导读 场景切入 先来看一个日常生活快递寄件场景&#xff0c;从寄件人&#xff08;寄件&#xff09;到收件人&#xff08;收件&#xff09;&#xff0c;全流程如下 当你准备寄送一个包裹时&#xff0c;通常你可以…

Qt|制作简单的不规则窗体

通常我们用到的对话框基本上都是规则的&#xff0c;在有些特殊情况下&#xff0c;也会使用到不规则窗口&#xff0c;那么该如何实现不规则窗体呢&#xff1f; 在MFC框架下很难实现&#xff0c;应该说是难的都想放弃&#xff0c;但是&#xff0c;Qt框架下提供了一个叫做setMask…

Python+PyQt5+C Hw信息检测

UI主界面&#xff1a; C源代码&#xff1a; /* I/O port access* Copyright (C) 2009 Red Hat Inc.** This program is free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License as published by* the Free Software Fo…

kingbase控制文件重建

背景&#xff1a; 测试版本&#xff1a;V008R006C005B0023 sys_control文件在数据目录的global下 若sys_control文件损坏或被删&#xff0c;会导致库无法启动 处理方式&#xff1a; 所在目录为数据目录 1、尝试dryrun touch global/sys_control sys_resetwal -l 00000001…

用Audio2Face导出Unity面部动画

开始之前说句话&#xff0c;新年前最后一篇文章了 一定别轻易保存任何内容&#xff0c;尤其是程序员不要轻易Ctrl S 在A2F去往Unity的路上&#xff0c;还要经历特殊Blender&#xff0c;自己电脑中已下载好的可能不是很好使。 如果想查看UE相关的可以跳转到下边这两篇链接 1. …

2024年第九届信号与图像处理国际会议(ICSIP 2024)

2024第九届信号与图像处理国际会议&#xff08;ICSIP 2024&#xff09;将于2024年7月12-14日在中国南京召开。ICSIP每年召开一次&#xff0c;在过去的七年中吸引了1200多名与会者&#xff0c;是展示信号和图像处理领域最新进展的领先国际会议之一。本次将汇集来自亚太国家、北美…

#10外部网页跳转vue3+SpringMVC解码GBK编码的参数

目录 1、背景 2、失败尝试之iconv-lite 2.1、安装和使用 2.2、遇到的问题 2.3、解决方案(vite-plugin-node-polyfills) 2.4、测试 3、成功尝试 3.1、前端参数读取方式 3.2、后端解码 1、背景 外部jsp页面中编码方式为GBK&#xff0c;跳转到vue页面时如果使用decodeURI…

C#,入门教程(33)——万能的数据接送者json

上一篇&#xff1a; C#&#xff0c;入门教程(32)——程序运行时的调试技巧与逻辑错误探针技术与源代码https://blog.csdn.net/beijinghorn/article/details/126014885 作为21世纪的编程者&#xff0c;无论你是前端还是后端&#xff0c;都逃不过“json”。 一、什么是 json&…

中耳分析时,鼓室图有哪几种分型?

做中耳分析时&#xff0c;鼓室图有哪几种分型&#xff1f; 目前&#xff0c;临床上最常用的鼓室图分型法是由Jerger提出的&#xff0c;主要分为A型、As型、Ad型、B型和C型五种类型。 A型 正常成人的鼓室图峰补偿静态声导纳值为0.3&#xff5e;1.6 mmho&#xff08;Silman等报…

【Linux】环境基础开发工具的使用之gcc详解(二)

前言&#xff1a;上一篇文章中我们讲解了Linux下的vim和yum的工具的使用&#xff0c;今天我们将在上一次的基础上进一步的讲解开放工具的时候。 &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x1f49e; &#x1f449; 专栏分类:Linux的深度刨析 &#x1f448; &#x1f4a…