Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

bug 746032 - add simple option for enabling hbase #509

Merged
merged 1 commit into from

2 participants

@rhelmer
Owner

No description provided.

@peterbe
Owner

r+ looks good to me. I'm one of the few who really cares/needs this and I'm ok with that provision step.

@rhelmer rhelmer merged commit 99303a2 into mozilla:master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Apr 18, 2012
  1. @rhelmer
This page is out of date. Refresh to see the latest.
View
23 docs/setupdevenv.rst
@@ -66,6 +66,29 @@ Note that the existing puppet manifests populate PostgreSQL if the "breakpad" da
does not exist. See :ref:`populatepostgres-chapter` for more information on how this process
works, and how to customize it.
+Enabling HBase
+----------------
+Socorro supports HBase as a long-term storage archive for both raw and
+processed crashes. Since it requires Sun (now Oracle) Java and does not
+work with OpenJDK, and generally has much higher memory requirements than
+all the other dependencies, it is not enabled by default.
+
+If you wish to enable it, edit the nodes.pp file:
+::
+ vi puppet/manifests/nodes/nodes.pp
+
+And remove the comment ('#') marker from the socorro-hbase include:
+::
+ # include socorro-hbase
+
+Re-provision vagrant, and HBase will be installed, started and the default Socorro schema
+will be loaded:
+::
+ vagrant provision
+
+NOTE - this will download and install Java from Oracle, which means that
+you will be bound by the terms of their license agreement - http://www.oracle.com/technetwork/java/javase/terms/license/
+
Debugging
------------------
View
43 puppet/manifests/classes/socorro-hbase.pp
@@ -4,22 +4,37 @@
'/etc/apt/sources.list.d/cloudera.list':
source => '/home/socorro/dev/socorro/puppet/files/etc_apt_sources.list.d/cloudera.list',
require => Exec['add-cloudera-key'];
+
+ 'hbase-configs':
+ path => "/etc/hbase/conf/",
+ recurse => true,
+ require => Package['hadoop-hbase'],
+ source => "/home/socorro/dev/socorro/puppet/files/etc_hbase_conf"
+
}
- # wish we could use package for this, but we need JAVA_HOME set on first run
- # see http://projects.puppetlabs.com/issues/6400
- exec { '/usr/bin/apt-get install -y hadoop-hbase hadoop-hbase-master hadoop-hbase-thrift liblzo2-dev':
- alias => 'install-hbase',
- logoutput => on_failure,
- refreshonly => true,
- subscribe => Exec['apt-get-update-cloudera'],
- require => [Exec['apt-get-update'],Exec['apt-get-update-cloudera']];
+ exec { 'package-oracle-jdk':
+ command => '/usr/bin/wget https://raw.github.com/flexiondotorg/oab-java6/master/oab-java6.sh && bash oab-java6.sh',
+ creates => '/etc/apt/sources.list.d/oab.list',
+ cwd => '/home/socorro',
+ timeout => 0
+ }
+
+ package { ['hadoop-hbase', 'hadoop-hbase-master', 'hadoop-hbase-thrift']:
+ require => [Exec['apt-get-update'], Exec['apt-get-update-cloudera']],
+ ensure => latest
+ }
+
+ package { ['sun-java6-jdk']:
+ require => Exec['package-oracle-jdk'],
+ ensure => latest
}
exec {
'apt-get-update-cloudera':
command => '/usr/bin/apt-get update && touch /tmp/apt-get-update-cloudera',
- require => [Exec['install-oracle-jdk'],
+ require => [Exec['package-oracle-jdk'],
+ Package['sun-java6-jdk'],
File['/etc/apt/sources.list.d/cloudera.list']],
creates => '/tmp/apt-get-update-cloudera';
}
@@ -37,6 +52,14 @@
alias => 'hbase-schema',
creates => "/var/lib/hbase/crash_reports",
logoutput => on_failure,
- require => Exec['install-hbase'];
+ require => Package['hadoop-hbase-master']
+ }
+
+ service {
+ ['hadoop-hbase-master', 'hadoop-hbase-thrift']:
+ require => [Package['hadoop-hbase-master'],
+ Package['hadoop-hbase-thrift'],
+ File['hbase-configs']],
+ ensure => running
}
}
View
2  puppet/manifests/nodes/nodes.pp
@@ -5,6 +5,6 @@
include socorro-processor
include socorro-collector
include socorro-api
-# include socorro-hbase
+ include socorro-hbase
include socorro-elasticsearch
}
Something went wrong with that request. Please try again.