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入门学习整理(二)的更多相关文章

  1. Hadoop入门学习整理(一)

    今天是2020年4月8日,是一个平凡而又特殊的日子,武汉在经历了77天的封城之后,于今日0点正式解封.从1月14日放寒假离开武汉,到今天已近3个月,学校的花开了又谢了.随着疫情好转,春回大地,万物复苏 ...

  2. hadoop入门学习整理

    技术性网站 1.http://dongxicheng.org/ 2.http://www.iteblog.com/ 3.http://www.cnblogs.com/shishanyuan/p/414 ...

  3. Hadoop入门学习整理(三)

    1.Hive 的安装 下载tar包,并且要注意和Hadoop版本兼容. 下载  ----->  传输 -------> 解压     即可. 然后配置环境变量和相关配置信息.   参考: ...

  4. Hadoop入门学习笔记---part1

    随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...

  5. Hadoop入门学习笔记---part4

    紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...

  6. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  7. Hadoop入门学习笔记---part2

    在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...

  8. hadoop入门学习

    hadoop入门学习:http://edu.csdn.net/course/detail/1397hadoop hadoop2视频:http://pan.baidu.com/s/1o6uy7Q6HDF ...

  9. 【转载】salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句

    salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句 salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex ...

随机推荐

  1. Enumerable 下又有新的扩展方法啦,快来一起一睹为快吧

    一:背景 1. 讲故事 前段时间将公司的一个项目从 4.5 升级到了 framework 4.8 ,编码的时候发现 Enumerable 中多了三个扩展方法: Append, Prepend, ToH ...

  2. Android java.lang.SecurityException: Permission Denial

    报错: java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE ...

  3. RFC2474 - Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers的双语版

    RFC2474 - Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers英文版 ...

  4. C++ IO的一些注意点

    读入这个坑一直以来都深受其麻烦,把遇到一些注意点记一下吧. 1.getchar读入 以前练线段树的时候做到Acwing#246 Interval GCD(原题在CodeHunter上,人懒就在Acwi ...

  5. oracle 将数据库的表复制到另一个数据库表内

    将数据库A中的表sys_role复制到数据库B中在数据库b中的SQL工作表写如下代码: 第一步:建立链接 CREATE database link A //数据库名称CONNECT to text  ...

  6. Kubernetes 实战-Operator Finalizers 实现

    原文链接:https://zdyxry.github.io/2019/09/13/Kubernetes-%E5%AE%9E%E6%88%98-Operator-Finalizers/ Finalize ...

  7. arp_ignore与arp_announce

    arp_ignore:定义接收到ARP请求时的响应级别0:只要本地设置的有相应的地址,就给予响应.(默认)1:仅回应目标IP地址是本地的入网地址的arp请求.2:仅回应目标IP地址是本地的入网地址,而 ...

  8. python 计算文件md5值

    md5是一种常见不可逆加密算法,使用简单,计算速度快,在很多场景下都会用到,比如:给用户上传的文件命名,数据库中保存的用户密码,下载文件后检验文件是否正确等.下面讲解在python中如何使用md5算法 ...

  9. BIGI行情http请求实时行情数据方式

    BIGI行情http请求实时行情数据方式 新浪财经文华财经并非实时行情数据源,所以获取的行情数据源也并非实时的.以下介绍的方法和新浪财经获取行情数据源的方法是一致的.需要实时行情数据源可以向BIGI行 ...

  10. 手把手教Linux驱动2-之模块参数和符号导出

    通过<手把手教Linux驱动1-模块化编程,玩转module>的学习,我们已经掌握了如何向内核加载一个模块,现在我们学习模块之间如何传递参数. 一.给模块传递参数 当我们加载一个模块到Li ...