单机搭建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;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

林浩然与杨凌芸的Java奇缘:静态关键字的恋爱三部曲

林浩然与杨凌芸的Java奇缘&#xff1a;静态关键字的恋爱三部曲 Lin Haoran and Yang Lingyun’s Java Romance: The Trilogy of Love with the Static Keyword 在编程世界里&#xff0c;有一个名叫林浩然的程序员&#xff0c;他风度翩翩&#xff0c;思维敏捷&#xff0c;对Java…

yo!这里是c++IO流相关介绍

目录 前言 C语言的输入输出 CIO流基本介绍 流的概念 IO流类库 iostream fstream stringstream 后记 前言 学过C语言的输入输出相关知识点的童鞋应该多多少少会觉得有些许麻烦&#xff0c;反正我就是这么觉得的&#xff0c;scanf、printf等函数不仅数量众多&#xff0c…

金三银四_程序员怎么写简历_写简历网站

你们在制作简历时,是不是基本只关注两件事:简历模板,还有基本信息的填写。 当你再次坐下来更新你的简历时,可能会发现自己不自觉地选择了那个“看起来最好看的模板”,填写基本信息,却没有深入思考如何使简历更具吸引力。这其实是一个普遍现象:许多求职者仍停留在传统简历…

【Unity3D小技巧】Unity3D中UI控制解决方案

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 在开发中总是会控制UI界面&#xff0c;如何优雅的控制UI界面是…

12.1 主成分分析原理(PCA)

主成分分析步骤如下&#xff1a; 设有条维数据 1. 将原始数据按列组成行列矩阵 &#xff1b; 2. 将矩阵 的每一行进行零均值化&#xff1b; 3. 求出协方差矩阵&#xff1b; 4. 求出协方差矩阵的特征值及对应的特征向量&#xff1b; 5. 将特征向量按对应特征值大小从上到…

富文本编辑器CKEditor4简单使用-04(跟源码设置image2插件图片的默认宽高等相关配置)

富文本编辑器CKEditor4简单使用-04&#xff08;跟源码设置image2插件图片的默认宽高等相关配置&#xff09; 1. 前言1.1 CKEditor4快速上手 2. CKEditor4的一般配置2.1 工具栏相关2.2 插件相关2.3 设置界面宽高等 3. CKEditor4的图片相关配置3.1 关于增强的图像插件的必要配置3…

洛谷 P3817 小A的糖果

题目描述 小 A 有 n 个糖果盒&#xff0c;第 i 个盒中有 a【i​】 颗糖果。 小 A 每次可以从其中一盒糖果中吃掉一颗&#xff0c;他想知道&#xff0c;要让任意两个相邻的盒子中糖的个数之和都不大于 x&#xff0c;至少得吃掉几颗糖。 输入格式 输入的第一行是两个用空格隔…

nop-entropy可逆计算入门(1)

第1步&#xff1a;从大佬的gitee&#xff1a;https://gitee.com/canonical-entropy/nop-entropy下载源码&#xff0c;进行本地编译&#xff0c;具体编译看项目下的readme,想偷懒的可以下载我编译后的jar&#xff0c;放到自己的maven仓库 https://pan.baidu.com/s/1p9MOh40MJ2m…

unity 拖入文件 窗口大小

目录 unity 拖入文件插件 设置窗口大小 unity 拖入文件插件 GitHub - Bunny83/UnityWindowsFileDrag-Drop: Adds file drag and drop support for Unity standalong builds on windows. 设置窗口大小 file build

【kubernetes】集群网络(二):Flannel的VxLan、Host-GW模式

文章目录 1 Pod的IP地址的分配2 CNI3 Flannel3.1 Flannel的安装3.2 VxLan3.3 Host-GW 4 总结 1 Pod的IP地址的分配 当节点上只安装了docker&#xff0c;则会用veth pairdocker0实现单个节点上容器之间的通信&#xff0c;并且这些容器都在同一个IP段&#xff0c;如果不修改&…

挑战杯 LSTM的预测算法 - 股票预测 天气预测 房价预测

