我们在系统学习大数据的之前,要先了解大数据开发是在什么系统平台下进行的。所以我们在学之前要先学习Linux的知识,这部分显得格外的重要。
HBase 需要依赖 JDK 环境,同时 HBase 2.0+ 以上版本不再支持 JDK 1.7 ,需要安装 JDK 1.8+ 。JDK 安装方式见本仓库:
比如:zhangsan用户启动了一个java进程,但是root用户kill掉这个进程,虽然杀掉了,但是查看进程时偶尔就会出现
我在 hadoop01、hadoop02、hadoop03 和 hadoop04 这4台节点上启动 HBase,其中 hadoop01、hadoop02 为 HMaster,hadoop02、hadoop03、hadoop04 为 HRegionServer,在 hadoop01 上执行启动命令:
1)将apache-kylin-2.5.1-bin-hbase1x.tar.gz上传到Linux 2)解压apache-kylin-2.5.1-bin-hbase1x.tar.gz到/opt/module
hbase和hadoop一样也分为单机版、伪分布式版和完全分布式集群版本,这篇文件介绍如何搭建完全分布式集群环境搭建。 hbase依赖于hadoop环境,搭建habase之前首先需要搭建好hadoop的完全集群环境,因此看这篇文章之前需要先看我的上一篇文章:hadoop分布式集群搭建。本文中没有按照独立的zookeeper,使用了hbase自带的zookeeper。 环境准备 hbase软件包: http://mirror.bit.edu.cn/apache/hbase/1.3.1/hbase-1.3.1-
Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:
opentsdb是基于Hbase的时序数据库[时间序列数据库]。不具备通用性,主要针对具有时间特性和需求的数据,如监控数据、温度变化数据等。opentsdb说是数据库,但并不能称作为数据库,他是在Hbase(HBase才是具有存储功能的)的基础上,进行数据结构的优化和处理,从而适合存储具有时间特性的数据,同时提供特定的工具进行查询等操作。
有时候,我们对运行几天或者几个月的hadoop或者hbase集群做停止操作,会发现,停止命令不管用了,为什么呢? 因为基于java开发的程序,想要停止程序,必须通过进程pid来确定,而hadoop和hbase默认的情况下,会把pid文件存储在Linux上的/tmp目录的某个目录下,进程名命令规则一般是 框架名-用户名-角色名.pid,而默认情况下,linux的tmp里面的东西,一天会删除一次,所以把pid文件放在这里面,并不是长久之计,为了安全起见,我们还是放到一个固定的目录下最好,当然不能放在/tmp
本文讲述如何安装,部署,启停HBase集群,如何通过命令行对Hbase进行基本操作。
由于 HBase 是以 HDFS 作为底层存储文件系统的,因此部署好 Hadoop 并启动服务是 HBase 部署的先决条件。我们将在《第三篇:Hadoop部署配置及运行调试(下) - HA完全分布式》中部署的 Hadoop 上,以完全分布式模式来安装部署并运行 HBase.
---- 环境准备 服务器集群 我用的CentOS-6.6版本的4个虚拟机,主机名为hadoop01、hadoop02、hadoop03、hadoop04,另外我会使用hadoop用户搭建集群(生产环境中root用户不是可以任意使用的) 关于虚拟机的安装可以参考以下两篇文章: 在Windows中安装一台Linux虚拟机 通过已有的虚拟机克隆四台虚拟机 服务器集群中已经搭建了hadoop集群(完全分布式和HA集群都可以) 参考 Hadoop完全分布式集群搭建 Hadoop高可用(HA)集群
https://www.cnblogs.com/hongten/p/hongten_hadoop_hbase.html
ZooKeeper可以独立搭建集群,HBase本身不能独立搭建集群需要和Hadoop和HDFS整合。
2. 管理和分配HRegion,比如在HRegion split 时分配新的HRegion;在HRegionServer 退出时迁移其内的
Hbase是企业比较常用的大数据组件,对于开发来讲,单纯的开发几乎不可能,往往都会搭建集群,甚至负责集群的维护,特别是公司规模较小。我们VIP中很多成员,都是一个成员扛起了整个公司的大数据部门,被称之为“扛把子”。
1、Hadoop的主要应用场景: a、数据分析平台。 b、推荐系统。 c、业务系统的底层存储系统。 d、业务监控系统。 2、开发环境:Linux集群(Centos64位)+Window开发模式(window10,64位操作系统)。 使用技术:hadoop,hbase,hive,flume,oozie,sqoop,nginx,tomcat,spring,mybatis,springmvc,mysql等等。Hdfs为海量的数据提供存储,MapReduce为海量的数据提供计算。 此
本文主要讲解了Hadoop集群环境的搭建过程,实际应用中应该不会这样做,而是通过一些管理工具进行安装,比如可视化安装:Ambari。
什么是HBase? HBase是建立在Hadoop文件系统之上的分布式面向列的数据库。它是一个开源项目,是横向扩展的。 HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数据。它利用了Hadoop的文件系统(HDFS)提供的容错能力。 它是Hadoop的生态系统,提供对数据的随机实时读/写访问,是Hadoop文件系统的一部分。 人们可以直接或通过HBase的存储HDFS数据。使用HBase在HDFS读取消费/随机访问数据。 HBase在Hadoop的文件系统之上,并提供了读写访问
172.18.4.126 node1 172.18.4.188 node2 172.18.4.71 node3 172.18.4.86 node4
建议每小时或者每天备份,如果数据极其重要,可以5~10分钟备份一次。备份可以通过定时任务复制元数据目录即可。
本文介绍了如何使用HBase和Zookeeper实现分布式协调,并总结了HBase和Zookeeper的主要概念和命令。
Flink可以运行在所有类unix环境中,例如:Linux,Mac OS 和Windows,一般企业中使用Flink基于的都是Linux环境,后期我们进行Flink搭建和其他框架整合也是基于linux环境,使用的是Centos7.6版本,JDK使用JDK8版本(Hive版本不支持JDK11,所以这里选择JDK8),本小节主要针对Flink集群使用到的基础环境进行配置,不再从零搭建Centos系统,另外对后续整合使用到的技术框架也一并进行搭建,如果你目前已经有对应的基础环境,可以忽略本小节,Linux及各个搭建组件使用版本如下表所示。
Java程序 运行在linux主机上, 通过shell脚本启动为进程。 Java程序中 通过定时任务,设置访问Hbase的时间间隔,设置告警规则,比如三次获取Hbase中的数据失败,则调用存过,遍历配置的告警号码,插入短信中间表,实现短信的发送。 项目结构如下
我在 hadoop001、hadoop002 和 hadoop003 节点上安装了 HBase 集群,其中 hadoop001 和 hadoop002 为 HMaster,hadoop002 和 hadoop003 为 HRegionServer,启动 HBase 后,发现 hadoop002 的 HMaster 和 HRegionServer 进程正常启动,hadoop003 上的 HRegionServer 正常启动,但 hadoop001 上的 HMaster 进程却没有启动,查看 hadoop001 节点上的 HBASE_HOME/logs/hbase-hadoop-master-hadoop001.log 日志文件发现如下报错:
2) 定时备份NameNode上的元数据 每小时或者每天备份,如果数据极其重要,可以5~10分钟备份一次。
前言 由于工作需要,前段时间抽口研究了一下APM(Application Performance Management)相关技术,无论是收费的还是免费的。由于技术栈的原因,最终还是选择Pinpoint,本文是为了记录Pinpoint详细的搭建过程。 架构图 优点 代码零侵入,运用JavaAgent字节码增强技术,只需要加启动参数即可。 搭建环境 机器 安装 功能 192.168.1.180(8080,9994,9995,9996) pinpoint+hbase pinpointweb面板、控制器以及hbas
所谓Standalone模式HBase,就是只启动一个JVM进程,在这个进程中同时启动了多个后台角色,如:HMaster,单个HRegionServer,以及ZooKeeper服务。
大部分程序员可能只停留在写代码阶段。很少有可能接触「Linux」,最多就是看个日志。然而我觉得「Linux」操作对程序员很重要。是提升程序员的一个重要门槛。
1) jdb调试正在运行的进程: 先使用jps先确定进程号,然后让jdb连接上目标进程(23549换成实际的进程号): jdb -connect sun.jvm.hotspot.jdi.SAPIDAttachingConnector:pid=23549 接着,可以使用thread N切换线程(使用threads命令可以查看有哪些线程),如:thread 1,然后就可以使用where命令查看调用栈了(jdb中的where相当于gdb的bt)。 2) jdb调试未运行的程序: 程序代码: hadoop@hadoop-137-143:~/hbase> cat Hello.java public class Hello { public static void main(String[] args) { System.out.println("Hello World!"); } } 编译: hadoop@hadoop-137-143:~/hbase> javac Hello.java 运行: hadoop@hadoop-137-143:~/hbase> java Hello Error: Could not find or load main class Hello 运行报错,设置CLASSPATH后再运行: hadoop@hadoop-137-143:~/hbase> export CLASSPATH=. hadoop@hadoop-137-143:~/hbase> java Hello Hello World! 运行成功了,如果不想设置CLASSPATH,下面这样也可以运行成功: hadoop@hadoop-137-143:~/hbase> java -classpath . Hello Hello World! 也就是利用参数“-classpath”达到同样的效果。 开始调试,执行下面命令进入jdb: jdb -classpath . Hello 设置断点在main()函数: > stop in Hello.main Deferring breakpoint Hello.main. It will be set after the class is loaded. 运行到断点: > run run Hello 运行下一步: main[1] next > Hello World! 退出: main[1] quit
一、调优的目的 充分的利用机器的性能,更快的完成mr程序的计算任务。甚至是在有限的机器条件下,能够支持运行足够多的mr程序。 二、调优的总体概述 从mr程序的内部运行机制,我们可以了解到一个mr程序由mapper和reducer两个阶段组成,其中mapper阶段包括数据的读取、map处理以及写出操作(排序和合并/sort&merge),而reducer阶段包含mapper输出数据的获取、数据合并(sort&merge)、reduce处理以及写出操作。那么在这七个子阶段中,能够进行较大力度的进行调优的就
环境:hadoop 2.6.0 + hbase 1.0.1.1 + mac OS X yosemite 10.10.3 安装步骤: 一、下载解压 到官网 http://hbase.apache.org 下载合适的版本(hbase与hadoop的版本要匹配,否则可能运行不起来),解压到某个目录即可,本文中的解压目录为 /Users/jimmy/app/hbase-1.0.1.1 二、设置环境变量 ... export HBASE_HOME=/Users/jimmy/app/hbase-1.0.1.1 ...
本文的HBase安装是在Hadoop已经安装好的基础上实现的,所以之前要导出JAVA_HOME、HADOOP_HOME( 单机模式不需要,伪分布式模式和分布式模式需要)等环境变量以及配置好SSH互信等。 0 公共配置 导出HBase的环境变量
因为spark的群起命令会和hdfs的命令冲突,所以spark执行命令时使用绝对路径。
1.zookeeper安装 把解压文件从桌面移到安装目录software 解压 显示文件 修改zoo.cfg文件 我的丛机就是主机 注意:如果有多台丛机应该这样配 创建datadir指
在上一章中我们已经在ubuntu3主机上安装了hbase,这里为了省事,直接远程复制到ubuntu主机上。
2. (判断题)【判断题】MapReduce编程模型中的map和reduce每个过程都由不同的计算机进行并行计算处理
HBase ACL 可以实现不同的用户、Group与Namespace、Table、ColumnFamily层级的数据权限控制
因为伪分布式的hbase的依赖于hdfs,因此我将hbase安装好后,首先启动hadoop的hdfs,然后再启动hbase。关闭顺序反之,先关hbase,再关闭hdfs。
如果想详细了解hbase的安装:http://abloz.com/hbase/book.html 和官网http://hbase.apache.org/
Apache ZooKeeper 是一个面向分布式应用程序的高性能协调服务器。要实现Hbase全分布式安装,需要安装ZooKeeper,当然后面kafka也需要安装这个东西。
安装 HBase 这里简单搭建了一个单机的 HBase 环境: 安装 JDK 环境,如何安装jdk可以自己网上搜。 下载 HBase,https://hbase.apache.org/downloads.html,这里我们选择下载2.0.1版本,文件名为 hbase-2.0.1.tar.gz,解压到任意目录。 修改 conf/hbase-env.sh ,设置 JAVA_HOME,这个是 /bin/java 所在的目录,通过 which java 查看。 export JAVA_HOME=/java/jdk
很久很久以前,有一天,我在HBase中新建了一张表 “XXX: XXX _EXCEPTION_LIST_INFO”,同时HBase在处理大量更新操作。然后在DROP掉表XXX: XXX_EXCEPTION_LIST_INFO时,HBase Master就宕机。
可以从下列链接找到process_monitor.sh: https://github.com/eyjian/mooon/blob/master/common_library/shell/process_monitor.sh 假设: 1) java安装目录为/data/jdk 2) 监控脚本process_monitor监控脚本process_monitor.sh安装目录为/usr/local/bin 3) hadoop安装目录为/data/hadoop 4) hbase安装目录为/data/hbase 5) zookeeper安装目录为/data/zookeeper 可以通过jps查看到进程ID,然后使用kill命令杀死进程,查看监控重拉起效果。 process_monitor.sh每隔2秒(由变量monitor_interval指定)检查一次,发现进程不存在时,立即启动。 假设运行用户为root,则process_monitor.sh的日志文件为/tmp/process_monitor-root.log, 假设运行用户为test,则process_monitor.sh的日志文件为/tmp/process_monitor-test.log,以此类推。 可以通过tail -f观察process_monitor.sh的日志,来了解process_monitor.sh的运行。 process_monitor.sh带两个参数,第一个参数是被监控的进程对象,process_monitor.sh依靠第二个参数重启被监控对象。 第一个参数又分两部分,第一个空格前的部分,和空格之后的部分。 第一部分为被监控对象的进程名称,对于java程序,进程名是java,而不是jar包的名称。 第二部分为参数部分,可有可无,但正是通过它来区分不同的被监控对象,对于java、shell程序等是必须的。 另外,process_monitor.sh对参数部分是采取模糊部分匹配方式。 可以通过ps aux命令来确定进程名称和参数。 crontab配置如下: # 监控HDFS NameNode * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_namenode" "/data/hadoop/sbin/hadoop-daemon.sh start namenode" # 监控HDFS切换主备NameNode程序 * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_zkfc" "/data/hadoop/sbin/hadoop-daemon.sh start zkfc" # 监控HDFS JournalNode * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_journalnode" "/data/hadoop/sbin/hadoop-daemon.sh start journalnode" # 监控HDFS DataNode * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_datanode" "/data/hadoop/sbin/hadoop-daemon.sh start datanode" # 监控HBase Master * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_master" "/data/hbase/bin/hbase-daemon.sh start master" # 监控HBase thrift2 * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_thrift2" "/data/hbase/bin/hbase-daemon.sh start thrift2 --framed -nonblocking" # 监控ZooKeeper * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dzookeeper" "/data/zookeeper/bin/zkServer.sh start" # 监控HBase regionserver * * * * * /usr/local/bin/process_monitor.sh "/data/jd
HBase 主要用ZooKeeper来实现 HA 选举与主备集群主节点的切换、系统容错、meta-region 管理、Region 状态管理和分布式 SplitWAL 任务管理等。
由于工作需要,前段时间抽口研究了一下APM相关技术。 大的互联网公司都有自己的分布式跟踪系统,比如Google的Dapper,Twitter的zipkin,淘宝的鹰眼,新浪的Watchman,京东的Hydra等,当然还有一些收费的工具。由于技术栈、项目规模以及方便且容易上手的原因,最终还是选择Pinpoint,本文是为了记录Pinpoint详细的搭建过程。
一、实验环境 3台CentOS release 6.4虚拟机,IP地址为 192.168.56.101 master 192.168.56.102 slave1 192.168.56.103 slave2 hadoop 2.7.2 hbase 1.2.1 hbase与hadoop的版本兼容性,参考 http://hbase.apache.org/book.html#basic.prerequisites 二、安装hadoop集群 hadoop 2.7.2 安装,参考 http://blog.csdn.net/wzy0623/article/details/50681554 三、安装配置hbase 1. 加压缩 tar -zxvf hbase-1.2.1-bin.tar.gz 2. 建立软连接 ln -s hbase-1.2.1 hbase 3. 修改三个配置文件 cd hbase/conf vi hbase-env.sh # 添加以下内容
DataX Web 是在 DataX 之上开发的分布式数据同步工具,提供简单易用的 操作界面,降低用户使用 DataX 的学习成本,缩短任务配置时间,避免配置过程中出错。用户可通过页面选择数据源即可创建数据同步任务,支持 RDBMS、Hive、HBase、ClickHouse、MongoDB 等数据源,RDBMS 数据源可批量创建数据同步任务,支持实时查看数据同步进度及日志并提供终止同步功能,集成并二次开发 xxl-job 可根据时间、自增主键增量同步数据。
本文来自作者在GitChat(ID:GitChat_Club)上的精彩分享,CSDN独家合作发布。 申明:本文旨在为普通程序员(Java程序员最佳)提供一个入门级别的大数据技术学习路径,不适用于大数据工程师的进阶学习,也不适用于零编程基础的同学。 前言 一、背景介绍 本人目前是一名大数据工程师,项目数据50T,日均数据增长20G左右,个人是从Java后端开发,经过3个月的业余自学成功转型大数据工程师。 二、大数据介绍 大数据本质也是数据,但是又有了新的特征,包括数据来源广、数据格式多样化(结构化数据、非
从 1970 年开始,大多数的公司数据存储和维护使用的是关系型数据库,大数据技术出现后,很多拥有海量数据的公司开始选择像Hadoop的方式来存储海量数据。
领取专属 10元无门槛券
手把手带您无忧上云