Hadoop的伪分布式搭建方法(个人使用版)

10 篇文章 0 订阅
5 篇文章 0 订阅

前言

Hadoop是一个可靠的、开源的、可扩展的分布试并行计算机框架,是基于java的一种分布式系统基础架构。
它的作者是Doug Cutting。
支持多种编程语言,如:python、C++等其他语言。

Hadoop伪分布式模式(1.X-参考)

伪分布模式是在一台单机上运行,但用不同的Java进行模仿分布式运行中的各类结点(NameNode、DataNode、JobTracker、SecondaryNameNode)
请注意分布式运行中的这几个结点的区别:
从分布式存储的角度来讲,集群中的结点由一个NameNode和若干个DataNode组成,另有一个SecondarNameNode作为
NameNode的备份。
从分布式应用的角度来讲,集群中的结点由一个JobTracker和若干个TaskTracker组成,JobTracker负责任务的调度,
TaskTracker负责并行执行任务。
TaskTracker必须运行在DataNode上,这样便于数据的本地计算。JobTracker和NameNode则无须在同一台机器上。

简单来说:一个机器上,即当NameNode,又当DataNode,或者是说即是JobTracker,又是TaskTracker。没有所谓的在多台机器上进行真正的分布式计算,故称为“伪分布式”。

Hadoop伪分布式模式(2.X-参考)

伪分布模式是在一台单机上运行,但用不同的Java进程模仿分布式运行中的各类结点(NameNode ,DataNode ,ResourceManager,NodeManager ,JournalNode),请注意分布式运行中的这几个结点的区别:
从分布式存储的角度来说,集群中的结点由NameNode(一个或两个)和若干个DataNode组成 。
从分布式应用的角度来说,集群中的结点由一ResourceManager和若干个NodeManager组成,ResourceManager负责任务的调度, NodeManager负责并行执行任务。 NodeManager必须运行在DataNode上,这样便于数据的本地计算。ResourceManager和NameNode则无须在同一台机器上。
简单来说:一个机器上,即当namenode,又当datanode,或者说即是ResourceManager又是NodeManager ,模拟了分布式的所有角色,但没有所谓的在多台机器上进行真正的分布式计算,故称为"伪分布式"。

所需工具

本人是使用的VMware所创建的Linux虚拟机,版本为CentOS6.5,所以本实验都是在CentOS虚拟机上实现的。

工具:
CentOS 6.5(x86_64)
JDK
版本:1.8
Hadoop
版本:2.7.5
主机名:bd1
Hadoop目录:/opt/hadoop-2.7.5
Hadoop运行时产生文件的存储目录:/opt/hadoop-2.7.5/data/tmp

伪分布式模式----安装和配置步骤一览

1、配置hosts文件
2、配置ssh免密码接入
3、环境监测,包括版本兼容及JDK安装准备
3、解压hadoop安装包
4、配置文件修改
5、修改JAVA_HOME(可以不改)
6、格式化NameNode
7、启动Hadoop
8、用 jps检验各后台进程是否成功启动

1、配置hosts文件

1、主机名修改为:master
通过修改network文件,修改计算机名称为master
输入 # cat /etc/sysconfig/network
之后修改HOSTNAME
在这里插入图片描述
2、修改/etc/hosts文件
添加本机地址和主机名,如下图所示:
在这里插入图片描述

2、关闭防火墙以及SELinux

关闭防火墙
在部署hadoop环境时,要关闭防火墙,如果不关闭可能会出现节点间无法通信的情况,因为都是内网搭建的,对外还有一个服务器的,那个服务器有防火墙,由它来访问内网集群,如果内网内开启防火墙,内网集群通讯会出现很多问题。
1 . 临时关闭,即时生效,重启失效
在这里插入图片描述
2.永久关闭,重启生效
在这里插入图片描述
关闭SELinux
输入 vi /etc/sysconfig/selinux在这里插入图片描述
将SELINUX=enforcing改为SELINUX=disabled并保存
在这里插入图片描述
改完后重启虚拟机
查看状态为# getenforce

配置免密登录