0 简介 今天学长向大家介绍LSTM基础 基于LSTM的预测算法 - 股票预测 天气预测 房价预测 这是一个较为新颖的竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng-senior/postgraduate 1 基于 Ke…

STM32F407移植OpenHarmony笔记8

继上一篇笔记&#xff0c;成功开启了littlefs文件系统&#xff0c;能读写FLASH上的文件了。 今天继续研究网络功能&#xff0c;让控制台的ping命令能工作。 轻量级系统使用的是liteos_m内核lwip协议栈实现网络功能&#xff0c;需要进行配置开启lwip支持。 lwip的移植分为两部分…

8、应急响应-战前溯源反制主机蜜罐系统HFishHIDSElkeidWazuh

用途&#xff1a;个人学习笔记&#xff0c;欢迎指正 目录 背景&#xff1a; 一、潮源反制-平台部署-蜜罐-Hfish 二、溯源反制-平台部署-HIDS-Wazuh 三、溯源反制-平台部署-HlDS-Elkeid-hub 背景&#xff1a; 攻击者对服务器存在着各种威胁行为&#xff0c;作为安全人员&am…

SpringBoot security 安全认证(二)——登录拦截器

本节内容&#xff1a;实现登录拦截器&#xff0c;除了登录接口之外所有接口访问都要携带Token&#xff0c;并且对Token合法性进行验证&#xff0c;实现登录状态的保持。 核心内容&#xff1a; 1、要实现登录拦截器&#xff0c;从Request请求中获取token&#xff0c;从缓存中获…

【自然语言处理】P2 PyTorch 基础 - 张量

目录 安装 PyTorch张量创建张量操作张量索引、切片、联合操作 CUDA张量 本系列博文我们将使用 PyTorch 来实现深度学习模型等。PyTorch 是一个开源的、社区驱动的深度学习框架。拥有强大的工具和库生态系统&#xff0c;包含 TorchVision&#xff08;用于图像处理&#xff09;、…

2024 IC FPGA 岗位 校招面试记录

引言 各位看到这篇文章时&#xff0c;24届校招招聘已经渐进尾声了。 在这里记录一下自己所有面试&#xff08;除了时间过短或者没啥干货的一些研究所外&#xff0c;如中电55所&#xff08;南京&#xff09;&#xff0c;航天804所&#xff08;上海&#xff09;&#xff09;的经…

图像去噪——SpatiallyAdaptiveSSID网络推理测试(详细图文教程)

SpatiallyAdaptiveSSID 是一种有效的图像去噪方法&#xff0c;它通过自适应地处理不同区域的噪声&#xff0c;能够在保持图像细节的同时&#xff0c;有效地去除噪声。 目录 一、SpatiallyAdaptiveSSID网络简介二、源码包准备2.1 测试集2.2 模型权重文件 三、测试环境四、推理测…

【Python-环境搭建】

Python-环境搭建 ▼ Python安装► 进入Python官网 地址如下 [Python官网](https://www.python.org/)► Python安装向导对话框► 测试是否安装成功 ▼ PyCharm 安装► Pycharm的下载和安装 ▼► 开始在 Windows 上使用 Python&#xff08;初学者&#xff09; ▼ Python安装 ► …

Web3生态系统:构建去中心化的数字社会

随着科技的飞速发展&#xff0c;我们正处在迈向数字未来的道路上&#xff0c;而Web3生态系统则成为这一变革的中心。不仅仅是技术的演进&#xff0c;Web3代表着对传统互联网体系的颠覆&#xff0c;致力于构建一个去中心化的数字社会。本文将深入探讨Web3的核心特征、对金融、社…

2024年美赛B题思路分析 - 搜索潜水器

# 1 赛题 问题B&#xff1a;搜索潜水器 总部位于希腊的小型海上巡航潜艇&#xff08;MCMS&#xff09;公司&#xff0c;制造能够将人类运送到海洋最深处的潜水器。潜水器被移动到该位置&#xff0c;并不受主船的束缚。MCMS现在希望用他们的潜水器带游客在爱奥尼亚海底探险&…