Skip to content

Latest commit

 

History

History
142 lines (126 loc) · 6.34 KB

hw2.md

File metadata and controls

142 lines (126 loc) · 6.34 KB

Занятие 3
Облачные платформы. Дистрибутивы Cloudera и Hortonworks
Домашнее задание

Развернуть дистрибутив Cloudera


1. Настройка рабочего окружения


Виртуальная машина в Google Cloud Platform

  • в проекте DE-2020-11 создал виртуальную машину cdh командами gcloud

    создание виртуальной машины $ gcloud beta compute --project=de-2020-11 instances create cdh \ --zone=us-central1-a \ --machine-type=e2-standard-8 \ --subnet=default \ --network-tier=PREMIUM \ --maintenance-policy=MIGRATE \ --service-account=313591580200-compute@developer.gserviceaccount.com \ --scopes=https://www.googleapis.com/auth/cloud-platform \ --tags=http-server,https-server \ --image=ubuntu-1804-bionic-v20201123 \ --image-project=ubuntu-os-cloud \ --boot-disk-size=30GB \ --boot-disk-type=pd-ssd \ --boot-disk-device-name=cdh \ --no-shielded-secure-boot \ --shielded-vtpm \ --shielded-integrity-monitoring \ --reservation-affinity=any
    создание правил брандмауэра для трафика http, https $ gcloud compute --project=de-2020-11 firewall-rules create default-allow-http \ --direction=INGRESS \ --priority=1000 \ --network=default \ --action=ALLOW \ --rules=tcp:80 \ --source-ranges=0.0.0.0/0 \ --target-tags=http-server $ gcloud compute --project=de-2020-11 firewall-rules create default-allow-https \ --direction=INGRESS \ --priority=1000 \ --network=default \ --action=ALLOW \ --rules=tcp:443 \ --source-ranges=0.0.0.0/0 \ --target-tags=https-server
  • зашел через ssh, установил Docker с помощью скрипта установки

    $ curl -fsSL https://get.docker.com -o get-docker.sh
    $ sudo sh get-docker.sh

Cloudera Quickstart VM


  • скачал, распаковал, импортировал докер-образ Cloudera Quickstart VM
    $ sudo wget https://downloads.cloudera.com/demo_vm/docker/cloudera-quickstart-vm-5.13.0-0-beta-docker.tar.gz
    $ tar xzf cloudera-quickstart-vm-*-docker.tar.gz
    $ rm -f cloudera-quickstart-vm-5.13.0-0-beta-docker.tar.gz
    $ sudo docker import cloudera-quickstart-vm-5.13.0-0-beta-docker/cloudera-quickstart-vm-5.13.0-0-beta-docker.tar cloudera-quickstart:latest
  • проверил, образ загружен 👍
    $ sudo docker images
    REPOSITORY            TAG       IMAGE ID       CREATED          SIZE
    cloudera-quickstart   latest    19db21962945   48 seconds ago   7GB
  • 👍 запустил контейнер
    $ sudo docker run --hostname=quickstart.cloudera --privileged=true -t -i -p 8888:8888 -p 7180:7180 -p 80:80 cloudera-quickstart:latest /usr/bin/docker-quickstart
  • после появления командной строки контейнера запустил Cloudera Manager
    [root@quickstart /]# /home/cloudera/cloudera-manager --express --force
    ...
    [QuickStart] Enabling Cloudera Manager daemons on boot...
    ________________________________________________________________________________
    
    Success! You can now log into Cloudera Manager from the QuickStart VM's browser:
    
        http://quickstart.cloudera:7180
    
        Username: cloudera
        Password: cloudera
  • создал правило брандмауэра, разрешающее доступ к виртуальной машине по внешнему IP-адресу
    $ gcloud compute --project=de-2020-11 firewall-rules create cdh \
       --direction=INGRESS \
       --priority=1000 \
       --network=default \
       --action=ALLOW \
       --rules=all \
       --source-ranges=0.0.0.0/0

Cloudera Manager


  • зашел через браузер на веб-интерфейс Cloudera Manager указав вместо имени quickstart.cloudera:7180 внешний IP-адрес 34.69.59.252:7180, залогинился cloudera-cloudera

  • переименовал кластер cdh и запустил через меню вручную 👍 image

  • через HUE загрузил файл в папку /user/cloudera/athlete

  • в HIVE создал внешнюю таблицу

CREATE EXTERNAL TABLE athlete (
    ID INT,
    Name STRING,
    Sex STRING,
    Age INT,
    Height INT,
    Weight INT,
    Team STRING,
    NOC STRING,
    Games STRING,
    `Year` INT,
    Season STRING,
    City STRING,
    Sport STRING,
    Event STRING,
    Medal STRING 
)
STORED AS PARQUET
LOCATION '/user/cloudera/athlete'
  • выполнил запрос SELECT * FROM athlete; image