初学者值得拥有【Hadoop伪分布式模式安装部署】
目录
(1)格式化DFS(Distributed File System)
1.在伪分布模式下使用wordcount示例程序完成单词统计
1.了解单机模式与伪分布模式有何区别
| 单机模式 | 伪分布模式 | |
|---|---|---|
| (1)文件系统不同 | 直接读写本地操作系统的文件系统 | 读写HDFS文件系统 |
| (2)启动进程不同 | 不会启动NameNode,DataNode,ResourceManager,NodeManager等守护进程,Map()和Reduce()任务作为同一个进程的不同部分来执行的 | 启动NameNode,DataNode,ResourceManager,NodeManager等守护进程,都在同一台机器上运行,是相互独立的java进程。 |
| (3)安装部署不同 | 解压后即可使用,实际是默认最小配置,运行在本地 | 需要配置五个文件,使Hadoop运行在单节点集群上 |
2.安装好单机模式的Hadoop
安装单机模式Hadoop简单教程:搭建单机模式Hadoop环境
克隆一台安装好单机模式Hadoop的虚拟机(伪分布式模式在克隆机上完成后续的操作)
3.修改Hadoop配置文件---五个核心配置文件
| hadoop-env.sh | core-site.xml |
| hdfs-site.xml | mapred-site.xml |
| yarn-site.xml | 位置:安装目录下的etc/hadoop下/export/server/hadoop-2.7.2/etc/hadoop |
(1)hadoop-env.sh
该文件为Hadoop的运行环境配置文件,Hadoop的运行需要依赖JDK,将其中的export JAVA_HOME的值改为我们安装JDK的路径
1.到hadoop目录中
cd /export/srever //到hadoop环境安装目录中
cd hadoop-2.7.2/ //到hadoop安装目录中
cd etc/hadoop/ //到hadoop文件配置目录中
2.修改hadoop-env.sh配置文件
which java //获取java安装路径
vi hadoop-env.sh //进入配置文件

(2)core-site.xml
该文件用于定义系统级别的参数
1.修改core-site.xml配置文件
vi core-site.xml

//不想自己写的同学可以直接复制此代码到<configuration></configuration>中,但请注意填入自己的主机名
<property>
<name>fs.defaultFS</name>
<value>hdfs://主机名:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/export/server/hadoop-2.7.2/tmp</value>
</property>
(3)hdfs-site.xml
该文件为HDFS核心配置文件,如:文件副本的个数,块大小及是否使用强制权限等
1.修改hdfs-site.xml配置文件
vi hdfs-site.xml

//不想自己写的同学可以直接复制此代码到<configuration></configuration>中,但请注意填入自己的主机名
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>主机名:50090</value>
</property>
(4)mapred-site.xml
这个文件本不存在,但有一个模板文件mapred-site.xml.template,
我们将模板文件改名为mapred-site.xml,然后进行编辑
mv mapred-site.xml.template mapred-site.xml //将mapred-site.xml.template改名为mapred-site.xml
vi mapred-site.xml

//不想自己写的同学可以直接复制此代码到<configuration></configuration>中
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
(5)yarn-site.xml
该文件为YARN框架配置文件,配置ResourceManager,nodeManager的通信端口,web监控端口等
1.修改yarn-site.xml配置文件
vi yarn-site.xml

//不想自己写的同学可以直接复制此代码到<configuration></configuration>中
<property>
<name>yarn.resourcemanager.hostname</name>
<value>ky002</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
4.启动与关闭分布式Hadoop
(1)格式化DFS(Distributed File System)
hdfs namenode -format
如果在格式化的日志中看到succefully format字样,就证明格式化成功。反之,失败。
(2)启动DFS及Yarn
start-dfs.sh
start-yarn.sh
在启动过程中,需要输入几次root账号的密码
(3)关闭DFS及Yarn
stop-dfs.sh
stop-yarn.sh
5.配置SSH免密登入
(1)什么是SSH?
SSH是Secure Shell的缩写,由IETF的网络工作小组所制定。
SSH是建立在应用层和传输基础上的安全协议,专为远程登录会话和其他网络服务提供安全的协议,即
利用SSH协议可以有效防止远程管理过程中的信息泄露问题,目前SSH较可靠。
(2)为什么Hadoop集群需要配置SSH免密登录
1.Hadoop集群之间的交互是不用密码的,如果每次通信都必须输入密码会非常麻烦。
2.Hadoop运行过程中需要管理远程Hadoop守护进程,在Hadoop启动后,
NameNode是通过SSH来无密码登录,启动和停止各个DataNode上的各个守护进程的。
同理,DataNode也能使用SSH无密码登录到NameNode。
3.SSH免密登录是让几台主机(或虚拟机)之间能够相互免密访问,虽然伪分布式模式Hadoop只安装在一台主机上,但
伪分布模拟了多个节点进程运行在这台主机上,所以进程间的访问需要配置SSH免密登录
(3)SSH免密登录原理

(4)配置SSH免密登录
1.建立密钥对
ssh-keygen -t rsa //获取密钥对
cd /root/.ssh //进入密钥对目录
ll //浏览密钥对文件
ssh-copy-id 主机名 //将本机的公钥复制到远程机器的authorized_keys文件中
more authorized_keys //记录多台机器的公钥,让机器之间使用ssh不需要用户名和密码
6.示例程序
以上已完成Hadoop伪分布式安装部署,后面是示例程序验证是否安装成功
1.在伪分布模式下使用wordcount示例程序完成单词统计
(1)准备数据
使用hdfs shell命令将本地文件系统中的数据上传到HDFS
cd export/server/hadoop-2.7.2/wcinput //进入存放若干单词的文本文件的目录中,此目录可以自己创建
hadoop fs -put word.txt / //将存放若干单词的文本文件上传到HDFS中
hadoop fs -ls / //查看是否上传成功
hadoop fs -cat /word.txt //查看文本内容


