---
# System prepended metadata

title: SDP - notificaEsaurimentoBundle

---

# SDP - notificaEsaurimentoBundle 
## Manuale di installazione Nifi + Kafka_hive_loader per ingestion di eventi consumo bundle

Il presente documento è suddiviso in due parti:

 1. Importare la pipeline NiFi per l'acquisizione degli eventi di di consumo bundle dal sistema KAFKA di SDP e pubblicazione eventi nel sistema Kafka TIM
 2. Configurazione Kafka Hive Loader per l'ingestion degli eventi Kafka nel Datalake


# Componenti del rilascio
Il rilascio si compone dei seguenti files presenti su PVCS:
- platform/sdp/acquisizione_eventi_consumo_bundle/SDP_acquisizione_kafka_eventi_consumo_bundle.xml
- platform/sdp/acquisizione_eventi_consumo_bundle/metadati_bundle_sdp.sql

# Verifiche preinstallazione
Assicurarsi che i seguenti tickets siano stati chiusi:
* INC000005489952
* INC000005489971
* INC000005489983

 Assicurarsi che il server kafka SDP sia raggiungibile e l'indirizzo sia risolvibile dai dns: 
>`nslookup pkc-r0g3p.europe-west4.gcp.confluent.cloud`
>
>`telnet pkc-r0g3p.europe-west4.gcp.confluent.cloud  9092`


> Assicurarsi che siano stati installati i certificati SDP (come descritto nel manuale per l'ingestion di eventi del sottocredito)

# Installazione Pipeline Ingestion NiFi

## Creazione Kafka Topic
Su una macchina Kafka di produzione invece è necessario creare il topic sul quale NiFi accoderà gli eventi provenienti da SDP:

```shell
cd /data/kafka
bin/kafka-topics.sh --create --topic sdp_BU_notificaEsaurimentoBundle_any_STD --bootstrap-server hdfbo1bdp016.hdfbo1bdp.telecomitalia.local:6667,hdfbo1bdp017.hdfbo1bdp.telecomitalia.local:6667,hdfbo1bdp018.hdfbo1bdp.telecomitalia.local:6667,hdfbo1bdp019.hdfbo1bdp.telecomitalia.local:6667,hdfbo1bdp020.hdfbo1bdp.telecomitalia.local:6667,hdfbo1bdp021.hdfbo1bdp.telecomitalia.local:6667,hdfbo1bdp022.hdfbo1bdp.telecomitalia.local:6667 --partitions 3 --replication-factor 3
```


## Installazione template NiFi


## Installazione template NiFi

Eseguire i seguenti passi dall web ui di Apache NiFi:
1. Importare il template SDP_acquisizione_kafka_eventi_consumo_bundle.xml
3. Trascinare dal menu in alto a sinistra un oggetto di tipo template e selezionare il template appena importato
4. Cliccare sul processor ConsumeKafka_2_0 per aprire la finestra di Configurazione e sotto il tab properties modificare i seguenti campi
    - Eliminare il campo sasl.token.auth
    - Eliminare il campo separate-by-key
    - Aggiungere la property (premendo sul bottone +):
       - Property name: sasl.jaas.config
       - Premere OK e associare il seguente valore alla propery:
       ```shell
       org.apache.kafka.common.security.plain.PlainLoginModule required username="<username>" password="<password>";```
   **Sostituire <username> e <password>  con le credenziali del Kafka Server fornito da SDP**
5. Cliccare sulla freccia a destra della propery SSL Context Service. Dopodichè configurare il servizio SSL tramite il bottone a destra e impostare i seguenti campi:
    - Truststore Password : <truststore_password>
    - Truststore Filename: <truststore_path> (se diverso dal valore di default /home/nifi/certificati/sdp.truststore.jks)

![](https://i.imgur.com/jDGcemB.jpg)


6. Premere il bottone Apply
7. Cliccare sul processor ProducerKafka_2_0 per aprire la finestra di Configurazione e sotto il tab properties modificare i seguenti campi:
        - Eliminare il campo Failure Strategy
        - Eliminare il campo sasl.token.auth
        - Popolare il campo Kerberos Principal con il principal di produzione
        - Popolare il campo Kerberos Keytab  con il keytab di produzione

    
8. Premere il bottone Start sulla finestra a sinistra del Process Group creato a partire dal template


# Installazione Ingestion Kafka-hive-loader

## Metadati
Lanciare lo script metadati_sdp_bundle.sql su oracle per aggiornare il catalogo

## Schedulazione
Spostarsi nella directory /data/apps/kafka_hive_loader e schedulare giornalmente il seguente comando

```sh
cd /data/apps/kafka_hive_loader
bash ./spark_kafka_hive_loader.sh -s SDP -h SDP -t sdp_BU_notificaEsaurimentoBundle_any_STD
```

>NB: usare il launcher .sh relativo all'ultima versione del kafka_hive_loader