独自のプログラムレベルを向上させたい、我々は参加するLinux環境をいじるようになったアリ・天池FLINKの競争を。
ただ、cygwinの内側の窓を開始したいcompileTpcds.sh実行中/自宅で見つかった結果/ Hadoopの/ FLINK-コミュニティ/リソース/のTPCD gccを見つけて作るように求めた後、データ生成をコンパイルし、インストールCygwinのgccのインストールインタフェースインストールが完了した後、ディレクトリは、実行するエラーの結果を急ぎます。
エラー次のように:
= 64 -D_LARGEFILE_SOURCE -DYYDEBUG -D_FILE_OFFSET_BITS GCC -DLINUX -C -g -Wall -o mkheader.o mkheader.c mkheader.cからファイルに含ま:37:0: porting.h:46である:10:致命的なエラー:値。 H:そのようなファイルやディレクトリ の#include <values.h> ^ ~~~~~~~~~ コンパイル中断。 作る:*** [<建て>:mkheader.o]エラー1。 compileTpcds.sh:行40:./dsdgen:いいえファイルまたはディレクトリSUCH compileTpcds.sh:41行目です:./dsqgen:いいえファイルまたはディレクトリSUCH CP: '/ cygdriveの/ D / javaProgram /取得できませんホーム/ Hadoopの/ FLINK-コミュニティPERF /リソース/のTPCD /のTPCD-ツール/ツール/ dsdgen' ノーファイルまたはディレクトリSUCH:ファイルのステータス(STAT) CP:取得することができません「/cygdrive/d/javaProgram/home/hadoop/flink-community-perf/resource/tpcds/tpc-ds-tool/tools/tpcds.idx」ファイルのステータス(STAT):そのようなファイルまたはディレクトリ CP:取得することができません'/ cygdriveの/ D / javaProgram /ホーム/ Hadoopの/ FLINK-コミュニティPERF /リソース/のTPCD /のTPCD-ツール/ツール/ dsqgen' ファイルのステータス(STAT):そのようなファイルまたはディレクトリ CP:「/cygdrive/d/javaProgram/home/hadoop/flink-community-perf/resource/tpcds/tpc-ds-tool/tools/tpcds.idx」ファイルのステータス(STAT)を取得することはできません:そのようなファイルないか、またはディレクトリ chmodコマンド: '/ cygdriveの/ D / javaProgram /ホーム/ Hadoopの/ FLINKコミュニティコミュニティパーフォレーション/リソース/のTPCD / querygen / dsqgen'にアクセスすることはできません:そのようなファイルのディレクトリや コンパイルSUCCESSを...
唯一の彼らのWindowsマシンドッキングウィンドウのツールボックスをインストールするには、ドッキングウィンドウを実行するとUbuntuの仮想環境へ。
ダウンロードはありません、以下のコマンドを実行し、仮想ドッキングウィンドウにsshを、その後、スピードアップするために、環境に言及または仮想マシン内の窓にし、通常の遅いドッキングウィンドウのコンテナではありません
sudoのSED -i "S | EXTRA_ARGS = '| EXTRA_ARGS =' - レジストリ・ミラー=のhttp://f1361db2.m.daocloud.io | G" は/ var / libに/ boot2docker /プロフィール
(Http://f1361db2.m.daocloud.ioもアリ雲アドレスに自分自身を取得するために変更されます)
(また、タイプ{「レジストリミラー」:[「https://registry.docker-cn.com」]}、ドッカー/etc/docker/daemon.jsonにおける新しい環境前に述べた後、サービスは、画像を変更することができ、再起動しますアドレス。私が試した、物理マシンを仮想マシンドッキングウィンドウデーモンサービス内で開くことができない、理由はツールボックスではありません知っているし、このメソッドを使用しないでください。)
ミラーへのアドレス設定後、ドッキングウィンドウマシンの再起動のデフォルトを実行している物理マシンには、設定を有効にすることができます。コンテナを実行するために、ドッキングウィンドウの実行-itd -P rikorose / GCC-cmakeのはgccを実行し、その後、ドッキングウィンドウプルrikorose / GCC-cmakeの:gccのドッキングウィンドウは、このイメージを引っ張る使用して、ドッキングウィンドウの検索gccがrikorose / GCC-cmakeのミラーリング見つける使用した後。
実行は、コンテナにドッキングウィンドウ<コンテナ名> execが-it / binに/ bashの後の入力指示ドッキングウィンドウの開始<コンテナ名>の後に、コンテナを閉じる必要とする場合
これは、ファイルを転送するため、psの実行指示をドッキングウィンドウべきです(コンテナがドッキングウィンドウは、ps -aを使用するように閉じられている場合)
ドッキングウィンドウの@デフォルト:〜$]ドッキングウィンドウのPS CONTAINER ID画像COMMAND CREATED STATUSポートの名称 c6b71328afa8 rikorose / GCC-cmakeの"bashの" 7日前まで5時間serene_noyce
次の命令があるので、ここでコンテナの名前が知られているserene_noyce、ドッカー「は{{.ID}}」serene_noyceを-f検査(図3に示すように、第四のパラメータの操作は、フィルタパラメータ、又は演算結果のパラメータスタックです)
ドッキングウィンドウの@デフォルト:〜$]ドッキングウィンドウが-f検査'{{.ID}}' serene_noyce c6b71328afa828c9e4c62ac37dd9dede538c3999355189e44218290a2ae885d3
次のステップは、ドッキングウィンドウのcpコマンドを使用して、プロジェクト内の「マイフォト」は、物理マシンに置くことです。
ドッキングウィンドウのcp / C /ユーザー/管理者/写真/ホームc6b71328afa828c9e4c62ac37dd9dede538c3999355189e44218290a2ae885d3:/ルート
ここではコマンドのフォーマットは次のとおりですドッカーのCPローカルIDファイルのパス名:コンテナー・パスは、必要に応じて、コンテナファイルを破って送信順番に第3、第4のパラメータ交換フォーマット、それを命令します。
容器内部へのプロジェクトの後、容器の中に、ディレクトリ内のFLINK-コミュニティ/リソース/のTPCDをジャンプ、compileTpcds.shを実行し、コマンドを示唆すると、パスを見つけることができません。YACC
作る:YACC:コマンドが見つかりません
ののapt-getコマンドを使用しているようです。しかし、このインストーラはイメージアドレスを変更することができ、最初はアドレスを変更します
ドッキングウィンドウミラーなしviコマンド以来、私たちは、内部の仮想良いドッキングウィンドウのpackage.jsonでファイルを編集する必要があります。
DEBは偉大メイン制限宇宙マルチバースhttp://mirrors.ustc.edu.cn/ubuntu/ DEBは偉大なセキュリティのメイン制限宇宙マルチバースhttp://mirrors.ustc.edu.cn/ubuntu/ のdebにhttp://mirrors.ustcを.edu.cn / Ubuntuの/偉大-アップデートのメイン制限宇宙マルチバース DEBは偉大-提案メイン制限宇宙マルチバースhttp://mirrors.ustc.edu.cn/ubuntu/ DEBをhttp://mirrors.ustc.edu.cn/ubuntu /偉大-backportsのメイン制限宇宙マルチバース のdeb-srcのhttp://mirrors.ustc.edu.cn/ubuntu/大きなメイン制限宇宙マルチバース のdeb-srcのhttp://mirrors.ustc.edu.cn/ubuntu/偉大なセキュリティメイン制限宇宙マルチバース のdeb-srcのhttp://mirrors.ustc.edu.cn/ubuntu/偉大-アップデートのメイン制限宇宙の多元 のdeb-srcのhttp://mirrors.ustc.edu.cn/ubuntu/偉大-提案メイン制限宇宙の多元 DEB-SRC http://mirrors.ustc.edu.cn/ubuntu/偉大-backportsのメイン制限宇宙の多元
ファイルを編集した後、容器のMVの/etc/apt/sources.listの/etc/apt/sources.list.bak、仮想ドッキングウィンドウの実行を実行します
ドッキングウィンドウのcp package.jsonのc6b71328afa828c9e4c62ac37dd9dede538c3999355189e44218290a2ae885d3:の/ etc / aptの
apt-getを更新した後、ダウンロード画像は、新しいアドレスを指します。
(さまざまな理由のためのコマンド名とパッケージ名、参照バイソンをインストールapt-getを実行し、ここで、結果が返されるパッケージは一切インストール候補エラーを持たない)、何のapt-getの更新理由がないかもしれないと思うし、次のコマンドを入力します。
apt-getの更新 アップグレードapt-getを フレックスバイソンBCをインストールapt-getを
compileTpcds.sh内FLINK-コミュニティ/リソース/のTPCDを実行した後、[OK]を、コンパイル!(感動しませんでした、あまりにも長いログをコンパイルします)
「(」予期しないが、このプログラムの96行は、通常のAです:96行、構文エラー:datagenのgenerateTpcdsData.sh実行ディレクトリ、実際に与えられたを入力します。
#!/ binに/ bashの ############################################ ################################## #TPC-DSデータ生成 ########## ################################################## ################## 輸出JAVA_HOME = /ホーム/ Hadoopの/ Javaの #セットデータは、パスを保存 TARGETPATH =。/データ/ #セット作業スレッド、初期値は0である workThreads = 0 #セットデータの規模 であれば[$#-lt 1]; その後、 "[ERROR]のparamsの不足#"エコー エコー"使用:` dirnameが$ 0` / $ 0 <scaleFactorを>" の出口127 Fi回線 scaleFactorを= $ 1 のデータを構築する#ランダムシードは、デフォルト値は0です rngSeed = 0 であれば[$# - GE 2]。その後、 rngSeedは$ = 2 Fiを提供して ###ターゲットパスをチェックし 、[-z $ TARGETPATH]場合。次に エコー「[ERROR] HDFSのターゲットパスが設定されていない」 出口127 のfi ###の初期化を workload.lstに###、ディメンションテーブルは平行値1に設定された、およびファクトテーブルが設定された大きな平行 WORKFILE =ワークロード/ tpcds.workload 。$ {scaleFactorを}の.lst [あれば!-e $ WORKFILE]。その後、 エコー"[INFO]生成するワークロードファイル:" $ WORKFILE エコー"call_center $((scaleFactorを))" >> $ WORKFILEが エコー"のb catalog_page $((scaleFactorを))" >> $ WORKFILE 「D catalog_sales $を((エコーscaleFactorを)) ">> $ WORKFILEが エコー"のE CUSTOMER_ADDRESSの$((scaleFactorを))" >> $ WORKFILE エコー" エコー"グラムcustomer_demographics $((scaleFactorを))" >> $ WORKFILER store_sales $((scaleFactorを))」>> $ WORKFILE エコー"のTIME_DIM $((scaleFactorを))" >> $ WORKFILE エコー"時間date_dim $((scaleFactorを))" >> $ WORKFILEは エコー"私はhousehold_demographics $((scaleFactorを))" >> $ WORKFILEは エコー"jはincome_band $((scaleFactorを))" >> $ WORKFILE 「k個の在庫$エコー((scaleFactorを)) ">> $ワークファイルは エコー"L項目$((scaleFactorを))" >> $ワークファイルは エコー"Mプロモーション$((scaleFactorを))" >> $ワークファイルは エコー" N理由$((scaleFactorを)) ">> $作業ファイルは、 エコー"O ship_mode $((scaleFactorを))" $ワークファイルは>> Pストア$((scaleFactorを)) ">> $ WORKFILEエコー" エコー"R store_sales $((scaleFactorを))" >> $作業ファイルを エコー "トンの倉庫$((scaleFactorを))」>> $ WORKFILE エコー"U web_page $((scaleFactorを))" >> $ WORKFILE >> $ WORKFILE "web_sales $((scaleFactorを))は、W"エコー "エコーX web_site $((scaleFactorを))" >> $ WORKFILE Fiの ###基本PARAMS エコー「[INFO]データで各ノードでローカルに生成されます名前付きパイプ./ <。tblName.tbl <チャンク#> " エコー" [INFO]は、データがstreamingly "$ targetHSDFPathでクラスタにコピーされます生成された エコー" [INFO]例えばlineitem.tbl.10 - > /ディスク/ 1 /のTPCD /データ/ SF100 /のLineItem / lineitem.10.tbl」 #Clear既存のワークロード RM -rf writeData.sh #Checkディレクトリディスク上 TARGETPATH = $ {TARGETPATH} / SF $ {scaleFactorを} RM -rf $ {} TARGETPATH MKDIR -p $ {TARGETPATH} ###初期ワークロードshの エコー"#!/ binに/ bashの" >> $ファイル名 fileNameに= writeData.sh エコー"" >> $ fileNameに エコー"PS -efww |グレップのdsdgen |はgrep -v grepの| 9-15 -cカット| xargsのは殺す-9" >> $ fileNameに エコー「PS -efww | grepをFsShell |はgrep -v grepの|カット-c 9-15 | xargsの殺す-9" >> $ fileNameに エコー"のPS -efww |グレップのwait4process.sh |はgrep -v grepの|カット-c 9-15 | xargsが殺す-9" >> $ファイル名が エコー"RM -rf * .DAT" >> $ fileNameに エコー"" >> $ fileNameに ます。mkdir -p $ {TARGETPATH} / catalog_returns ます。mkdir -p $ {TARGETPATH} / store_returns ます。mkdir -p $ {TARGETPATH} / web_returns ワークロードを生成する### 読み取りラインながら、行う のparams =($ライン) #Extractingパラメータ #echo $ {paramsは[*]} tblCode = $ {paramsは[0]} tblName = $ {paramsは[1]} tblParts = $ {paramsは[2]} もし[ "$ tblName" = "store_sales"]。それから エコー"==== $のtblNameを===" MKDIR -p $ {TARGETPATH} / $ tblName ラウンドロビン方式で割り当てる#ワークロード partsDone = 1 一方、[$ partsDone -le $ tblParts]。行う ;場合は、[$ tblParts -gt 1] その後、 "RM -rf ./${tblName}_${partsDone}_${tblParts}.dat" >> writeData.shエコー }」はmkfifo ./${tblName}_${partsDone}_${tblPartsをエコー。 DAT」>> writeData.sh であれば[ "$ tblName" = "catalog_sales"]; その後、 >> "RM -rf ./catalog_returns_${partsDone}_${tblParts}.dat"エコーwriteData.sh "はmkfifo ./catalog_returns_${partsDone}_${tblParts}.dat" >> writeData.shエコー Fiの writeData.sh >> "RM -rf ./store_returns_${partsDone}_${tblParts}.dat"エコー >> writeData.sh "./store_returns_${partsDone}_${tblParts}.datはmkfifo"エコー Fiの 場合[ "$ tblName" = "web_sales"]; その後、 >> "RM -rf ./web_returns_${partsDone}_${tblParts}.dat"エコーwriteData.sh "はmkfifo ./web_returns_${partsDone}_${tblParts}.dat" >> writeData.shエコー Fiの "./dsdgen -scale $ scaleFactorを-table $ tblName -child $ partsDone -parallel $ tblParts -force Y -RNGSEED $ rngSeed&"を>> writeData.shエコー ./copyAndDelete.sh ./${tblName}_$「エコー{partsDone} _ $ {tblParts}。 [ "$ tblName" = "catalog_sales"]であれば、その後、 「./copyAndDelete.sh ./catalog_returns_${partsDone}_${tblPartsを}エコー。 [ "$ tblName" = "store_sales"]であれば、次に エコー"./copyAndDelete.sh ./store_returns_${partsDone}_${tblParts}.dat $ {TARGETPATH} / store_returns&" >> writeData.sh Fiの [ "$ tblName" = "web_sales"]もし。その後、 エコー"./copyAndDelete.sh ./web_returns_${partsDone}_${tblParts}.dat $ {TARGETPATH} / web_returns&" >> writeData.sh Fiの 他の エコー「のrm -rf ./${tblName}.dat 「>> writeData.sh エコー"./${tblName}.datはmkfifo" writeData.sh >> もし[ "$ tblName" = "catalog_sales"]; その後、 「はmkfifo ./catalog_returns.dat」エコー >> writeData.sh Fiの [ "$ tblName" = "store_sales"]であれば、それから エコー"RM -rf ./store_returns.dat" >> writeData.sh "はmkfifo ./store_returns.dat" >> writeData.shエコー Fiを提供して いる場合、[ "$ tblName" = "web_sales"]; その後、 >> "RM -rf ./web_returns.dat"エコーwriteData.sh "はmkfifo ./web_returns.dat" >> writeData.shエコー Fiの エコー」./dsdgen -scale $ scaleFactorを-table $ tblName -force Y -RNGSEED $ rngSeed& ">> writeData.sh エコー" ./copyAndDelete.sh ./${tblName}.dat $ {TARGETPATH} / $ tblName& ">> writeData.sh SH であれば[ "$ tblName" = "catalog_sales"]; それから エコー" ./copyAndDelete.sh ./catalog_returnsを。 [ "$ tblName" = "store_sales"]であれば、次に エコー"./copyAndDelete.sh ./store_returns.dat $ {TARGETPATH} / store_returns&" >> writeData.sh Fiの 場合は[ "$ tblName" = "web_sales"]。次に エコー"./copyAndDelete.sh ./web_returns.dat $ {TARGETPATH} / web_returns&" >> writeData.sh のfi Fiが partsDone = 1 + $ partsDoneせ workThreads = 1 + workThreadsせ 行う <$作業ファイル完了。 「エコー\」エコー "エコー\" [INFO]が">> writeData.sh "\ ...完了するまで待機エコー エコー" ./wait4process.sh dsdgen 0 ">> writeData.sh エコー""> エコー"にwriteData.shを実行する[INFO]を"$ {ワーカー} ます。chmod 755 writeData.sh SH writeData.sh S`たendTime = `日付+% エコー" [INFO]完了世代@ "`日付+%のH:%のM:%S` エコー"[INFO]生成され、SFをロード" $ {scaleFactorを}"で"`ますecho $ endTimeの- $のstartTime | bc`"秒」
しかし、この問題は、我々は、全体ではない、単純なスペルミスを歩んでいるようです。。。これは、プログラムのls -l / binに/ * SHが知っているの実装に関連しているを実行するshコマンドに対応して、私の船はこれです:
-rwxr-XR-xの1ルートルート1099016 2017年5月15日/ binに/ bashの -rwxr-XR-xの1つのルートルート117208 2017年1月24日/ binに/ダッシュ lrwxrwxrwx 1つのルート根元部4 2017年5月15日/ binに/ rbash - >のbash lrwxrwxrwx 1つのルート根元部4 2017年1月24日/ binに/ SH - >ダッシュ
プログラムがエラーをコンパイルさせる代わりにbashののダッシュにシステムのshプログラムは、その後のbashを使用し、実行SHを使用していないことが表示されます。