(2)运行wordcount程序完成单词统计
使用hadoop jar 命令运行自带示例程序完成单词统计
cd ../share/hadoop/mapreduce/
hadoop jar hadoop-mapreduce-examples-2.7.2.jar wordcount /word.txt /out
(3)查看结果
1.在命令行
hadoop fs -ls /out
hadoop fs -cat /out/part-r-00000
2.在web界面
在浏览器中输入虚拟机ip地址:50070或主机名:50070(需要到windows中映射主机名与IP地址文件位置:C:Windows\System32\drivers\etc\hosts)
初学者值得拥有【Hadoop伪分布式模式安装部署】的更多相关文章
- Hadoop完全分布式模式安装部署
在Linux上搭建Hadoop系列:1.Hadoop环境搭建流程图2.搭建Hadoop单机模式3.搭建Hadoop伪分布式模式4.搭建Hadoop完全分布式模式 注:此教程皆是以范例讲述的,当然你可以 ...
- Hadoop伪分布式模式安装
一.Hadoop介绍 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有高容错性的特点,并且设计用来部署在低廉的硬件上:而且 ...
- VMware workstation 下Hadoop伪分布式模式安装
详细过程: 1.VMware安装: 2.centos 6 安装 3.jdk下载安装配置 4.Hadoop 安装配置 1.VMware Workstation 安装: https://www.vmwar ...
- Hadoop伪分布式模式部署
Hadoop的安装有三种执行模式: 单机模式(Local (Standalone) Mode):Hadoop的默认模式,0配置.Hadoop执行在一个Java进程中.使用本地文件系统.不使用HDFS, ...
- HBase入门基础教程之单机模式与伪分布式模式安装(转)
原文链接:HBase入门基础教程 在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建HBase伪分布式环境的前提是我们已经搭建好了Had ...
- Hadoop伪分布式模式搭建
title: Hadoop伪分布式模式搭建 Quitters never win and winners never quit. 运行环境: Ubuntu18.10-server版镜像:ubuntu- ...
- Hadoop Single Node Setup(hadoop本地模式和伪分布式模式安装-官方文档翻译 2.7.3)
Purpose(目标) This document describes how to set up and configure a single-node Hadoop installation so ...
- HBase入门基础教程 HBase之单机模式与伪分布式模式安装
在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建HBase伪分布式环境的前提是我们已经搭建好了Hadoop完全分布式环境,搭建Hado ...
- 【HBase基础教程】1、HBase之单机模式与伪分布式模式安装(转)
在这篇blog中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建hbase伪分布式环境的前提是我们已经搭建好了hadoop完全分布式环境,搭建ha ...
随机推荐
- Nginx是什么?有什么用?
一.Nginx是什么 Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服 ...
- 【Android Studio】安卓开发初体验1——安装与试用
安装 (安装预留硬盘(C盘)空余空间16G以上,8G以上内存) Intel用户: 安装Android Studio和AVD(安卓虚拟机 Android Virtual Device) 安装过程需要注意 ...
- AC86U kx上网
AC86U收到很久了,为了能够kx上网免不了一番折腾. 准备 U盘一个, 读写速度要大于30M/s, 用于制作虚拟内存 步骤大致如下: 1.下载koolshare固件 我这里下载的是官改固件:http ...
- maven 搭建私服
博客参考 https://www.cnblogs.com/luotaoyeah/p/3791966.html 整理纯为技术学习 1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程 ...
- axios网络封装模块
功能特点 在浏览器中发送XMLHttpRequests请求 在node.js总发送http请求 支持Promise API 拦截请求和相应 转换请求和响应数据 axios请求方式 支持多种请求方式 a ...
- PHP修改css文件中的背景图片并下载到本地
扒网站当中一般css中的图片扒不下来,这个脚本就是用来下载这些图片到本地的 流程 1.获取css文件路径 2.打开文件逐行读取判断是否包含需要的图片 2.1 包含则 -进行截取直接获取到相对路径 2. ...
- 教你写个简单到的 Redis Client 框架 - .NET Core
目录 1,关于 Redis RESP 定义数据类型 2,定义异步消息状态机 3,定义命令发送模板 4,定义 Redis Client 5,实现简单的 RESP 解析 6,实现命令发送客户端 7,如何使 ...
- 文科妹子都会用 GitHub,你这个工科生还等什么
在某乎上刷到一条关于 GitHub 的留言,如下: 点赞人数还不少,这说明还真有不少工科生不会用 GitHub,你看大小写都没有区分(手动狗头).所以我就想写篇文章科普下,"新手如何使用 G ...
- 如何使用 gitlab 或 github 执行npm run build
一: 如何快速搭建一个组件库 首先,我们介绍一个快速包装组件库的工具:https://github.com/yanhaijing/jslib-base 按照文档来,就简单几步: npx @js ...
- Flutter(75):Sliver组件之SliverFixedExtentList
Flutter教学目录持续更新中 Github源代码持续更新中 1.SliverFixedExtentList 可以固定Item高度的SliverList 2.SliverFixedExtentLis ...
