h2oai / h2o-3
A H2O egy memórián belüli platform az elosztott, skálázható gépi tanuláshoz. A H2O olyan ismerős felületeket használ, mint az R, Python, Scala, Java, JSON és a Flow notebook/web felület, és zökkenőmentesen együttműködik az olyan big data technológiákkal, mint a Hadoop és a Spark. A H2O számos népszerű algoritmus implementációját kínálja, mint például az általánosított lineáris modellek (GLM), Gradient Boosting Machines (beleértve az XGBoost), Random Forests, Deep Neural Networks, Stacked Ensembles, Naive Bayes, Generalized Additive Models (GAM), Cox Proportional Hazards, K-Means, PCA, Word2Vec, valamint egy teljesen automatikus gépi tanulási algoritmust (H2O AutoML).
A H2O bővíthető, így a fejlesztők hozzáadhatják az általuk választott adattranszformációkat és egyéni algoritmusokat, és hozzáférhetnek ezekhez az összes kliensen keresztül. A H2O modellek letölthetők és betölthetők a H2O memóriájába a pontozáshoz, vagy exportálhatók POJO vagy MOJO formátumba a termelésben történő rendkívül gyors pontozáshoz. További információ a H2O felhasználói kézikönyvben található.
A H2O-3 (ez a tároló) a H2O harmadik inkarnációja, és a H2O-2 utódja.
Tartalomjegyzék
- H2O-3 letöltése
- Nyílt forráskódú erőforrások
- Küldetéskövetés és funkcióigénylések
- H2O-források listája
- H2O-3 kódtárgyak (könyvtárak) használata
- H2O-építés
- H2O-3
- A H2O elindítása az építés után
- A H2O építése a Hadoopon
- Pezsgő víz
- Dokumentáció
- Hivatkozás a H2O-ra
- Útiterv
- Közösség / Tanácsadók / Befektetők
1. A H2O-3 letöltése
Míg ennek a README-nek a nagy része olyan fejlesztők számára íródott, akik saját buildeket készítenek, a legtöbb H2O felhasználó csak letölti és használja az előre elkészített verziót. Ha Python vagy R felhasználó vagy, a H2O-t legegyszerűbben a PyPI vagy az Anaconda (Python esetében) vagy a CRAN (R esetében) segítségével telepítheted:
Python
pip install h2o
R
install.packages("h2o")
A H2O letöltésével & telepítésével kapcsolatos további információk a H2O felhasználói kézikönyvben találhatók.
2. A H2O letölthető &. Nyílt forráskódú erőforrások
A legtöbb ember három vagy négy elsődleges nyílt forráskódú erőforrással áll kapcsolatban: GitHub (amit már megtaláltál), JIRA (hibajelentésekhez és problémakövetéshez), Stack Overflow a H2O kód/szoftver-specifikus kérdésekhez, és h2ostream (egy Google csoport / e-mail vitafórum) a Stack Overflow-ra nem alkalmas kérdésekhez. Van egy Gitter H2O fejlesztői csevegőcsoport is, azonban archiválási célokból & a hozzáférhetőség maximalizálása érdekében a szokásos H2O Q&A-t inkább a Stack Overflow-n szeretnénk lebonyolítani.
2.1 Problémakövetés és funkcióigénylések
(Megjegyzés: A projektben csak egy problémakövetési rendszer van. A GitHub problémák nem engedélyezettek; a JIRA-t kell használni.)
A nyílt forráskódú JIRA rendszerünkben böngészhet és új problémákat hozhat létre: http://jira.h2o.ai
- A JIRA rendszerbe való bejelentkezés nélkül is böngészhet és kereshet problémákat:
- Kattintson a
Issues
menüre - Kattintson a
Search for issues
- Kattintson a
- Hozzanak létre egy problémát (akár hibát, akár funkciókérést), kérjük, először hozzanak létre egy fiókot:
- Kattintson a
Log In
gombra a képernyő jobb felső sarkában - Kattintson a
Create an acccount
gombra a bejelentkezési mező aljánál - Mihelyt létrehozott egy fiókot és bejelentkezett, használja a
Create
gombot a menüben egy probléma létrehozásához - H2O-3 problémák létrehozása a PUBDEV projektben. (Megjegyzés: A szikvízzel kapcsolatos kérdéseket az SW projekt alá kell iktatni.)
- Kattintson a
- A funkcióigénylésekre és/vagy egyéb problémákra is szavazhat. A szavazás segíthet a H2O-nak az egyes kiadásokban szereplő funkciók rangsorolásában.
- Menjen a H2O JIRA oldalára.
- Kattintson a Bejelentkezés gombra a bejelentkezéshez vagy fiók létrehozásához, ha még nem rendelkezik fiókkal.
- Keresze meg azt a funkciót, amelyet prioritásként szeretne kezelni, vagy hozzon létre egy új funkciót.
- Kattintson a Szavazás erre a kérdésre linkre. Ez a kérdés jobb oldalán, az Emberek rész alatt található.
2.2 A H2O erőforrások listája
3. A H2O-3 leletek használata
Minden éjszakai build R, Python, Java és Scala leleteket tesz közzé egy build-specifikus repositoryban. Különösen a Java artefaktokat a maven/repo könyvtárban találja meg.
Itt egy példa egy gradle build fájlból, amely a h2o-3 függőséget használja. Helyettesítse az x, y, z és nnnn értékeket érvényes számokkal.
Hivatkozzon a legújabb H2O-3 bleeding edge nightly build oldalra az éjszakai build artefaktumok telepítésével kapcsolatos információkért.
Hivatkozzon a h2o-droplets GitHub-tárra egy működő példáért, amely a Java artefaktumok gradle-vel való használatát mutatja be.
Figyelem: A stabil H2O-3 artefaktok rendszeresen megjelennek a Maven Centralban (kattintson ide a kereséshez), de jelentősen elmaradhatnak a H2O-3 Bleeding Edge éjszakai buildjeihez képest.
4. A H2O-3 építése
A H2O-fejlesztés megkezdéséhez JDK 1.7, Node.js, Gradle, Python és R szükséges. A Gradle wrapper (gradlew
néven) segítségével biztosíthatjuk, hogy a Gradle és más függőségek naprakész helyi verziói telepítve legyenek a fejlesztői könyvtárunkban.
4.1. A H2O-3 építése
A H2O-fejlesztés megkezdéséhez JDK 1.7, Node.js, Gradle, Python és R szükségesek. Építés előtt
A h2o
építéséhez megfelelően beállított R környezetre van szükség a szükséges csomagokkal és Python környezetre a következő csomagokkal:
gripcoloramafuturetabulaterequestswheel
A csomagok telepítéséhez használhatja a pip vagy a conda programot.
Ha gondot okoz a csomagok telepítése Windowson, kérjük, kövesse az útmutató Setup on Windows szakaszát.
(Megjegyzés: Ajánlott valamilyen virtuális környezet, például VirtualEnv használata az összes csomag telepítéséhez. )
4.2. Építés parancssorból (Gyorstalpaló)
A H2O építéséhez a tárolóból a következő lépéseket kell végrehajtani.
1. recept: Friss klónozás, építés, tesztek kihagyása és a H2O futtatása
2. recept: Friss klónozás, építés és tesztek futtatása (az R működő telepítése szükséges)
git clone https://github.com/h2oai/h2o-3.gitcd h2o-3./gradlew syncSmalldata./gradlew syncRPackages./gradlew build
Megjegyzések:
- A tesztek futtatása öt teszt-JVM-et indít, amelyek egy H2O fürtöt alkotnak, és legalább 8 GB RAM-ot (lehetőleg 16 GB RAM-ot) igényel.
- A
./gradlew syncRPackages
futtatása Windows, OS X és Linux alatt is támogatott, és erősen ajánlott, de nem kötelező. A./gradlew syncRPackages
teljes és konzisztens környezetet biztosít a tesztekhez és a buildekhez szükséges csomagok előre jóváhagyott verzióival. A csomagok manuálisan is telepíthetők, de javasoljuk egy ENV változó beállítását és a./gradlew syncRPackages
használatát. Az ENV változó beállításához használja a következő formátumot (ahol a `${WORKSPACE} bármilyen elérési útvonal lehet):mkdir -p ${WORKSPACE}/Rlibraryexport R_LIBS_USER=${WORKSPACE}/Rlibrary
3. recept: Pull, clean, build, and run tests
git pull./gradlew syncSmalldata./gradlew syncRPackages./gradlew clean./gradlew build
Megjegyzések
Minden
git pull
után a./gradlew clean
használatát javasoljuk.A tesztek kihagyása a gradle build parancssor végén
-x test
hozzáadásával. A tesztek általában 7-10 percig futnak egy Macbook Pro laptopon 4 CPU-val (8 hyperthread) és 16 GB RAM-mal.A smalldata szinkronizálása nem szükséges minden pull után, de ha a tesztek a hiányzó adatfájlok miatt sikertelenek, akkor próbálja ki a
./gradlew syncSmalldata
-t első hibaelhárítási lépésként. A smalldata szinkronizálása letölti az adatfájlokat az AWS S3-ról a munkaterületén található smalldata könyvtárba. A szinkronizálás inkrementális. Ne ellenőrizze be ezeket a fájlokat. A smalldata könyvtár a .gitignore könyvtárban van. Ha nem futtat teszteket, nincs szüksége a smalldata könyvtárra.A
./gradlew syncRPackages
futtatása támogatott Windows, OS X és Linux rendszereken, és erősen ajánlott, de nem kötelező. A./gradlew syncRPackages
teljes és konzisztens környezetet biztosít a tesztekhez és a buildekhez szükséges csomagok előre jóváhagyott verzióival. A csomagok manuálisan is telepíthetők, de javasoljuk egy ENV változó beállítását és a./gradlew syncRPackages
használatát. Az ENV változó beállításához használja a következő formátumot (ahol a${WORKSPACE}
bármilyen elérési útvonal lehet):mkdir -p ${WORKSPACE}/Rlibraryexport R_LIBS_USER=${WORKSPACE}/Rlibrary
4. recept: Csak a dokumentáció építése
./gradlew clean && ./gradlew build -x test && (export DO_FAST=1; ./gradlew dist)open target/docs-website/h2o-docs/index.html
4.3. A dokumentáció építése
./gradlew clean && ./gradlew build -x test && (export DO_FAST=1; ./gradlew dist)open target/docs-website/h2o-docs/index.html
. Telepítés Windowson
1. lépés: Töltse le és telepítse a WinPython-t.
A parancssorból a
which python
(vagysudo which python
) segítségével ellenőrizze, hogypython
az újonnan telepített csomagot használja. Frissítse a Környezeti változót a WinPython elérési útvonalával.2. lépés: Telepítse a szükséges Python csomagokat:
pip install grip 'colorama>=0.3.8' future tabulate wheel
3. lépés: JDK telepítése
Telepítse a Java 1.7-et és adja hozzá a megfelelő
C:\Program Files\Java\jdk1.7.0_65\bin
könyvtárat a java.exe-vel a PATH-hoz a Környezeti változókban. Hogy megbizonyosodjunk arról, hogy a parancssor a megfelelő Java verziót észleli, futtassuk:javac -version
A CLASSPATH változót is be kell állítani a JDK lib almappájába:
CLASSPATH=/<path>/<to>/<jdk>/lib
4. lépés. A Node.js telepítése
Telepítse a Node.js-t, és adja hozzá a PATH-hoz a telepített
C:\Program Files\nodejs
könyvtárat, amelynek tartalmaznia kell a node.exe és az npm.cmd állományt, ha még nincs előtte.5. lépés. Telepítse az R-t, a szükséges csomagokat és az Rtools-t:
Telepítse az R-t, és adja hozzá a bin könyvtárat a PATH-hoz, ha még nincs benne.
Telepítse a következő R csomagokat:
- RCurl
- jsonlite
- statmod
- devtools
- roxygen2
- testthat
Ezek a csomagok R munkamenetből történő telepítéséhez:
Megjegyezzük, hogy a libcurl szükséges az RCurl R csomag telepítéséhez.
Megjegyezzük, hogy ezek a csomagok nem terjednek ki a tesztek futtatására, csak a H2O építéséhez.
Végül telepítsük az Rtools-t, amely egy parancssori eszközökből álló gyűjtemény az R fejlesztés megkönnyítésére Windowson.
MEGJEGYZÉS: Az Rtools telepítése során ne telepítsük a Cygwin.dll-t.
6. lépés. A Cygwin telepítése
FIGYELEM: A Cygwin telepítése során törölje a Python csomagok kiválasztását, hogy elkerülje a Python.org csomaggal való konfliktust.
6b. lépés. A Cygwin ellenőrzése
Ha a Cygwin már telepítve van, távolítsa el a Python csomagokat, vagy győződjön meg arról, hogy a PATH változóban a Native Python a Cygwin előtt van.
7. lépés. Frissítse vagy ellenőrizze a Windows PATH változóját, hogy az tartalmazza az R, Java JDK, Cygwin csomagokat.
8. lépés. Git klónozása h2o-3
Ha még nincs Git kliense, akkor telepítsen egyet. Az alapértelmezettet itt találja http://git-scm.com/downloads. Győződjön meg róla, hogy a telepítés előtt engedélyezve van a parancssor támogatása.
Töltse le és frissítse a h2o-3 forráskódjait:
git clone https://github.com/h2oai/h2o-3
9. lépés. Futtassa a legfelső szintű gradle buildet:
cd h2o-3./gradlew.bat build
Ha hibákat észlel, futtassa újra a
--stacktrace
további utasításokért a hiányzó függőségekkel kapcsolatban.4.4. Futtassa le a felső szintű gradle buildet:
cd h2o-3./gradlew.bat build
. Beállítás OS X operációs rendszeren
Ha nincs Homebrew, javasoljuk a telepítését. Ez megkönnyíti az OS X csomagkezelését.
1. lépés. JDK telepítése
Telepítse a Java 1.7-et. Hogy megbizonyosodjon arról, hogy a parancssor a megfelelő Java-verziót észleli, futtassa:
javac -version
2. lépés. Telepítse a Node.js-t:
A Homebrew használatával:
brew install node
Máskülönben telepítse a NodeJS weboldaláról.
3. lépés. Telepítse az R-t és a szükséges csomagokat:
Telepítse az R-t és adja hozzá a bin könyvtárat a PATH-hoz, ha még nincs benne.
Telepítse a következő R csomagokat:
- RCurl
- jsonlite
- statmod
- devtools
- roxygen2
- testthat
Ezek a csomagok R munkamenetből történő telepítéséhez:
Megjegyezzük, hogy a libcurl szükséges az RCurl R csomag telepítéséhez.
Megjegyezzük, hogy ezek a csomagok nem fedik le a tesztek futtatását, csak a H2O építésére szolgálnak.
4. lépés. Telepítse a pythont és a szükséges csomagokat:
Telepítse a pythont:
brew install python
Telepítse a pip csomagkezelőt:
sudo easy_install pip
Majd telepítse a szükséges csomagokat:
sudo pip install wheel requests 'colorama>=0.3.8' future tabulate
5. lépés. Git klónozása h2o-3
Az OS X-en már telepítve kell lennie a Gitnek. A h2o-3 forráskódok letöltése és frissítése:
git clone https://github.com/h2oai/h2o-3
6. lépés. Futtassa a legfelső szintű gradle buildet:
cd h2o-3./gradlew build
Figyelem: egy átlagos gépen nagyon sokáig (kb. egy óráig) eltarthat, amíg az összes teszt lefut.
Ha hibákat tapasztal, futtassa újra a
--stacktrace
további utasításokat a hiányzó függőségekről.4.5. Az összes teszt lefutása. Beállítás Ubuntu 14.04
Ubuntu 14.04
1. lépés. A Node.js telepítése
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -sudo apt-get install -y nodejs
2. lépés. JDK telepítése:
Telepítse a Java 8-at. A telepítési utasítások itt találhatók JDK telepítése. Hogy megbizonyosodjon arról, hogy a parancssor a megfelelő Java verziót észleli, futtassa:
javac -version
3. lépés. Telepítse az R-t és a szükséges csomagokat:
A telepítési utasításokat itt találja: R telepítése. Kattintson a “Download R for Linux” gombra. Kattintson az “ubuntu” lehetőségre. Kövesse a megadott utasításokat.
A szükséges csomagok telepítéséhez kövesse ugyanazokat az utasításokat, mint az OS X esetében fentebb.
Megjegyzés: Ha a folyamat nem sikerül az RStudio Server telepítése Linuxon, futtassa a következők egyikét:
sudo apt-get install libcurl4-openssl-dev
vagy
sudo apt-get install libcurl4-gnutls-dev
4. lépés. Git Clone h2o-3
Ha még nincs Git kliensed:
sudo apt-get install git
Töltsd le és frissítsd a h2o-3 forráskódokat:
git clone https://github.com/h2oai/h2o-3
5. lépés. Futtassa a legfelső szintű gradle buildet:
cd h2o-3./gradlew build
Ha hibákat észlel, futtassa újra a
--stacktrace
segítségével a hiányzó függőségekkel kapcsolatos további utasításokért.Győződjön meg róla, hogy nem root felhasználóként fut, mivel a
bower
elutasítja az ilyen futtatást.4.6. A következő lépéseket kell végrehajtani:
4.6. Futtassa újra a gradle buildet. Beállítás Ubuntu 13.10
1. lépés. A Node.js telepítése
curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -sudo apt-get install -y nodejs
2-4. lépés. Kövesse a 2-4. lépést az Ubuntu 14.04 (fenti)
4.7. Ubuntu 14.04 esetében. Telepítés CentOS 7
rendszeren 5. A H2O indítása az építés után
A H2O fürt helyi indításához a parancssoron hajtsa végre a következőket:
java -jar build/h2o.jar
A rendelkezésre álló indítási JVM és H2O opciók (pl. -Xmx
, -nthreads
, -ip
) listáját a H2O felhasználói kézikönyvben találja.
6. A H2O fürt helyi indítása. H2O építése Hadoopra
A H2O-on-Hadoop előre elkészített zip-fájljai a letöltési oldalon érhetők el. Minden egyes Hadoop disztribúciós verzióhoz külön zip fájl tartozik a h2o-3.
A H2O Hadoop-támogatással történő saját építéséhez először telepítse a sphinx for python-t: pip install sphinx
Aztán indítsa el a buildet a következő beírással a legfelső szintű h2o-3 könyvtárból:
(export BUILD_HADOOP=1; ./gradlew build -x test)./gradlew dist
Ez létrehoz egy ‘target’ nevű könyvtárat, és ott zip fájlokat generál. Vegye figyelembe, hogy a BUILD_HADOOP
az alapértelmezett viselkedés, ha a felhasználónév jenkins
(lásd settings.gradle
); egyébként a fentiek szerint kérnie kell.
Támogatás hozzáadása a Hadoop új verziójához
A h2o-hadoop
könyvtárban minden Hadoop verziónak van egy build könyvtára a driverhez és egy assembly könyvtára a fatjarhoz.
Az alábbiakra van szüksége:
- Adjon hozzá egy új meghajtókönyvtárat és egy assembly könyvtárat (mindegyikben egy
build.gradle
fájl) ah2o-hadoop
- Adja hozzá ezeket az új projekteket a
h2o-3/settings.gradle
- Adja hozzá az új Hadoop verziót a
h2o-3/settings.gradle
- Hadoop könyvtárhoz.
HADOOP_VERSIONS
amake-dist.sh
- Adja hozzá az új Hadoop verziót a
h2o-dist/buildinfo.json
Biztonságos felhasználói megszemélyesítés
A Hadoop támogatja a biztonságos felhasználói megszemélyesítést a Java API-n keresztül. Egy kerberos-hitelesített felhasználó számára engedélyezhető bármely olyan felhasználónév helyettesítése, amely megfelel a NameNode core-site.xml fájljában megadott kritériumoknak. Ez a megszemélyesítés csak a Hadoop API-val vagy a Hadoophoz kapcsolódó, azt támogató szolgáltatások API-jaival való interakciókra vonatkozik (ez nem azonos azzal, hogy a származási gépen átváltunk erre a felhasználóra).
Biztonságos felhasználói megszemélyesítés beállítása (h2o esetén):
- Hozzon létre vagy keressen egy proxyként használandó azonosítót, amely korlátozott vagy semmilyen hozzáféréssel nem rendelkezik a HDFS-hez vagy a kapcsolódó szolgáltatásokhoz; a proxy felhasználót csak egy felhasználó megszemélyesítésére kell használni
- (Kötelező, ha nem használja a h2odriver-t) Ha nem használja a meghajtót (pl.pl. saját kódot írt a h2o API-ja ellen a Hadoop segítségével), végezze el a szükséges kódmódosításokat a felhasználók megszemélyesítéséhez (lásd org.apache.hadoop.security.UserGroupInformation)
- Az Ambari/Cloudera Managerben vagy közvetlenül a NameNode core-site.xml fájljában adjunk hozzá 2/3 tulajdonságot annak a felhasználónak, akit proxy-ként szeretnénk használni (helyettesítsük az egyszerű felhasználónévvel – nem a teljesen minősített főnévvel).
-
hadoop.proxyuser.<proxyusername>.hosts
: azok a hosztok, amelyekről a proxy felhasználó érvényes felhasználó nevében megszemélyesített műveleteket végezhet -
hadoop.proxyuser.<proxyusername>.groups
: azok a csoportok, amelyekhez a megszemélyesített felhasználónak tartoznia kell ahhoz, hogy a megszemélyesítés működjön az adott proxy felhasználóval -
hadoop.proxyuser.<proxyusername>.users
: azok a felhasználók, akiket a proxy felhasználó megszemélyesíthet - Példa:
<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>
-
- Újra kell indítani az alapvető szolgáltatásokat, például a HDFS & YARN-t, hogy a változások hatályba lépjenek
A megszemélyesített HDFS műveleteket a hdfs audit naplóban lehet megtekinteni (‘auth:PROXY’ kell, hogy megjelenjen a ugi=
mezőben azokban a bejegyzésekben, ahol ez alkalmazható). A YARN-nek hasonlóképpen az ‘auth:PROXY’-t kell megjelenítenie valahol az erőforrás-kezelő felhasználói felületén.
A biztonságos megszemélyesítés használatához a h2o Hadoop-illesztőprogrammal:
Mielőtt ezt megkísérelné, lásd a megszemélyesítéssel kapcsolatos kockázatok alább
A h2odriver használatakor (pl.pl. hadoop jar ...
futtatásakor), adjuk meg a -principal <proxy user kerberos principal>
, -keytab <proxy user keytab path>
és -run_as_user <hadoop username to impersonate>
paramétereket, minden más szükséges argumentumon kívül. Ha a konfiguráció sikeres volt, a proxy felhasználó bejelentkezik és megszemélyesíti a -run_as_user
-t, amennyiben az adott felhasználó számára engedélyezve van akár a users, akár a groups konfigurációs tulajdonságban (fentebb konfigurálva); ezt a HDFS & YARN kényszeríti ki, nem a h2o kódja. Az illesztőprogram gyakorlatilag a megszemélyesített felhasználónak állítja be a biztonsági kontextusát, így minden támogatott Hadoop műveletet az adott felhasználóként fog végrehajtani (pl. a YARN, HDFS API-k támogatják a biztonságosan megszemélyesített felhasználókat, de mások esetleg nem).
Óvatosság a biztonságos megszemélyesítés kihasználásakor
- A biztonságos megszemélyesítés célfelhasználási esete olyan alkalmazások vagy szolgáltatások, amelyek előzetesen hitelesítenek egy felhasználót, majd (ebben az esetben) a h2odriver-t használják a felhasználó nevében. A H2O Steam tökéletes példa: SSL-en keresztül hitelesíti a felhasználót a webalkalmazásban, megszemélyesíti ezt a felhasználót a h2o YARN konténer létrehozásakor.
- A proxy felhasználónak korlátozott jogosultságokkal kell rendelkeznie a Hadoop fürtben; ez azt jelenti, hogy nincs jogosultsága adatokhoz való hozzáférésre vagy API-hívásokra. Ily módon kompromittálódás esetén csak a fürtben lévő felhasználók egy meghatározott részhalmazát és csak meghatározott gépekről lenne képes megszemélyesíteni.
- Ahol csak lehetséges vagy célszerű, használja a
hadoop.proxyuser.<proxyusername>.hosts
tulajdonságot. - Ne adja meg a proxyusername jelszavát vagy keytabját olyan felhasználónak, akit nem akar megszemélyesíteni egy másik felhasználó (ez általában bármilyen felhasználó). A megszemélyesítés lényege nem az, hogy a felhasználók egymást megszemélyesíthessék. A tipikus felhasználási eseteket lásd az első pontban.
- Ahol csak lehetséges, korlátozza a felhasználók bejelentkezését arra a gépre, amelyről a proxyrendezés történik.
- Győződjön meg róla, hogy a proxy felhasználó bejelentkezésére használt keytab megfelelően védett, és hogy a felhasználók nem tudnak bejelentkezni ezzel az azonosítóval (például a
su
-n keresztül) - Nem állítsa a hadoop.proxyuser..{users,groups} értékét ‘*’-ra’ vagy ‘hdfs’-re, ‘yarn’-ra stb. A hdfs, yarn vagy bármely más fontos felhasználó/csoport megszemélyesítésének engedélyezése csak rendkívül óvatosan és erősen elemezve történhet, mielőtt engedélyeznénk.
A biztonságos megszemélyesítés kockázatai
- A megszemélyesítést végző azonosító ugyanúgy kompromittálható, mint bármely más felhasználói azonosító.
- Minden
hadoop.proxyuser.<proxyusername>.{hosts,groups,users}
tulajdonság ‘*’-ra állítása nagymértékben növelheti a biztonsági kockázatot. - Ha a felhasználókat nem hitelesítik, mielőtt az illesztőprogrammal használják őket (pl. ahogy a Steam teszi egy biztonságos webes alkalmazáson/API-n keresztül), a folyamat/rendszer ellenőrizhetősége nehézkes.
7. Sparkling Water
A Sparkling Water két nyílt forráskódú technológiát kombinál: Az Apache Sparkot és a H2O gépi tanulási platformot. A H2O fejlett algoritmusok könyvtárát, köztük a Deep Learning, GLM, GBM, K-Means és Distributed Random Forest algoritmusokat teszi elérhetővé a Spark munkafolyamatokból. A Spark-felhasználók bármelyik platformból kiválaszthatják a legjobb funkciókat a gépi tanulással kapcsolatos igényeiknek megfelelően. A felhasználók kombinálhatják a Spark RDD API-ját és a Spark MLLib-et a H2O gépi tanulási algoritmusaival, vagy a Sparktól függetlenül használhatják a H2O-t a modellépítési folyamathoz, és az eredményeket utólag feldolgozhatják a Sparkban.
Sparkling Water Források:
- Az előre elkészített csomagok letöltési oldala
- Sparkling Water GitHub tároló
- README
- Developer documentation
8. Dokumentáció
Dokumentáció honlap
A H2O fő dokumentációja a H2O felhasználói kézikönyv. Látogasson el a http://docs.h2o.ai oldalra a H2O projektek dokumentációjának legfelső szintű bevezetéséhez.
REST API dokumentáció generálása
A REST API dokumentáció generálásához használja a következő parancsokat:
A generált dokumentáció alapértelmezett helye a build/docs/REST
.
Ha a build sikertelen, próbálja meg a gradlew clean
, majd a git clean -f
helyet.
Bleeding edge build dokumentáció
A dokumentáció minden egyes éjszakai bleeding edge buildhez elérhető az éjszakai build oldalon.
9. Az egyes éjszakai buildek dokumentációja
. A H2O
Ha a H2O-t a munkafolyamat részeként használja egy publikációban, akkor a H2O erőforrás(ok)ra a következő BibTex bejegyzéssel hivatkozzon:
H2O szoftver
Formázott H2O szoftver idézési példák:
H2O füzetek
A H2O algoritmusfüzetek a Dokumentáció honlapon érhetők el.
@Manual{h2o_booklet_name, title = {booklet_title}, author = {list_of_authors}, year = {year}, month = {month}, url = {link_url},}
Formázott füzetek idézési példái:
10. Útiterv
H2O 3.34.0.1 – 2021. január
- Extended Isolation Forest Algorithm
- Uplift Trees
- Extracting & ranking feature interactions from GBM and XGBoost models
- RuleFit MOJO, CoxPH MOJO
- Támogatás a MOJO2 pontozáshoz
- Grid-keresési hibatűrés
- Kubernetes operátor
- Externalizált XGBoost Kubernetes fürtökön
11. Közösség
A H2O-t rengeteg közreműködő építette az évek során mind a H2O.ai (a vállalat), mind a nagyobb nyílt forráskódú közösségen belül. A H2O-hoz való hozzájárulást a Stack Overflow kérdések megválaszolásával vagy hibajelentések benyújtásával kezdheti el. Kérjük, csatlakozzon hozzánk!
Csapat & Committers
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
Tanácsadók
Tudományos tanácsadó testület
Stephen BoydRob TibshiraniTrevor Hastie
Rendszerek, adatok, fájlrendszerek és Hadoop
Doug LeaChris PouliotDhruba Borthakur
Befektetők
Jishnu Bhattacharjee, Nexus Venture PartnersAnand Babu PeriasamyAnand RajaramanAsh BhardwajRakesh MathurMichael MarksEgbert BiermanRajesh Ambati