- 浏览: 2188572 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (682)
- 软件思想 (7)
- Lucene(修真篇) (17)
- Lucene(仙界篇) (20)
- Lucene(神界篇) (11)
- Solr (48)
- Hadoop (77)
- Spark (38)
- Hbase (26)
- Hive (19)
- Pig (25)
- ELK (64)
- Zookeeper (12)
- JAVA (119)
- Linux (59)
- 多线程 (8)
- Nutch (5)
- JAVA EE (21)
- Oracle (7)
- Python (32)
- Xml (5)
- Gson (1)
- Cygwin (1)
- JavaScript (4)
- MySQL (9)
- Lucene/Solr(转) (5)
- 缓存 (2)
- Github/Git (1)
- 开源爬虫 (1)
- Hadoop运维 (7)
- shell命令 (9)
- 生活感悟 (42)
- shell编程 (23)
- Scala (11)
- MongoDB (3)
- docker (2)
- Nodejs (3)
- Neo4j (5)
- storm (3)
- opencv (1)
最新评论
-
qindongliang1922:
粟谷_sugu 写道不太理解“分词字段存储docvalue是没 ...
浅谈Lucene中的DocValues -
粟谷_sugu:
不太理解“分词字段存储docvalue是没有意义的”,这句话, ...
浅谈Lucene中的DocValues -
yin_bp:
高性能elasticsearch ORM开发库使用文档http ...
为什么说Elasticsearch搜索是近实时的? -
hackWang:
请问博主,有用solr做电商的搜索项目?
Solr中Group和Facet的用法 -
章司nana:
遇到的问题同楼上 为什么会返回null
Lucene4.3开发之第八步之渡劫初期(八)
最近项目有用到Hbase存储数据,由于现在的hadoop
的集群是基于hadoop2.2.0的,所以不可避免的就需要使用新版的Hbase,以前和hadoop1.x的集群使用的hbase是0.94版本的,现在最新的版本是0.98的,鉴于不稳定,所以散仙就选择了0.96版的Hbase,本次搭建Hbase集群,是基于底层依赖Hadoop2.2.0的,具体的情况描述如下:
本次的集群,散仙使用的是Hbase内置的zk,建议生产环境使用外置的zk集群,具体的配置步骤如下:
hbase-env.sh里面的配置如下,需要配置的地方主要有JDK环境变量的设置,和启动Hbase自带的zk管理:
hbase-site.xml里面的配置如下:
regionservers里面的配置如下:
启动后的在Master上进程如下所示:
关闭防火墙后,在win上访问Hbase的60010端口,如下所示:
在linu的shell客户端里访问hbase的shell如下所示:
至此,我们的Hbase集群就搭建完毕,下一步我们就可以使用Hbase的shell命令,来测试Hbase的增删改查了,当然我们也可以使用Java API来和Hbase交互,下一篇散仙会给出Java API操作Hbase的一些通用代码。
的集群是基于hadoop2.2.0的,所以不可避免的就需要使用新版的Hbase,以前和hadoop1.x的集群使用的hbase是0.94版本的,现在最新的版本是0.98的,鉴于不稳定,所以散仙就选择了0.96版的Hbase,本次搭建Hbase集群,是基于底层依赖Hadoop2.2.0的,具体的情况描述如下:
序号 | 机器IP | 角色 |
1 | 192.168.46.32 | Master |
2 | 192.168.46.11 | Slave1 |
3 | 192.168.46.10 | Slave2 |
本次的集群,散仙使用的是Hbase内置的zk,建议生产环境使用外置的zk集群,具体的配置步骤如下:
序号 | 描述 |
1 | Ant,Maven,JDK环境 |
2 | 配置各个机器之间SSH无密码登陆认证 |
3 | 配置底层Hadoop2.2.0的集群,注意需要编译64位的 |
4 | 下载Hbase0.96,无须编译,解压 |
5 | 进入hbase的conf下,配置hbase-env.sh文件 |
6 | 配置conf下的hbase-site.xml文件 |
7 | 配置conf下的regionservers文件 |
8 | 配置完成后,分发到各个节点上 |
9 | 先启动Hadoop集群,确定hadoop集群正常 |
10 | 启动Hbase集群 |
11 | 访问Hbase的60010的web界面,查看是否正常 |
12 | 使用命令bin/hbase shell进入hbase的shell终端,测试 |
13 | 配置Windows下的本地hosts映射(如需在win上查看Hbase) |
14 | 屌丝软件工程师一名 |
hbase-env.sh里面的配置如下,需要配置的地方主要有JDK环境变量的设置,和启动Hbase自带的zk管理:
# #/** # * Copyright 2007 The Apache Software Foundation # * # * Licensed to the Apache Software Foundation (ASF) under one # * or more contributor license agreements. See the NOTICE file # * distributed with this work for additional information # * regarding copyright ownership. The ASF licenses this file # * to you under the Apache License, Version 2.0 (the # * "License"); you may not use this file except in compliance # * with the License. You may obtain a copy of the License at # * # * http://www.apache.org/licenses/LICENSE-2.0 # * # * Unless required by applicable law or agreed to in writing, software # * distributed under the License is distributed on an "AS IS" BASIS, # * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # * See the License for the specific language governing permissions and # * limitations under the License. # */ # Set environment variables here. # This script sets variables multiple times over the course of starting an hbase process, # so try to keep things idempotent unless you want to take an even deeper look # into the startup scripts (bin/hbase, etc.) # The java implementation to use. Java 1.6 required. export JAVA_HOME=/usr/local/jdk # Extra Java CLASSPATH elements. Optional. # export HBASE_CLASSPATH= # The maximum amount of heap to use, in MB. Default is 1000. # export HBASE_HEAPSIZE=1000 # Extra Java runtime options. # Below are what we set by default. May only work with SUN JVM. # For more on why as well as other possible settings, # see http://wiki.apache.org/hadoop/PerformanceTuning export HBASE_OPTS="-XX:+UseConcMarkSweepGC" # Uncomment one of the below three options to enable java garbage collection logging for the server-side processes. # This enables basic gc logging to the .out file. # export SERVER_GC_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps" # This enables basic gc logging to its own file. # If FILE-PATH is not replaced, the log file(.gc) would still be generated in the HBASE_LOG_DIR . # export SERVER_GC_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:<FILE-PATH>" # This enables basic GC logging to its own file with automatic log rolling. Only applies to jdk 1.6.0_34+ and 1.7.0_2+. # If FILE-PATH is not replaced, the log file(.gc) would still be generated in the HBASE_LOG_DIR . # export SERVER_GC_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:<FILE-PATH> -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=512M" # Uncomment one of the below three options to enable java garbage collection logging for the client processes. # This enables basic gc logging to the .out file. # export CLIENT_GC_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps" # This enables basic gc logging to its own file. # If FILE-PATH is not replaced, the log file(.gc) would still be generated in the HBASE_LOG_DIR . # export CLIENT_GC_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:<FILE-PATH>" # This enables basic GC logging to its own file with automatic log rolling. Only applies to jdk 1.6.0_34+ and 1.7.0_2+. # If FILE-PATH is not replaced, the log file(.gc) would still be generated in the HBASE_LOG_DIR . # export CLIENT_GC_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:<FILE-PATH> -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=512M" # Uncomment below if you intend to use the EXPERIMENTAL off heap cache. # export HBASE_OPTS="$HBASE_OPTS -XX:MaxDirectMemorySize=" # Set hbase.offheapcache.percentage in hbase-site.xml to a nonzero value. # Uncomment and adjust to enable JMX exporting # See jmxremote.password and jmxremote.access in $JRE_HOME/lib/management to configure remote password access. # More details at: http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html # # export HBASE_JMX_BASE="-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" # export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10101" # export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10102" # export HBASE_THRIFT_OPTS="$HBASE_THRIFT_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10103" # export HBASE_ZOOKEEPER_OPTS="$HBASE_ZOOKEEPER_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10104" # export HBASE_REST_OPTS="$HBASE_REST_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10105" # File naming hosts on which HRegionServers will run. $HBASE_HOME/conf/regionservers by default. # export HBASE_REGIONSERVERS=${HBASE_HOME}/conf/regionservers # Uncomment and adjust to keep all the Region Server pages mapped to be memory resident #HBASE_REGIONSERVER_MLOCK=true #HBASE_REGIONSERVER_UID="hbase" # File naming hosts on which backup HMaster will run. $HBASE_HOME/conf/backup-masters by default. # export HBASE_BACKUP_MASTERS=${HBASE_HOME}/conf/backup-masters # Extra ssh options. Empty by default. # export HBASE_SSH_OPTS="-o ConnectTimeout=1 -o SendEnv=HBASE_CONF_DIR" # Where log files are stored. $HBASE_HOME/logs by default. # export HBASE_LOG_DIR=${HBASE_HOME}/logs # Enable remote JDWP debugging of major HBase processes. Meant for Core Developers # export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8070" # export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8071" # export HBASE_THRIFT_OPTS="$HBASE_THRIFT_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8072" # export HBASE_ZOOKEEPER_OPTS="$HBASE_ZOOKEEPER_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8073" # A string representing this instance of hbase. $USER by default. # export HBASE_IDENT_STRING=$USER # The scheduling priority for daemon processes. See 'man nice'. # export HBASE_NICENESS=10 # The directory where pid files are stored. /tmp by default. # export HBASE_PID_DIR=/var/hadoop/pids # Seconds to sleep between slave commands. Unset by default. This # can be useful in large clusters, where, e.g., slave rsyncs can # otherwise arrive faster than the master can service them. # export HBASE_SLAVE_SLEEP=0.1 # Tell HBase whether it should manage it's own instance of Zookeeper or not. export HBASE_MANAGES_ZK=true # The default log rolling policy is RFA, where the log file is rolled as per the size defined for the # RFA appender. Please refer to the log4j.properties file to see more details on this appender. # In case one needs to do log rolling on a date change, one should set the environment property # HBASE_ROOT_LOGGER to "<DESIRED_LOG LEVEL>,DRFA". # For example: # HBASE_ROOT_LOGGER=INFO,DRFA # The reason for changing default to RFA is to avoid the boundary case of filling out disk space as # DRFA doesn't put any cap on the log size. Please refer to HBase-5655 for more context.
hbase-site.xml里面的配置如下:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- /** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ --> <configuration> <property> <name>hbase.rootdir</name> <value>hdfs://192.168.46.32:9000/hbase</value><!--这里必须跟core-site.xml中的配置一样--> </property> <!-- 开启分布式模式 --> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <!-- 这里是对的,只配置端口,为了配置多个HMaster --> <property> <name>hbase.master</name> <value>192.168.46.32:60000</value> </property> <property> <name>hbase.tmp.dir</name> <value>/home/search/hbase/hbasetmp</value> </property> <!-- Hbase的外置zk集群时,使用下面的zk端口 --> <property> <name>hbase.zookeeper.quorum</name> <value>192.168.46.32,192.168.46.11,192.168.46.10</value> </property> </configuration>
regionservers里面的配置如下:
h1 h2 h3
启动后的在Master上进程如下所示:
1580 SecondaryNameNode 1289 NameNode 2662 HMaster 2798 HRegionServer 1850 NodeManager 3414 Jps 2569 HQuorumPeer 1743 ResourceManager 1394 DataNode
关闭防火墙后,在win上访问Hbase的60010端口,如下所示:
在linu的shell客户端里访问hbase的shell如下所示:
至此,我们的Hbase集群就搭建完毕,下一步我们就可以使用Hbase的shell命令,来测试Hbase的增删改查了,当然我们也可以使用Java API来和Hbase交互,下一篇散仙会给出Java API操作Hbase的一些通用代码。
发表评论
-
关于Hbase多版本存储的一个注意点
2018-04-19 11:39 1653我们知道hbase是一个多版本的管理系统,在0.96的版本之前 ... -
Spark如何读取Hbase特定查询的数据
2017-06-29 21:42 4454最近工作需要使用到Spark操作Hbase,上篇文章已经写 ... -
如何使用scala+spark读写hbase?
2017-06-12 19:48 3449最近工作有点忙,所以文章更新频率低了点,希望大家可以谅解,好 ... -
Hadoop+Hbase集群数据迁移问题
2016-03-23 21:00 2528数据迁移或备份是任何 ... -
如何监控你的Hadoop+Hbase集群?
2016-03-21 16:10 4924前言 监控hadoop的框架 ... -
Hbase+Solr实现二级索引提供高效查询
2016-02-18 18:28 7092接着上一篇介绍协处理 ... -
Hbase协处理器介绍
2016-02-18 11:43 3861(一)Hbase协处理器的 ... -
Spark读取Hbase数据
2016-01-21 15:39 2590直接上代码:可以上传jar包,给远程的spark集群,这样 ... -
Spark SQL+Hive历险记
2016-01-21 11:40 6137基础依赖环境 Apache Hadoop2.7.1 Apa ... -
Apache Phoenix安装使用
2016-01-08 16:59 2628前提Hadoop+Hbase集群已经 ... -
一次bug死磕经历之Hbase堆内存小导致regionserver频繁挂掉
2016-01-05 19:11 2771环境如下: Centos6.5 Apac ... -
Hadoop2.7.1和Hbase0.98添加LZO压缩
2016-01-04 17:46 26081,执行命令安装一些依赖组件 yum install -y ... -
Hbase设置Snappy压缩测试
2015-12-30 15:31 3453在DT大数据时代,海量数据的存储和分析是一个巨大的挑战,给我 ... -
Hbase1.1.2高可用配置Hmaster容错
2015-11-12 17:05 1499Hbase的Hmaster配置HA相比Hadoop的Name ... -
设置Hadoop+Hbase集群pid文件存储位置
2015-10-20 13:40 2865有时候,我们对运行几 ... -
hadoop2.2生态系统快速安装脚本
2014-09-23 15:08 1988对于使用hadoop进行开发的朋友们,可能要自己搭建一套had ... -
Hadoop2.2.0+Hive0.13+Hbase0.96.2集成
2014-08-06 20:49 1861本篇,散仙主要讲的是使用Hive如何和Hbase集成,Hbas ... -
如何使用Java API操作Hbase(基于0.96新的api)
2014-07-24 20:16 7460写了个Hbase新的api的增删改查的工具类,以供参考,直接拷 ... -
Java连接Hbase0.96异常
2014-07-14 13:43 2030在Windows上直接使用JAVA API连接Hbase0.9 ... -
Hadoop2.2.0集成Hbase0.96报的一个异常
2014-07-14 11:18 792最近项目抓取的数据,存在Hbase里,所以需要从Hbase里读 ...
相关推荐
Hadoop2.2+Zookeeper3.4.5+HBase0.96集群环境搭建 Hadoop2.2+Zookeeper3.4.5+HBase0.96集群环境搭建是大数据处理和存储的重要组件,本文档将指导用户从零开始搭建一个完整的Hadoop2.2+Zookeeper3.4.5+HBase0.96集群...
Hadoop-2.2.0+Hbase-0.96.2+Hive-0.13.1分布式整合,Hadoop-2.X使用HA方式
在本文中,我们将深入探讨如何在CentOS-6.4 64位操作系统上配置一个基于Hadoop 2.2.0、HBase 0.96和Zookeeper 3.4.5的分布式环境。这个过程涉及到多个步骤,包括系统设置、软件安装、配置以及服务启动。 首先,为了...
本文将详细介绍如何在Linux环境下搭建Hadoop2.2.0、HBase0.96和Hive0.12的集群环境。 首先,我们从Hadoop的安装开始。Hadoop2.2.0是Apache官方稳定版,可以从官方网站或镜像站点下载。下载完成后,将其上传到Linux...
通过以上步骤,我们已经在CentOS 6.5 x86_64环境下成功搭建了Hadoop 2.2.0集群,并且集成了HBase和ZooKeeper,形成了一套完整的分布式存储和处理系统。这样的系统不仅能够处理海量数据,还具备高可用性和扩展性,...
文档作者王扬庭分享的这份资料详细介绍了如何在云计算环境中集成和配置Hadoop-2.2.0、HBase-0.96.2以及Hive-0.13.1,形成一个完全分布式的计算环境。这个文档是《云计算之Flume+Kafka+Storm+Redis/Hbase+Hadoop+Hive...
【Hadoop2.2.0】 Hadoop2.2.0是Apache Hadoop项目的一个稳定版本,提供了改进的性能和稳定性。它引入了YARN(Yet Another Resource Negotiator),这是一个资源管理和调度器,用于更好地管理和优化分布式计算任务。...
### Hadoop2.2.0 + HBase0.98.1 + Sqoop1.4.4 + Hive0.13 完全安装手册 #### 前言 随着大数据技术的发展,Hadoop已经成为处理海量数据的核心框架之一。本文旨在为读者提供一套最新的Hadoop2.2.0、HBase0.98.1、...
9. 数据处理生态:在Hadoop 2.2.0中,除了核心的HDFS和MapReduce,还有许多配套项目,如HBase(分布式数据库)、Hive(数据仓库工具)、Pig(高级数据分析语言)、Oozie(工作流管理系统)等,构建了一个完整的大...
一、Hadoop2.2.0、ZooKeeper3.4.5、HBase0.96.2、Hive0.13.1是什么? Hadoop2.2.0是一个大数据处理框架,具有许多新特性,如支持Windows平台、改进了安全性、提高了性能等。 ZooKeeper3.4.5是一个分布式应用程序...
HBase是一款分布式的、面向列的开源数据库,它是Apache Hadoop生态系统的一部分,专门设计用于处理大规模数据。在Java客户端上连接HBase集群时,需要配置一系列的环境和依赖,其中包括了`winutils`工具。`winutils-...
6. **安装与配置**:要使用HBase Hook,用户需要在HBase集群中正确配置和部署这个组件,确保它能与Atlas服务器通信,将HBase操作的事件转化为Atlas的元数据更新。 7. **性能优化**:尽管增加了额外的治理层,但...
Hadoop 2.2.0 不只是MapReduce和HDFS,还包括一系列生态系统项目,如HBase(分布式NoSQL数据库)、Hive(数据仓库工具)、Pig(数据流处理语言)、Oozie(工作流调度系统)和Zookeeper(分布式协调服务)。...
用户在下载hadoop-2.2.0.tar.gz后,可以通过`tar -zxfv hadoop-2.2.0.tar.gz`命令进行解压缩,然后配置环境变量,启动Hadoop集群,进行数据的存储和计算。 接下来是Zookeeper 3.4.5。这个版本是Zookeeper的一个经典...
【Hadoop安装】和【Hadoop集群安装】的知识点主要涉及分布式存储系统Hadoop的部署,特别是针对Hadoop 2.2.0版本的集群配置。Hadoop是Apache基金会的一个开源项目,它提供了分布式文件系统(HDFS)和MapReduce计算...
Hadoop是Apache软件基金会开发的一个开源分布式...总之,Hadoop 2.2.0是一个强大的分布式计算框架,适用于处理大规模数据。通过在64位Linux环境下正确安装和配置,可以充分利用硬件资源,实现高效的数据存储和处理。
HBase,全称为Apache HBase,是一款开源的分布式NoSQL数据库,主要运行在Hadoop之上。这个名为“hbase-2.2.0-bin.tar.gz”的压缩包包含了HBase的二进制发行版,适用于2.2.0版本。这个版本的发布提供了最新的功能和...
而HBase则是一个分布式的、面向列的开源数据库,它是构建在Hadoop文件系统(HDFS)之上,提供实时读写服务,尤其适用于大数据存储和处理。 描述中提到的"atlas2.2.0内嵌式编译会用到"可能是指Apache Atlas 2.2.0,...
Hadoop Common 2.2.0是Apache Hadoop项目的核心组件之一,它提供了Hadoop生态系统中的通用工具和服务,支持分布式存储和计算。这个版本尤其适用于在Windows环境中进行Hadoop Java API的开发工作。下面将对Hadoop ...