Hadoop入门学习整理(二)
2020-04-15
在上一篇文章中介绍了Linux虚拟机的安装,Hadoop的安装和配置,这里接着上一篇的内容,讲Hadoop的简要介绍和简单使用, 以及HBase的安装和配置。
1、首先要了解Hadoop的目录:
(1)bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本
(2)etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
(3)lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
(4)sbin目录:存放启动或停止Hadoop相关服务的脚本
(5)share目录:存放Hadoop的依赖jar包、文档、和官方案例
2、了解Hadoop的运行模式:
Hadoop包括3种安装模式
(1)单机模式。只在一台机器上运行,存储采用本地文件系统,没有采用分布式文件系统HDFS
(2)伪分布式模式。存储采用分布式文件系统HDFS,但是,HDFS的名称节点和数据节点都在同一台机器上
(3)分布式模式。存储采用分布式文件系统HDFS,而且,HDFS的名称节点和数据节点位于不同机器上。
在Linux虚拟机中安装完Hadoop后默认为单机模式,无需进行其它配置即可运行。
我个人在目前的学习当中,采用伪分布式模式。
若想让 Hadoop在伪分布式模式下顺利运行,则需要配置相关文件。
伪分布式模式:
Hadoop可以在单个节点(一台机器)上以伪分布式的方式运行,同一个节点既作为名称节点( Name Node),
也作为数据节点( Data Node),读取的是分布式文件系统HDFS中的文件。
3、伪分布式模式的配置修改
Hadoop的配置文件位于hadoop/etc/ hadoop/中,进行伪分布式模式配置时,需要修改2个配置文件,即 core-site.xml和 hdfs-site.xml。
可以使用vim编辑器打开 core-site.xml文件。
(a)配置:hadoop-env.sh
Linux系统中获取JDK的安装路径:
[guan@ hadoop101 ~]# echo $JAVA_HOME
/opt/module/jdk1.8.0_144
修改JAVA_HOME 路径:
export JAVA_HOME=/opt/module/jdk1.8.0_144
(b)配置:core-site.xml
<!-- 指定HDFS中NameNode的地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop101:9000</value> </property> <!-- 指定Hadoop运行时产生文件的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop-2.7.2/data/tmp</value> </property> |
(c)配置:hdfs-site.xml
<!-- 指定HDFS副本的数量 --> <property> <name>dfs.replication</name> <value>1</value> </property> |
修改配置文件以后,要执行名称节点的格式化,命令如下:
[guan@hadoop101 hadoop-2.7.2]$ bin/hdfs namenode -format
【注】第一次启动时格式化,以后就不要总格式化。
我在格式化的过程中出现了以下错误:
原因是没有配置主机名称映射。解决办法:进入/etc/hosts,然后:
再次格式化,成功。
如果要格式化,那么需要在格式化之前:
(1、查看NameNode和DataNode进程是否关掉。(必须关掉)
关闭命令: sbin/hadoop-daemon.sh stop namenode
sbin/hadoop-daemon.sh stop datanode
(2、将/data和/logs删掉
(3、格式化NameNode
4、启动伪分布式集群
(a)启动NameNode
[atguigu@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start namenode
(b)启动DataNode
[atguigu@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start datanode
(c)查看是否启动成功
[atguigu@hadoop101 hadoop-2.7.2]$ jps
13586 NameNode
13668 DataNode
13786 Jps
注意:jps是JDK中的命令,不是Linux命令。不安装JDK不能使用jps
启动集群也可以群起: sbin/start-dfs.sh
5.使用Web界面查看HDFS信息
Hadoop成功启动后,可以在 Linux系统中(不是 Windows系统)打开一个浏览器,
在地址栏输入地址http://localhost:50070 就可以查看名称节点和数据节点信息,还可以在线查看HDFS中的文件。
6、遇到bug时,可以查看产生的日志。具体方法如下:
7、关闭Hadoop
执行命令 /sbin/stop-dfs.sh
接下来是HBase的安装和使用。
( 具体参考 厦门大学大数据实验室 https://dblab.xmu.edu.cn/blog/install-hbase/)
其实HBase的安装非常简单,先下载 tar 包传输到Linux系统中,然后解压,配置环境变量,这样就好了,和前面的Hadoop安装差不多。
HBase也有三种运行模式:单机模式、伪分布式模式和分布式模式,也是通过修改配置文件来选择模式的。
但是注意,HBase的配置有以下先决条件:
- jdk
- Hadoop(单机模式不需要,伪分布式和分布式需要)
- SSH
其中SSH的配置参考 :https://blog.csdn.net/lixufei12138/article/details/102556824
接下来就是修改配置文件,按照上面链接的内容即可,这里不做过多的赘述。
这里放一张环境变量的截图,图中顺带有我安装的版本信息。
还是写一下HBase 伪分布式配置:
(1)配置 /opt/module/hbase-1.3.1/conf/hbase-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
export HBASE_CLASSPATH=/opt/module/hadoop-2.7.2/etc/hadoop
export HBASE_MANAGES_ZK=true
(2)配置/opt/module/hbase-1.3.1/conf/hbase-site.xml
接下来就可以登录SSH,启动Hadoop,启动HBase
Hadoop的启动方式为 ./sbin/start-dfs.sh
Hbase 的启动方式为 bin/start-hbase.sh
输入jps查看是否启动成功,看到一下界面说明hbase启动成功
hbase进入shell界面的命令:
bin/hbase shell
注:Linux中安装eclipse的方式 https://blog.csdn.net/caoyang0105/article/details/77948145
Hadoop入门学习整理(二)的更多相关文章
- Hadoop入门学习整理(一)
今天是2020年4月8日,是一个平凡而又特殊的日子,武汉在经历了77天的封城之后,于今日0点正式解封.从1月14日放寒假离开武汉,到今天已近3个月,学校的花开了又谢了.随着疫情好转,春回大地,万物复苏 ...
- hadoop入门学习整理
技术性网站 1.http://dongxicheng.org/ 2.http://www.iteblog.com/ 3.http://www.cnblogs.com/shishanyuan/p/414 ...
- Hadoop入门学习整理(三)
1.Hive 的安装 下载tar包,并且要注意和Hadoop版本兼容. 下载 -----> 传输 -------> 解压 即可. 然后配置环境变量和相关配置信息. 参考: ...
- Hadoop入门学习笔记---part1
随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...
- Hadoop入门学习笔记---part4
紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...
- Hadoop入门学习笔记---part3
2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...
- Hadoop入门学习笔记---part2
在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...
- hadoop入门学习
hadoop入门学习:http://edu.csdn.net/course/detail/1397hadoop hadoop2视频:http://pan.baidu.com/s/1o6uy7Q6HDF ...
- 【转载】salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句
salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句 salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex ...
随机推荐
- Nginx CORS 跨域资源共享问题
## 背景 新项目上线,前后端分离,遇到了跨域资源共享的问题,导致请求根本无法发送到后端,前端和后端貌似只能有一个来处理跨域问题,我们这边要采用nginx来解决跨域问题. ## Nginx的CORS配 ...
- 树莓派搭建网站wordpress的url写错 问题解决方法 有效GUI方法
这个时候wordpress的后台已经登陆不了了,所以要对数据库做一些改变. 先说一下我是跟b站韩博士学的,LNMP.如果我们用的不一个方法的话下面就不用看了.下面是具体方法: 1 浏览器登录phpm ...
- eric4 中 pyqt .py文件结尾的 代码
if __name__ == "__main__": import sys app = QtGui.QApplication(sys.argv) ui = MainWindow() ...
- 【支付宝SDK】沙箱调试,以及遇到的坑
from rest_framework.views import APIView from alipay import AliPay, DCAliPay, ISVAliPay from django. ...
- SpringMVC关于拦截器的使用
这个是基于之前的视图定位进行的. @ 目录 拦截器类:IndexInterceptor 配置拦截器 修改 index.jsp 效果 拦截器类:IndexInterceptor package inte ...
- 无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
状况 如果在使用 vue 初始化项目的时候提示: vue : 无法将“vue”项识别为 cmdlet.函数.脚本文件或可运行程序的名称.请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次. ...
- java基础-02:编译型和解释型
Java程序运行机制: Java语言的编译-->解释-->运行过程 1.编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的 ...
- JavaScript学习系列博客_27_JavaScript 遍历数组
遍历数组 - 遍历数组就是将数组中元素都获取到 - 一般情况我们都是使用for循环来遍历数组: - 使用forEach()方法来遍历数组(不兼容IE8) forEach()方法需要一个回调函数(由我们 ...
- samba使用过程中遇到的问题
1 环境说明 Linux系统版本:Linux version 2.6.32-431.el6.x86_64 (mockbuild@x86-023.build.eng.bos.redhat.com) (g ...
- LeetCode 95 | 构造出所有二叉搜索树
今天是LeetCode专题第61篇文章,我们一起来看的是LeetCode95题,Unique Binary Search Trees II(不同的二叉搜索树II). 这道题的官方难度是Medium,点 ...