h2oai / h2o-3

kesä 10, 2021
admin

H2O on hajautetun, skaalautuvan koneoppimisen in-memory-alusta. H2O käyttää tuttuja rajapintoja, kuten R:ää, Pythonia, Scalaa, Javaa, JSONia ja Flow notebook/web-käyttöliittymää, ja se toimii saumattomasti big data -teknologioiden, kuten Hadoopin ja Sparkin, kanssa.

H2O on laajennettavissa niin, että kehittäjät voivat lisätä haluamiaan tietomuunnoksia ja mukautettuja algoritmeja ja käyttää niitä kaikkien näiden asiakkaiden kautta. H2O-mallit voidaan ladata ja ladata H2O-muistiin pisteytystä varten tai viedä POJO- tai MOJO-muotoon erittäin nopeaa pisteytystä varten tuotannossa. Lisätietoja löytyy H2O-käyttöoppaasta.

H2O-3 (tämä arkisto) on H2O:n kolmas versio ja H2O-2:n seuraaja.

Sisällysluettelo

  • H2O-3:n lataaminen
  • Avoimen lähdekoodin resurssit
    • Kysymysten seuranta ja ominaisuuspyynnöt
    • Luettelo H2O:n resursseista
  • H2O-3:n ohjelmakoodin artefaktien (kirjastojen) käyttäminen
  • H2O:n rakentaminen
    • H2O-3
    • H2O:n käynnistäminen rakentamisen jälkeen
    • H2O:n rakentaminen Hadoopissa
    • Pilkkuva vesi
    • Dokumentaatio
    • Lainaus H2O:sta
    • Tiekartta
    • Yhteisö / Neuvonantajat / Sijoittajat

    1. H2O-3:n lataaminen

    Vaikka suurin osa tästä README:stä on kirjoitettu kehittäjille, jotka tekevät omat buildinsa, useimmat H2O:n käyttäjät vain lataavat ja käyttävät valmiiksi rakennettua versiota. Jos olet Python- tai R-käyttäjä, helpoin tapa asentaa H2O on PyPI:n tai Anacondan (Pythonille) tai CRAN:n (R:lle) kautta:

    Python

    pip install h2o

    R

    install.packages("h2o")

    Lisätietoa H2O:n lataamisesta & asentamisesta löytyy H2O:n käyttöoppaasta.

    2. H2O:n käyttöopas. Avoimen lähdekoodin resurssit

    Useimmat ihmiset ovat vuorovaikutuksessa kolmen tai neljän ensisijaisen avoimen lähdekoodin resurssin kanssa: GitHub (jonka olet jo löytänyt), JIRA (vikailmoituksiin ja ongelmien seurantaan), Stack Overflow H2O-koodi/ohjelmistokohtaisiin kysymyksiin ja h2ostream (Google-ryhmä/sähköpostikeskustelufoorumi) kysymyksiin, jotka eivät sovellu Stack Overflow’hun. On myös Gitter H2O-kehittäjien keskusteluryhmä, mutta arkistointitarkoituksiin & saatavuuden maksimoimiseksi haluaisimme kuitenkin mieluummin, että tavanomaiset H2O Q&A-kysymykset hoidetaan Stack Overflow’ssa.

    2.1 Ongelmien seuranta ja ominaisuuspyynnöt

    (Huomioitavaa: Projektissa on vain yksi ongelmien seurantajärjestelmä. GitHub-ongelmat eivät ole käytössä; sinun on käytettävä JIRAa.)

    Voit selata ja luoda uusia kysymyksiä avoimen lähdekoodin JIRAssa: http://jira.h2o.ai

    • Voit selata ja etsiä kysymyksiä kirjautumatta JIRAan:
      1. Klikkaa Issues-valikkoa
      2. Klikkaa Search for issues
    • Luoaksesi ongelman (joko vian tai ominaisuuspyynnön), luo itsellesi ensin tili:
      1. Klikkaa Log In-painiketta näytön oikeassa yläkulmassa
      2. Klikkaa Create an acccount lähellä kirjautumisruudun alareunaa
      3. Kun olet luonut tilin ja kirjautunut sisään, käytä Create-painiketta valikossa luodaksesi ongelman
      4. Luo H2O-3-ongelmia PUBDEV-projektissa. (Huomaa: Sparkling Water -kysymykset tulisi jättää SW-projektiin.)
    • Voit myös äänestää ominaisuuspyynnöistä ja/tai muista kysymyksistä. Äänestäminen voi auttaa H2O:ta priorisoimaan kuhunkin julkaisuun sisällytettävät ominaisuudet.
      1. Mene H2O:n JIRA-sivulle.
      2. Klikkaa Kirjaudu sisään joko kirjautuaksesi sisään tai luodaksesi tilin, jos sinulla ei vielä ole sellaista.
      3. Hae ominaisuutta, jota haluat priorisoida, tai luo uusi ominaisuus.
      4. Klikkaa Äänestä tätä kysymystä -linkkiä. Tämä sijaitsee ongelman oikealla puolella kohdassa Ihmiset.

    2.2 Luettelo H2O-resursseista

    3. H2O-3:n artefaktien käyttäminen

    Jokainen yöllinen build julkaisee R-, Python-, Java- ja Scala-artefaktit build-kohtaiseen arkistoon. Erityisesti Java-artefaktit löytyvät maven/repo-hakemistosta.

    Tässä on esimerkkipätkä gradle-rakentamistiedostosta, jossa käytetään h2o-3:a riippuvuutena. Korvaa x, y, z ja nnnn kelvollisilla numeroilla.

    Viittaa uusimpaan H2O-3 bleeding edge nightly build -sivuun saadaksesi tietoa yöllisen rakentamisen artefaktien asentamisesta.

    Viittaa h2o-droplets GitHub-tietovarastoon saadaksesi toimivan esimerkin siitä, miten Java-artefakteja käytetään gradlen kanssa.

    Huomaa: Vakaat H2O-3-artefaktit julkaistaan määräajoin Maven Centralissa (klikkaa tästä hakusanaa), mutta ne saattavat olla huomattavasti jäljessä H2O-3 Bleeding Edge -yönaikaisista rakennuksista.

    4. H2O-3:n rakentaminen

    H2O-kehityksen aloittaminen edellyttää JDK 1.7:ää, Node.js:ää, Gradlea, Pythonia ja R:ää. Käytämme Gradle-käärettä (nimeltään gradlew) varmistaaksemme, että kehityshakemistoosi on asennettu ajantasaiset paikalliset versiot Gradlesta ja muista riippuvuussuhteista

    4.1. H2O-3:n rakentaminen H2O-kehityksen aloittaminen edellyttää JDK 1.7:ää, Node.js:ää, Gradlea, Pythonia ja R:ää. Ennen rakentamista

    Valmistaminen h2o edellyttää oikein asetettua R-ympäristöä, jossa on tarvittavat paketit, ja Python-ympäristöä, jossa on seuraavat paketit:

    gripcoloramafuturetabulaterequestswheel

    Näiden pakettien asentamiseen voit käyttää pip- tai conda-ohjelmia.Jos sinulla on ongelmia näiden pakettien asentamisessa Windows-käyttöjärjestelmään, noudata tämän oppaan kohtaa Asennus Windows-käyttöjärjestelmään.

    (Huomaa: Kaikkien pakettien asentamista varten suositellaan käyttämään jotakin virtuaaliympäristöä, kuten esimerkiksi VirtualEnv. )

    4.2. Rakentaminen komentoriviltä (Pika-aloitus)

    Voit rakentaa H2O:n arkistosta suorittamalla seuraavat vaiheet.

    Resepti 1: Kloonaa tuore, rakenna, ohita testit ja suorita H2O

    Resepti 2: Kloonaa tuore, rakenna ja suorita testit (vaatii toimivan R-asennuksen)

    git clone https://github.com/h2oai/h2o-3.gitcd h2o-3./gradlew syncSmalldata./gradlew syncRPackages./gradlew build

    Huomautuksia:

    • Testien suorittaminen käynnistää viisi testi-JVM:iä, jotka muodostavat H2O-ryppään, ja se vaatii vähintään 8 Gt:aa RAM-käyttömuistia (mieluiten 16 Gt:aa RAM-käyttöjärjestelmää).
    • Testien suorittaminen ./gradlew syncRPackages on tuettu Windowsissa, OS X:ssä ja Linuxissa, ja sitä suositellaan voimakkaasti, mutta sitä ei vaadita. ./gradlew syncRPackages varmistaa täydellisen ja johdonmukaisen ympäristön, jossa on valmiiksi hyväksytyt versiot testeissä ja rakennuksissa tarvittavista paketeista. Paketit voidaan asentaa manuaalisesti, mutta suosittelemme ENV-muuttujan asettamista ja ./gradlew syncRPackages:n käyttöä. Aseta ENV-muuttuja seuraavassa muodossa (jossa `${WORKSPACE} voi olla mikä tahansa polku):
    mkdir -p ${WORKSPACE}/Rlibraryexport R_LIBS_USER=${WORKSPACE}/Rlibrary

    Resepti 3: Vedä, puhdista, rakenna ja suorita testit

    git pull./gradlew syncSmalldata./gradlew syncRPackages./gradlew clean./gradlew build

    Huomautuksia

    • Suosittelemme käyttämään ./gradlew clean:tä jokaisen git pull:n jälkeen.

    • Testien ohittaminen lisäämällä gradle build -komentorivin loppuun -x test. Testit kestävät tyypillisesti 7-10 minuuttia Macbook Pro -kannettavassa, jossa on 4 prosessoria (8 hyperthreadia) ja 16 Gt RAM-muistia.

    • Smalldatan synkronointia ei vaadita jokaisen pullin jälkeen, mutta jos testit epäonnistuvat puuttuvien datatiedostojen vuoksi, kokeile ./gradlew syncSmalldata ensimmäisenä vianmääritysvaiheena. Smalldatan synkronointi lataa datatiedostot AWS S3:sta työtilan smalldata-hakemistoon. Synkronointi on inkrementaalinen. Älä tarkista näitä tiedostoja. Smalldata-hakemisto on .gitignore. Jos et suorita testejä, et tarvitse smalldata-hakemistoa.

    • Testien suorittaminen ./gradlew syncRPackages on tuettu Windowsissa, OS X:ssä ja Linuxissa, ja sitä suositellaan vahvasti, mutta sitä ei vaadita. ./gradlew syncRPackages varmistaa täydellisen ja johdonmukaisen ympäristön, jossa on valmiiksi hyväksytyt versiot testeissä ja rakennuksissa tarvittavista paketeista. Paketit voidaan asentaa manuaalisesti, mutta suosittelemme ENV-muuttujan asettamista ja ./gradlew syncRPackages:n käyttöä. Aseta ENV-muuttuja seuraavassa muodossa (jossa ${WORKSPACE} voi olla mikä tahansa polku):

      mkdir -p ${WORKSPACE}/Rlibraryexport R_LIBS_USER=${WORKSPACE}/Rlibrary

    Resepti 4: Pelkkä dokumenttien rakentaminen

    ./gradlew clean && ./gradlew build -x test && (export DO_FAST=1; ./gradlew dist)open target/docs-website/h2o-docs/index.html

    4.3. Rakenna dokumentit

    ./gradlew clean && ./gradlew build -x test && (export DO_FAST=1; ./gradlew dist)open target/docs-website/h2o-docs/index.html

    . Asennus Windowsissa

    Vaihe 1: Lataa ja asenna WinPython.

    Varmista komentoriviltä, että python käyttää juuri asennettua pakettia käyttämällä which python (tai sudo which python). Päivitä ympäristömuuttujaan WinPython-polku.

    Vaihe 2: Asenna tarvittavat Python-paketit:
    pip install grip 'colorama>=0.3.8' future tabulate wheel
    Vaihe 3: Asenna JDK

    Asenna Java 1.7 ja lisää asianmukainen hakemisto C:\Program Files\Java\jdk1.7.0_65\bin java.exe:n kanssa PATH:iin ympäristömuuttujissa. Varmista, että komentorivi tunnistaa oikean Java-version, suorittamalla:

    javac -version

    Myös CLASSPATH-muuttuja on asetettava JDK:n lib-alihakemistoon:

    CLASSPATH=/<path>/<to>/<jdk>/lib
    Vaihe 4. Suorita:

    CLASSPATH=/<path>/<to>/<jdk>/lib
    . Asenna Node.js

    Asenna Node.js ja lisää PATH:iin asennettu hakemisto C:\Program Files\nodejs, jossa on oltava node.exe ja npm.cmd, jos sitä ei ole jo valmiiksi lisätty.

    Vaihe 5. Asenna R, tarvittavat paketit ja Rtools:

    Asenna R ja lisää bin-hakemisto PATH:iin, jos se ei ole jo mukana.

    Asenna seuraavat R-paketit:

    • RCurl
    • jsonlite
    • statmod
    • devtools
    • roxygen2
    • testthat

    Asenna nämä paketit R-istunnosta:

    Huomaa, että libcurl tarvitaan RCurl R-paketin asennukseen.

    Huomaa, että nämä paketit eivät kata testien suorittamista, vaan ainoastaan H2O:n rakentamista varten.

    Asenna lopuksi Rtools, joka on kokoelma komentorivityökaluja helpottamaan R-kehitystä Windowsissa.

    Huomautus: Rtools-asennuksen aikana älä asenna Cygwin.dll:ää.

    Vaihe 6. Asenna Cygwin

    Huomautus: Cygwinin asennuksen aikana poista Python-pakettien valinta, jotta vältät ristiriidan Python.org-paketin kanssa.

    Vaihe 6b. Validoi Cygwin

    Jos Cygwin on jo asennettu, poista Python-paketit tai varmista, että PATH-muuttujassa Native Python on ennen Cygwiniä.

    Vaihe 7. Päivitä tai vahvista Windowsin PATH-muuttuja siten, että se sisältää R:n, Java JDK:n ja Cygwinin.
    Vaihe 8. Git-klooni h2o-3

    Jos sinulla ei vielä ole Git-asiakasohjelmaa, asenna sellainen. Oletuksena oleva löytyy täältä http://git-scm.com/downloads. Varmista, että komentokehotetuki on käytössä ennen asennusta.

    Lataa ja päivitä h2o-3:n lähdekoodit:

    git clone https://github.com/h2oai/h2o-3
    Vaihe 9. Tee se. Suorita ylimmän tason gradle-build:
    cd h2o-3./gradlew.bat build

    Jos havaitset virheitä, suorita uudelleen --stacktrace lisäohjeita puuttuvista riippuvuuksista.

    4.4. Suorita gradle build:

    cd h2o-3./gradlew.bat build

    . Asennus OS X:ssä

    Jos sinulla ei ole Homebrewia, suosittelemme sen asentamista. Se tekee pakettien hallinnasta helppoa OS X:lle.

    Vaihe 1. Asenna JDK

    Asenna Java 1.7. Voit varmistaa, että komentorivi tunnistaa oikean Java-version, suorittamalla:

    javac -version
    Vaihe 2. Asenna Node.js:

    Käyttämällä Homebrew:

    brew install node

    Muussa tapauksessa asenna NodeJS-sivustolta.

    Vaihe 3. Asenna R ja tarvittavat paketit:

    Asenna R ja lisää bin-hakemisto PATH:iin, jos se ei ole jo mukana.

    Asenna seuraavat R-paketit:

    • RCurl
    • jsonlite
    • statmod
    • devtools
    • roxygen2
    • testthat

    Asenna nämä paketit R-istunnosta:

    Huomaa, että libcurl tarvitaan RCurl R-paketin asennukseen.

    Huomaa, että nämä paketit eivät kata testien suorittamista, vaan ainoastaan H2O:n rakentamista varten.

    Vaihe 4. Asenna python ja tarvittavat paketit:

    Asenna python:

    brew install python

    Asenna pip-paketinhallinta:

    sudo easy_install pip

    Seuraavaksi asennetaan tarvittavat paketit:

    sudo pip install wheel requests 'colorama>=0.3.8' future tabulate 
    Vaihe 5. Git-klooni h2o-3

    OS X:ssä pitäisi olla jo asennettuna Git. Lataa ja päivitä h2o-3:n lähdekoodit:

    git clone https://github.com/h2oai/h2o-3
    Vaihe 6. Suorita ylimmän tason gradle build:
    cd h2o-3./gradlew build

    Huomaa: tavallisella koneella kaikkien testien suorittaminen voi kestää hyvin kauan (noin tunnin).

    Jos havaitset virheitä, suorita uudestaan --stacktrace lisäohjeita puuttuvista riippuvuussuhteista.

    4.5. Tee testit uudelleen. Asennus Ubuntu 14.04

    Vaihe 1. Asenna Node.js
    curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -sudo apt-get install -y nodejs
    Vaihe 2. Asenna JDK:

    Asenna Java 8. Asennusohjeet löytyvät täältä JDK:n asennus. Varmistaaksesi, että komentorivi tunnistaa oikean Java-version, suorita:

    javac -version
    Vaihe3. Asenna R ja tarvittavat paketit:

    Asennusohjeet löytyvät täältä R-asennus. Klikkaa ”Download R for Linux”. Klikkaa ”ubuntu”. Seuraa annettuja ohjeita.

    Asenna tarvittavat paketit noudattaen samoja ohjeita kuin OS X:lle edellä.

    Huomautus: Jos prosessi ei onnistu asentamaan RStudio Serveriä Linuxissa, suorita jompikumpi seuraavista:

    sudo apt-get install libcurl4-openssl-dev

    tai

    sudo apt-get install libcurl4-gnutls-dev

    Vaihe 4. Valitse RStudio Server. Git Clone h2o-3

    Jos sinulla ei vielä ole Git-asiakasta:

    sudo apt-get install git

    Lataa ja päivitä h2o-3:n lähdekoodit:

    git clone https://github.com/h2oai/h2o-3
    Vaihe 5. Suorita ylimmän tason gradle build:
    cd h2o-3./gradlew build

    Jos havaitset virheitä, suorita uudelleen käyttämällä --stacktrace lisäohjeita puuttuvista riippuvuuksista.

    Varmista, ettet suorita ajoa pääkäyttäjänä, sillä bower hylkää tällaisen ajon.

    4.6. Suorita gradle build:

    . Asennus Ubuntu 13.10:ssä

    Vaihe 1. Asenna Node.js
    curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -sudo apt-get install -y nodejs
    Vaiheet 2-4. Noudata vaiheita 2-4 Ubuntu 14.04 (yllä)

    4.7. Asenna CentOS 7

    5. H2O:n käynnistäminen rakentamisen jälkeen

    Käynnistääksesi H2O-klusterin paikallisesti suorita komentorivillä seuraava:

    java -jar build/h2o.jar

    Luettelo käytettävissä olevista käynnistysvaihtoehdoista JVM:n ja H2O:n käynnistysvaihtoehdoista (esim. -Xmx, -nthreads, -ip) on saatavana H2O:n käyttöoppaasta.

    6. Käynnistä H2O-klusteri paikallisesti. H2O:n rakentaminen Hadoopiin

    Esiasennetut H2O-on-Hadoop zip-tiedostot ovat saatavilla lataussivulla. Jokaisesta Hadoop-jakeluversiosta on erillinen zip-tiedosto h2o-3.

    Voidaksesi itse rakentaa H2O:n Hadoop-tuella asenna ensin sphinx for python: pip install sphinxAloita sitten rakentaminen kirjoittamalla ylätason h2o-3-hakemistosta seuraava:

    (export BUILD_HADOOP=1; ./gradlew build -x test)./gradlew dist

    Tämä luo hakemiston nimeltä ’target’ ja luo sinne zip-tiedostot. Huomaa, että BUILD_HADOOP on oletuskäyttäytyminen, kun käyttäjätunnus on jenkins (katso settings.gradle); muutoin sinun on pyydettävä sitä, kuten edellä on esitetty.

    Tuen lisääminen uudelle Hadoop-versiolle

    Kussakin Hadoop-versiossa on h2o-hadoop-hakemistossa build-hakemisto ajurille ja assembly-hakemisto fatjarille.

    Sinun täytyy:

    1. Lisää uusi ajurihakemisto ja kokoonpanohakemisto (kummassakin build.gradle-tiedosto) osoitteeseen h2o-hadoop
    2. Lisää nämä uudet projektit osoitteeseen h2o-3/settings.gradle
    3. Lisää uusi Hadoop-versio osoitteeseen HADOOP_VERSIONS in make-dist.sh
    4. Lisää uusi Hadoop-versio luetteloon h2o-dist/buildinfo.json

    Turvallinen käyttäjän henkilöityminen

    Hadoop tukee turvallista käyttäjän henkilöitymistä Java API:nsa kautta. Kerberos-tunnistautuneelle käyttäjälle voidaan sallia minkä tahansa käyttäjätunnuksen välittäminen, joka täyttää NameNoden core-site.xml-tiedostoon syötetyt määritetyt kriteerit. Tämä henkilöityminen koskee vain vuorovaikutusta Hadoopin API:n tai sitä tukevien Hadoopiin liittyvien palvelujen API:iden kanssa (tämä ei ole sama asia kuin siirtyminen kyseiseen käyttäjään alkuperäisessä koneessa).

    Suojatun käyttäjän henkilöitymisen määrittäminen (h2o:lle):

    1. Luo tai etsi välityskäyttäjänä käytettävä tunniste, jolla on rajoitettu tai ei lainkaan pääsyä HDFS:ään tai siihen liittyviin palveluihin; välityskäyttäjää tarvitsee käyttää vain käyttäjän henkilöitymiseen
    2. (Tarvitaan, jos ei käytetä h2odriver-ajuria) Jos ajuria ei käytetä (esim.esim. kirjoitit omaa koodia h2o:n API:ta vastaan käyttäen Hadoopia), tee tarvittavat koodimuutokset, jotta voit henkilöityä käyttäjäksi (katso org.apache.hadoop.security.UserGroupInformation)
    3. Lisää joko Ambari/Cloudera Managerissa tai suoraan NameNoden core-site.xml-tiedostossa 2/3 ominaisuutta käyttäjälle, jota haluamme käyttää välittäjänä (korvaa pelkällä käyttäjänimellä – ei täysimittaisella pääkäyttäjänimellä).
      • hadoop.proxyuser.<proxyusername>.hosts: isännät, joista proxy-käyttäjä saa suorittaa impersonoituja toimintoja voimassa olevan käyttäjän puolesta
      • hadoop.proxyuser.<proxyusername>.groups: ryhmät, joihin impersonoidun käyttäjän on kuuluttava, jotta impersonointi toimisi kyseisellä proxy-käyttäjällä
      • hadoop.proxyuser.<proxyusername>.users: käyttäjät, joista proxy-käyttäjä saa impersonoida
      • Esimerkki: <property> <name>hadoop.proxyuser.myproxyuser.hosts</name> <value>host1,host2</value> </property> <property> <name>hadoop.proxyuser.myproxyuser.groups</name> <value>group1,group2</value> </property> <property> <name>hadoop.proxyuser.myproxyuser.users</name> <value>user1,user2</value> </property>
    4. Käynnistä ydinpalvelut, kuten HDFS & YARN, uudelleen, jotta muutokset tulevat voimaan

    Impersonoituja HDFS-toimintoja voi tarkastella hdfs-auditointilokissa (’auth:PROXY’ pitäisi näkyä ugi=-kentässä niissä merkinnöissä, joissa tämä on mahdollista). YARN:n pitäisi vastaavasti näyttää ’auth:PROXY’ jossakin kohtaa Resource Manager UI:ssa.

    Käyttääksesi suojattua impersonointia h2o:n Hadoop-ajurilla:

    Katso ennen kuin tätä yritetään, katso kohta Risks with impersonation, below

    Kun käytät h2odriveria (esim.esim. ajettaessa hadoop jar ...:n kanssa), määritä -principal <proxy user kerberos principal>, -keytab <proxy user keytab path> ja -run_as_user <hadoop username to impersonate> muiden tarvittavien argumenttien lisäksi. Jos konfigurointi onnistui, välityskäyttäjä kirjautuu sisään ja henkilöityy -run_as_user niin kauan kuin kyseinen käyttäjä on sallittu joko users- tai groups-konfiguraatio-ominaisuudella (konfiguroitu edellä); tämän varmistaa HDFS & YARN, ei h2o:n koodi. Ajuri asettaa tehokkaasti tietoturvakontekstinsa impersonoiduksi käyttäjäksi, joten kaikki tuetut Hadoopin toiminnot suoritetaan kyseisenä käyttäjänä (esim. YARN, HDFS API:t tukevat turvallisesti impersonoituja käyttäjiä, mutta muut eivät välttämättä).

    Varotoimenpiteet, jotka on otettava, kun hyödynnetään turvallista impersonointia

    • Turvallisen impersonoinnin kohdekäyttötilanne on sovelluksia tai palveluita, jotka esiauthentifioivat käyttäjän ja käyttävät sitten (tässä tapauksessa) h2odriveriä kyseisen käyttäjän puolesta. H2O:n Steam on täydellinen esimerkki: auth-käyttäjä web-sovelluksessa SSL:n kautta, impersonoi tämä käyttäjä h2o YARN-säiliötä luotaessa.
    • Välittäjäkäyttäjällä pitäisi olla rajoitetut oikeudet Hadoop-klusterissa; tämä tarkoittaa, että hänellä ei saa olla oikeuksia käyttää dataa tai tehdä API-kutsuja. Tällä tavoin, jos se vaarantuu, sillä olisi valtuudet henkilöityä vain tiettyyn osajoukkoon klusterin käyttäjistä ja vain tietyistä koneista.
    • Käytä hadoop.proxyuser.<proxyusername>.hosts-ominaisuutta aina, kun se on mahdollista tai käytännöllistä.
    • Älä anna proxykäyttäjän salasanaa tai avaintaulukkoa sellaiselle käyttäjälle, jonka et halua henkilöityvän toiseksi käyttäjäksi (tämä on yleensä mikä tahansa käyttäjä). Henkilönimityksen tarkoitus ei ole antaa käyttäjien esiintyä toisina. Katso ensimmäinen kohta tyypillisestä käyttötapauksesta.
    • Rajoita käyttäjän sisäänkirjautuminen koneeseen, josta välitys tapahtuu, aina kun se on käytännöllistä.
    • Varmista, että välityskäyttäjän sisäänkirjautumiseen käytetty keytab on kunnolla suojattu ja että käyttäjät eivät voi kirjautua kyseisellä id:llä (esimerkiksi su:n kautta)
    • Ei koskaan aseta hadoop.välityskäyttäjäksi… {käyttäjät,ryhmät} arvoa ”*” tai ”hdfs”, ”yarn”, jne. Minkä tahansa käyttäjän salliminen henkilöitymään hdfs:ksi, yarn:ksi tai joksikin muuksi tärkeäksi käyttäjäksi/ryhmäksi on tehtävä äärimmäisen varovaisesti ja analysoitava vahvasti ennen kuin se sallitaan.

    Turvallisen henkilöitymisen riskit

    • Personoinnin suorittava tunniste voi vaarantua kuten mikä tahansa muukin käyttäjätunnus.
    • Minkä tahansa hadoop.proxyuser.<proxyusername>.{hosts,groups,users}-ominaisuuden asettaminen arvoon ’*’ voi lisätä tietoturvariskiä huomattavasti.
    • Kun käyttäjiä ei todenneta ennen ohjaimen käyttöä (kuten Steam tekee suojatun web-sovelluksen/API:n kautta), prosessin/järjestelmän auditoitavuus on vaikeaa.

    7. Sparkling Water

    Sparkling Water yhdistää kaksi avoimen lähdekoodin teknologiaa: Apache Spark ja H2O Machine Learning -alusta. Sen avulla H2O:n kehittyneiden algoritmien kirjasto, mukaan lukien Deep Learning, GLM, GBM, K-Means ja Distributed Random Forest, on käytettävissä Spark-työnkuluista. Spark-käyttäjät voivat valita kummankin alustan parhaat ominaisuudet koneoppimistarpeisiinsa. Käyttäjät voivat yhdistää Sparkin RDD API:n ja Spark MLLibin H2O:n koneoppimisalgoritmeihin tai käyttää H2O:ta Sparkista riippumatta mallinrakennusprosessiin ja jälkikäsitellä tulokset Sparkissa.

    Sparkling Water Resurssit:

    • Lataussivu valmiiksi rakennetuille paketeille
    • Sparkling Water GitHub-repository
    • README
    • Kehittäjän dokumentaatio

    8. Dokumentaatio

    Dokumentaation kotisivu

    Pääasiallinen H2O-dokumentaatio on H2O-käyttöopas. Käy osoitteessa http://docs.h2o.ai, jos haluat tutustua H2O-projektien dokumentaatioon ylimmällä tasolla.

    REST API -dokumentaation luominen

    Voit luoda REST API -dokumentaation seuraavilla komennoilla:

    Luodun dokumentaation oletussijainti on build/docs/REST.

    Jos rakentaminen epäonnistuu, kokeile gradlew clean ja sitten git clean -f.

    Bleeding edge -rakentamisen dokumentaatio

    Kunkin bleeding edge -yön rakentamisen dokumentaatio on saatavilla yön rakentamissivulla.

    9. Valitse . H2O:n siteeraaminen

    Jos käytät H2O:ta osana työnkulkuasi julkaisussa, siteeraa H2O-resurssisi (resurssisi) käyttämällä seuraavaa BibTex-merkintää:

    H2O-ohjelmisto

    Muotoiltuja H2O-ohjelmiston siteerausesimerkkejä:

    H2O-ohjelmiston vihkoset

    H2O:n algoritmivihkoja on saatavana dokumentaation kotisivulla.

    @Manual{h2o_booklet_name, title = {booklet_title}, author = {list_of_authors}, year = {year}, month = {month}, url = {link_url},}

    Muotoillut vihkoset lainausesimerkkejä:

    10. Tiekartta

    H2O 3.34.0.1 – Tammikuu 2021

    • Extended Isolation Forest Algorithm
    • Uplift Trees
    • Extracting & ranking feature interactions from GBM and XGBoost models
    • RuleFit MOJO, CoxPH MOJO
    • Tuki MOJO2-pisteytykselle
    • Grid-hakujen vikasietoisuus
    • Kubernetes-operaattori
    • Externalized XGBoost Kubernetes-klustereissa

    11. Yhteisö

    H2O:ta on vuosien varrella rakentanut suuri määrä avustajia sekä H2O.ai:ssa (yrityksessä) että laajemmassa avoimen lähdekoodin yhteisössä. Voit alkaa osallistua H2O:n kehittämiseen vastaamalla Stack Overflow -kysymyksiin tai tekemällä vikailmoituksia. Liity meihin!

    Tiimi & Sitoutujat

    SriSatish AmbatiCliff ClickTom KraljevicTomas NykodymMichal MalohlavaKevin NormoyleSpencer AielloAnqi FuNidhi MehtaArno CandelJosephine WangAmy WangMax SchloemerRay PeckPrithvi PrabhuBrandon HillJeff GamberaAriel RaoViraj ParmarKendall HarrisAnand AvatiJessica LanfordAlex TellezAllison WashburnAmy WangErik EckstrandNeeraja MadabhushiSebastian VidrioBen SabrinMatt DowleMark LandryErin LeDellAndrey SpiridonovOleg RogynskyyNick MartinNancy JordanNishant KaloniaNadine HussamiJeff CramerStacie SpreitzerVinod IyengarCharlene WindomParag SanghaviNavdeep GillLauren DiPernaAnmol BalMark ChanNick KarpovAvni WadhwaAshrith BarthurKaren HayrapetyanJo-fai ChowDmitry LarkoBranden MurrayJakub HavaWen PhanMagnus StensmoPasha StetsenkoAngela BartzMateusz DymczykMicah StubbsIvy WangTerone WardLeland WilkinsonWendy WongNikhil ShekharPavel PscheidlMichal KurkaVeronika MaurerovaJan SterbaJan JendrusakSebastien PoirierTomáš Frýda

    Neuvonantajat

    Tieteellinen neuvoa-antava toimikunta

    Stephen BoydRob TibshiraniTrevor Hastie

    Järjestelmät, data, tiedostojärjestelmät ja Hadoop

    Doug LeaChris PouliotDhruba Borthakur

    Sijoittajat

    Jishnu Bhattacharjee, Nexus Venture PartnersAnand Babu PeriasamyAnand RajaramanAsh BhardwajRakesh MathurMichael MarksEgbert BiermanRajesh Ambati

Vastaa

Sähköpostiosoitettasi ei julkaista.