当前位置: 首页 > article >正文

hadoop集群的安装与部署

一、hadoop集群的安装

首先需要安装JDK

安装Hadoop:

1、上传hadoop-2.6.5.tar.gz到/usr/local目录下。

2、将hadoop包进行解压缩:tar -zxvf hadoop-2.6.5.tar.gz

3、对hadoop目录进行重命名:mv hadoop-2.6.5 hadoop

4、配置hadoop相关环境变量(注意:在.bashrc尾部加入以下内容)

vi ~/.bashrc

export HADOOP_HOME=/usr/local/hadoop

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

然后,执行命令:

source ~/.bashrc

二、Hadoop集群的配置

1、配置信息

node01: DataNode NodeManager

node02: NameNode DataNode ResourceManager NodeManager

node03: DataNode JobHistory NodeManager

node04: SecondaryNameNode DataNode NodeManager

2、需改Hadoop集群的配置

1. etc/hadoop/hadoop-env.sh

export JAVA_HOME=/usr/java/latest

2. etc/hadoop/core-site.xml:

<property>

<name>fs.default.name</name>

<value>hdfs://node02:9000</value>

</property>

3. etc/hadoop/hdfs-site.xml:

<property>

<name>dfs.name.dir</name>

<value>/usr/local/data/namenode</value>

</property>

<property>

<name>dfs.data.dir</name>

<value>/usr/local/data/datanode</value>

</property>

<property>

<name>dfs.tmp.dir</name>

<value>/usr/local/data/tmp</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

<name>dfs.http.address</name>

<value>node02:50070</value>

</property>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>node04:50090</value>

</property>

4. mapred-site.xml:

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>node03:10020</value>

<description>MapReduce JobHistory Server IPC host:port</description>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>node03:19888</value>

<description>MapReduce JobHistory Server Web UI host:port</description>

</property>

<property>

<name>mapreduce.jobhistory.done-dir</name>

<value>/history/done</value>

</property>

<property>

<name>mapreduce.jobhistory.intermediate-done-dir</name>

<value>/history/done_intermediate</value>

</property>

<property>

<name>mapred.local.dir</name>

<value>/usr/local/data/filecache</value>

</property>

<property>

<name>local.cache.size</name>

<value>10737418240</value>

</property>

5. yarn-site.xml:

<property>

<name>yarn.resourcemanager.hostname</name>

<value>node02</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>

slaves:

node01

node02

node03

node04

三、启动hdfs集群

启动hdfs:

1、格式化namenode:执行以下命令,hdfs namenode -format

2、启动hdfs集群:start-dfs.sh

3、验证启动是否成功:jps、50070端口

node01:datanode

node02: namenode、datanode

node03:datanode

node04:secondarynamenode、datanode

4、浏览器访问:node02:50070/

四、Hdfs命令行

HDFS shell

1.0查看帮助

hadoop fs -help <cmd>

1.1上传

hadoop fs -put <linux上文件> <hdfs上的路径>

1.2查看文件内容

hadoop fs -cat <hdfs上的路径>

1.3查看文件列表

hadoop fs -ls /

1.4下载文件

hadoop fs -get <hdfs上的路径> <linux上文件>

五、启动Hdfs YARN集群

node02上启动yarn:

1、启动yarn集群:start-yarn.sh

2、验证启动是否成功:jps、8088端口

resourcemanager、nodemanager

node01:nodemanager

node02:nodemanager

node03:nodemanager

node04:nodemanager

六、启动Hdfs历史集群

# node03上启动19888端口

mr-jobhistory-daemon.sh start historyserver

七、Hdfs namenode定义以及namenode的作用

关于文件-块-DataNode关系的元数据保存到内存中

HA(High Availablity)高可用,一主一从,从节点不断给主节点发送心跳信息,重试几次依然没有收到主节点返回的信息,就认为主节点死掉了,从节点变为主节点。两个主节点同时存在问题是脑裂,从节点发出请求强制关闭主节点。

fsimage

edits日志文件

八、datenode的作用含义 以及扩缩容

文件内容保存在磁盘上,并维护块和本地文件的关系

节点的动态添加和删除  hdfs dfsadmin -refreshNodes

SecondaryNameNode    把大量的edits文件合并到fsimage,加快namenode的启动速度

九、什么是Hadoop的map reduce   以及hadoop的map reduce原理

1、Map 阶段  

每个节点单独处理一个文件切片(缺省就是一块)

处理后的结果文件先排序存储在100M内存中,如果达到80%,则转存到本地硬盘,一个分区一个文件

map任务

2、Shuffle阶段

连接Map和Reduce

按key排序map的输出,相同key的value排在一起

把各个节点上的map输出合并在一起

将各个map机器上的0号分区文件copy到0号的reduce机器上,会有多个分区文件,进行两两归并排序,排序结果进行分组传给reduce方法

Combiner  对map的输出文件进行一次reduce,减少数据大小,提高处理效率

3、Reduce阶段

汇总合并Map阶段的大量的结果文件

处理后的结果文件存储在HDFS里面

reduce任务

4、统计单词的次数

Map

每次从文件切片读取一行,按空格切分出来多个单词,每个单词标记次数为1

输入:in_key(每行的偏移量), in_value(每行的内容)

输出:out_key(单词), out_value(次数:1)

Reduce

相同的单词会得到所有的次数1,求和所有的次数,就是单词的总数

输入:in_key(map的输出key:单词),in_value(map的输出value的集合)

输出:out_key(单词), out_value(总数)

十、Idea提交任务到集群的问题

Mapper类没有找到    

将mapreduce类生成jar

修改Idea里的core-site.xml   

<property>

<name>mapred.jar</name>

<value>c:\\test.jar</value>

</property>


http://www.kler.cn/a/522350.html

相关文章:

  • mysql DDL可重入讨论
  • 2025年01月27日Github流行趋势
  • 【数据结构】空间复杂度
  • 健康AI应用的逆袭:如何用“死亡时钟”撬动用户增长和媒体关注,实现应用榜快速排名第六
  • Nginx开发01:基础配置
  • maven的打包插件如何使用
  • C# OpenCV机器视觉:图像去雾
  • TensorFlow 简介
  • Java 编程初体验
  • 复杂任务 “大作战”:项目管理系统来 “救场
  • 03-机器学习-数据获取
  • 计算机网络——OSI和TCP/IP模型
  • uniapp 地图添加,删除,编辑标记,在地图中根据屏幕范围中呈现标记
  • 深度学习|表示学习|卷积神经网络|详细推导每一层的维度变化|14
  • 项目开发实践——基于SpringBoot+Vue3实现的在线考试系统(九)(完结篇)
  • Golang Ticker Reset异常的坑
  • 第一届“启航杯”网络安全挑战赛WP
  • xss总结标签
  • 滑动窗口详解:解决无重复字符的最长子串问题
  • EtherCAT主站IGH-- 17 -- IGH之fsm_master.h/c文件解析
  • 分布式系统相关面试题收集
  • C语言中宏(Macro)的高级用法:中英双语
  • 人工智能在计算机视觉中的应用与创新发展研究
  • Day27-【13003】短文,什么是栈?栈为何用在递归调用中?顺序栈和链式栈是什么?
  • scikit-learn基本功能和示例代码
  • postgresql 9.4.1 普通表,子表,父表的创建与测试