h2oai / h2o-3
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:
- Klikkaa
Issues
-valikkoa - Klikkaa
Search for issues
- Klikkaa
- Luoaksesi ongelman (joko vian tai ominaisuuspyynnön), luo itsellesi ensin tili:
- Klikkaa
Log In
-painiketta näytön oikeassa yläkulmassa - Klikkaa
Create an acccount
lähellä kirjautumisruudun alareunaa - Kun olet luonut tilin ja kirjautunut sisään, käytä
Create
-painiketta valikossa luodaksesi ongelman - Luo H2O-3-ongelmia PUBDEV-projektissa. (Huomaa: Sparkling Water -kysymykset tulisi jättää SW-projektiin.)
- Klikkaa
- Voit myös äänestää ominaisuuspyynnöistä ja/tai muista kysymyksistä. Äänestäminen voi auttaa H2O:ta priorisoimaan kuhunkin julkaisuun sisällytettävät ominaisuudet.
- Mene H2O:n JIRA-sivulle.
- Klikkaa Kirjaudu sisään joko kirjautuaksesi sisään tai luodaksesi tilin, jos sinulla ei vielä ole sellaista.
- Hae ominaisuutta, jota haluat priorisoida, tai luo uusi ominaisuus.
- 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 riippuvuussuhteista4.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ä jokaisengit 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
(taisudo 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 sphinx
Aloita 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 onjenkins
(katsosettings.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:
- Lisää uusi ajurihakemisto ja kokoonpanohakemisto (kummassakin
build.gradle
-tiedosto) osoitteeseenh2o-hadoop
- Lisää nämä uudet projektit osoitteeseen
h2o-3/settings.gradle
- Lisää uusi Hadoop-versio osoitteeseen
HADOOP_VERSIONS
inmake-dist.sh
- 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):
- 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
- (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)
- 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>
-
- 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 sittengit 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