Hadoop简介与环境搭建(独立模式/伪分布式)

来源:互联网 发布:mysql 事务 编辑:程序博客网 时间:2024/05/29 10:15

Hadoop简介与环境搭建

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。其中它有两个核心:
- HDFS( 存储功能)

  • 大规模数据集(支持节点扩展)
  • 简单一致性模型(一次写入多次读取)
  • 流式数据访问(对数据进行批量处理,而不是用户交互处理)
  • 硬件错误(有很强的容错能力)

MapReduce( 计算功能)

  • 向“外”横向扩展,而非向“上”纵向扩展(提高性能靠横向的扩展设备,而不是靠提高单个设备的性能)
  • 失效被认为是常态(能够自动的处理失败的任务,对用户来说是透明的)
  • 把处理向数据迁移(处理程序向数据存储端移动代替数据向处理程序端移动,进而减少通讯开销)

理论基础知识这里不做详细介绍,如有兴趣请阅读《Hadoop 权威指南》或其他相关书籍。下面开始讲安装配置:

环境

  1. linux系统(虚拟机或双系统都行,这里用的ubuntu 16.04)
  2. hadoop安装包 选择合适的版本下载(版主的版本为2.7.3)
  3. jdk安装包 选择合适版本下载(版主的版本为1.8)

1.独立模式

  1. 新建用户目录将下载好的jdk和hadoop拷贝过来。
sudo mkdir -p mkdir /usr/softcp ~/下载/hadoop-2.7.3.tar.gz /usr/softcp ~/下载/jdk1.8.0_112.tar.gz /usr/soft

通过以上命令,在/usr/soft下执行ls即可看到你下载的安装包。
2. 解压jdk和hadoop。

cd /usr/softtar -xzf hadoop-2.7.3.tar.gztar -xzf jdk1.8.0_112.tar.gz

这里写图片描述
3. 配置环境变量
linux下有几种配置的方法。版主习惯于修改/etc/environment

cd /etcsudo chmod a+w environment //赋权gedit environment //编辑在文件里添加(后面接的是具体安装路径,请注意版本号等信息):JAVA_HOME=/usr/soft/jdk1.8.0_112HADOOP_INSTALL=/usr/soft/hadoop-2.7.3在PATH里增加:/usr/soft/hadoop-2.7.3/sbin:/usr/soft/hadoop-2.7.3/bin:/usr/soft/jdk1.8.0_112/bin

这里写图片描述
修改完毕保存。

source environment //立即生效

4.验证。
在任意目录下键入

java -version

这里写图片描述

hadoop version

这里写图片描述
到此,jdk环境在后续的肯定用的上,在此一并配置了。hadoop独立模式就搭好,因为hadoop不需要进行任何配置就是独立模式。

2.伪分布式

伪分布式是建立在独立模式的基础上。需要修改配置一些文件,同时启动守护进程。步骤如下:

1.修改配置文件。

cd /usr/soft/hadoop-2.7.3/etc/hadoopgedit core-site.xml

这里写图片描述
配置hdfs文件系统端口

gedit hdfs-site.xml

这里写图片描述
配置副本数

gedit yarn-site.xml

这里写图片描述
这里是配置hadoop2代,可暂时不做配置

cp mapred-site.xml.template mapred-site.xmlgedit mapred-site.xml

这里写图片描述
配置mapreduce计算框架。

2.格式化文件系统

hadoop namenode -format

3.启动

start-all.sh

或者分别执行start-dfs.sh和start-yarn.sh(可选)

4.检验

jps

这里写图片描述
则伪分布式搭建成功。

3.问题和总结

1.在搭建独立模式时,在检验时,键入hadoop version ,jdk找不到路径时。则需要在hadoop配置文件中配置JAVA_HOEM,具体如下:

cd /usr/soft/hadoop-2.7.3/etc/hadoopgedit hadoop-env.sh

这里写图片描述
2. 如果运行一些hadoop指令,提示找不到命令时。则说明环境变量里面的PATH没有配好。如实在不行,可进入执行目录下执行。实例如下:

cd /usr/soft/hadoop-2.7.3/sbin
./stop-all.sh

这里写图片描述
该命令的作用是停止平台运行。
3.由于版主在单点配置,因此没有配置SSH免密登录,如有需要请查看官方参考文档。
官方参考文档

原创粉丝点击