SSH简介
SSH是一个专为远程登录会话和其他网络服务提供安全性的协议。默认状态下SSH链接是需要密码认证的,可以通过添加系统认证(即公钥-私钥)的修改,修改后系统间切换可以避免密码输入和SSH认证。
1、无密码登录实现方式
在实施安装前的另一准备工作是配置ssh,生成密钥,使到各节点之间可以使用ssh免密码连接,如果是伪分布式那就是本机可以免密码ssh连接localhost。cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost可以先看看目录下,如果没有进行过ssh密钥创建是长这样子的:
在这里插入图片描述
2、配置免密码SSH
在NN上用ssh-keygen创建公钥。输入后,会提示建.ssh/id_rsa、id_rsa.pub的文件,其中第一个为私钥,第二个为公钥。过程中会要求输入密码,为了ssh访问过程无须密码,可以直接回车 。
在这里插入图片描述
最后结果为
在这里插入图片描述
3、查看钥匙
在这里插入图片描述
密钥生成后会在当前目录下多出两个文件,id_rsa和id_rsa.pub,其中id_rsa是私钥(这个很重要,不能外泄),id_rsa.pub这个是公钥。(只有需要登录的远程服务器或Linux系统上)
4、配置分发公钥给DN
输入ssh-copy-id master
之后输入ll查看文件
在这里插入图片描述

JDK环境准备

如果JDK版本低于8,先卸载安装OS时自带的,然后解压下载的JDK配置变量即可
卸载自带jdk:
rpm -qa|grep jdk
rpm -e --nodeps
1.下载“jdk-8u121-linux-x64.tar.gz”,放到/opt目录下
2.解压,重命名为jdk8

tar -zxf jdk-8u121-linux-x64.tar.gz
mv jdk1.8.0_121 jdk8

在这里插入图片描述
3.编辑/etc/profile添加环境变量
在这里插入图片描述
4.使配置生效,输入命令:source /etc/profile
在这里插入图片描述
5.输入命令:java -version,确认配置结果

在这里插入图片描述

下载并解压hadoop安装包

1、去hadoop官网下载hadoop下载安装包
下载完成后用xftp上传到本机下的opt目录下

在这里插入图片描述
2、解压hadoop压缩文件
在这里插入图片描述
3、hadoop执行命令目录加入到path之中
配置环境变量。在/etc/profile中添加:export HADOOP_HOME=" 你的hadoop 安装路径"
在path中增加:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:
在这里插入图片描述
4、刷新配置
在这里插入图片描述

配置JAVA_HOME(也可以不用修改,仅仅是将java文件写死而已)

在hadoop解压目录中找到hadoop-env.sh配置文件,修改并保存。该文件在/opt/hadoop-2.7.5/etc/hadoop目录下
在这里插入图片描述
在这里插入图片描述

配置NameNode

1、在/opt/hadoop-2.7.5/etc/hadoop目录下找到core-site.xml文件并配置好保存。
配置代码为:

<!-- 指定HDFS(namenode)的通信地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.xx.xx:9000(这一行为本地地址)</value>
</property>
<!-- 指定hadoop运行时产生文件的存储位置(NN和DN存储路径)-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.7.5/data/tmp</value>
</property>

在这里插入图片描述
在这里插入图片描述)

2、设置副本数量和slaves
在opt/hadoop-2.7.5/etc/hadoop目录下找到hdfs-site.xml文件,修改并保存。
代码为:

<!-- 指定HDFS副本数量,伪分布式为1-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 指定SNN路径(伪分布式用)
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property> -->

在这里插入图片描述

4、配置opt/hadoop-2.7.5/etc/hadoop目录下的slaves,修改并保存。
在这里插入图片描述

格式化和启动HDFS

格式NameNode命令:

hdfs namenode -format

启动命令:

start-dfs.sh

查看进程:

jps

在这里插入图片描述

创建并上传到HDFS文档

1、创建文件
命令:
touch word.txt
在这里插入图片描述
2、上传文档并查看
命令:
hdfs dfs -put /opt/word.txt /
在这里插入图片描述
命令:
hdfs dfs -ls /
在这里插入图片描述

查看HDFS中的文件并复制到本地

1、文本内容查看 cat
命令:
hdfs dfs -cat /word.txt
在这里插入图片描述
2、文件下载 get
命令:
hdfs dfs -get /word.txt home
在这里插入图片描述

删除HDFS下的文档

命令:
hdfs dfs -rm -r /work.txt
在这里插入图片描述

WEB访问

浏览器访问:
Directory:http://192.168.43.15:50070
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值