Skip to content

Instantly share code, notes, and snippets.

View rafaelfelix's full-sized avatar

Rafael Felix Correa rafaelfelix

  • Berlin
  • 23:55 (UTC +02:00)
View GitHub Profile
@rafaelfelix
rafaelfelix / docker-compose-elk.yml
Created February 13, 2016 22:21
spin up ELK using official docker images (compatible with docker compose 1.6.0+ and docker-engine 1.10+) - NOT YET FINISHED
version: '2'
services:
kibana:
image: kibana
links:
- elasticsearch
environment:
- ELASTICSEARCH_URL=http://elk_elasticsearch_1:9200
elasticsearch:
image: elasticsearch:2.2

Keybase proof

I hereby claim:

  • I am rafaelfelix on github.
  • I am rafaelfc (https://keybase.io/rafaelfc) on keybase.
  • I have a public key ASCGxsBdB_ZnmKH-lhFUuCs_geoXR236mbQElQs78L7LhQo

To claim this, I am signing this object:

@rafaelfelix
rafaelfelix / awslambda_config.py
Last active December 28, 2018 15:12
Python class to read configs from the environment and, when not set, look into AWS SSM (useful for lambda functions)
import boto3
import os
# Read environment variables into a read-only dict-like object. Falls back to AWS SSM
# in case the variable is not set
# inspiration: https://aws.amazon.com/blogs/compute/sharing-secrets-with-aws-lambda-using-aws-systems-manager-parameter-store/
class AWSLambdaConfig(object):
def __init__(self, path):
self._ssm_path = path
self._ssm_client = boto3.client('ssm')
@rafaelfelix
rafaelfelix / step-functions-article-example-1.json
Created April 4, 2019 12:17
step-functions-article-example-1.json
{
"StartAt": "Concatenate Strings",
"States": {
"Concatenate Strings": {
"Type": "Task",
"Resource": "arn:aws:lambda:region:account:function:concatenate_strings",
"ResultPath": "$.preparedInput",
"Parameters": {
"market.$": "$.market",
"model.$": "$.model",
@rafaelfelix
rafaelfelix / step-functions-article-example-1-lambda.py
Created April 4, 2019 12:18
step-functions-article-example-1-lambda.py
def lambda_handler(event, context):
return f'{event["bucket"]}/{event["model"]}/{event["market"]}'
@rafaelfelix
rafaelfelix / step-functions-article-example-2.json
Last active April 4, 2019 12:21
step-functions-article-example-2.json
{
"StartAt": "Step1",
"States": {
"Step1": {
"Type": "Task",
"Resource": "arn:aws:lambda:region:account:function:step1",
"ResultPath": "$.result",
"Next": "Step2"
},
"Step2": {
#!/bin/bash
# set spark.master to k8s api host:port
sed -i "s/#spark.master.*/spark.master\ k8s\:\/\/https\:\/\/$KUBERNETES_SERVICE_HOST\:$KUBERNETES_PORT_443_TCP_PORT/g" $SPARK_HOME/conf/spark-defaults.conf
# set spark.kubernetes.driver.pod.name to $HOSTNAME (https://spark.apache.org/docs/latest/running-on-kubernetes.html#client-mode-executor-pod-garbage-collection)
sed -i "s/#spark.kubernetes.driver.pod.name.*/spark.kubernetes.driver.pod.name\ $HOSTNAME/g" $SPARK_HOME/conf/spark-defaults.conf
# set spark.driver.host to own pod name
THIS_POD_FQDN=$HOSTNAME.servicename.{{ .Release.Namespace }}.svc.cluster.local
@rafaelfelix
rafaelfelix / hbase_jmx_config.yaml
Created October 30, 2019 16:17
JMX exporter configuration for exporting grouped hbase 1.x metrics to prometheus
rules:
- pattern: Hadoop<service=HBase, name=RegionServer, sub=Regions><>Namespace_([^\W_]+)_table_([^\W_]+)_region_([^\W_]+)_metric_(\w+)
name: HBase_RegionServer_Regions_metric_$4
labels:
namespace: "$1"
table: "$2"
region: "$3"
- pattern: Hadoop<service=HBase, name=RegionServer, sub=(TableLatencies|Tables)><>Namespace_([^\W_]+)_table_([^\W_]+)_metric_(\w+)
name: HBase_RegionServer_$1_metric_$4
labels:
@rafaelfelix
rafaelfelix / spark-on-k8s-download-and-untar-spark.sh
Last active November 19, 2019 07:20
spark-on-k8s-download-and-untar-spark.sh
#!/bin/bash
MIRROR=archive.apache.org
SPARK_VERSION=2.4.4
SPARK_VERSION_SUFFIX=-bin-hadoop2.7
curl -Lo spark.tgz https://${MIRROR}/dist/spark/spark-${SPARK_VERSION}/spark-${SPARK_VERSION}${SPARK_VERSION_SUFFIX}.tgz && \
tar xvzf spark.tgz && mv spark-${SPARK_VERSION}${SPARK_VERSION_SUFFIX} spark
export SPARK_HOME=$(pwd)/spark
@rafaelfelix
rafaelfelix / spark-on-k8s-start-minikube.sh
Last active November 14, 2019 15:39
spark-on-k8s-start-minikube.sh
#!/bin/bash
K8S_VERSION=v1.15.4
MINIKUBE_VMDRIVER=virtualbox
minikube start --cpus=4 --memory=4000mb --vm-driver=${MINIKUBE_VMDRIVER} --kubernetes-version=${K8S_VERSION}