您好,登錄后才能下訂單哦!
一步步搭環境:
----------------------------------------------------
系統環境要求:
Mac OS X 或者 Ubuntu14.04>=
1. Java環境配置
Linux java環境配置。因為heron用到Bazel管理工具的要求必須是JDK1.8版本,所以可以直接下JDK1.8進行安裝。
JDK安裝下載解壓到/usr/local目錄下,然后進行環境變量配置,有兩個地方可以配置(/etc/profile(全局配置) 或者 ~/.bashrc(只針對某個用戶)),打開文件,shift+g定位到文件末尾,添加如下語句
export JAVA_HOME=/usr/local/jdk export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar: export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
為了使得更改立即生效,可以使用source命令
source /etc/profile #source ~/.bashrc
2. 下載腳本
可以去github上下載Twitter提供的heron安裝腳本(https://github.com/twitter/heron/releases),可以下載自己系統對應的文件。
注:如果是Mac,腳本文件是帶有darwin的,即heron-client-install-0.14.3-darwin.sh、heron-tools-install-0.14.3-darwin.sh 這樣的文件。
heron的單節點運行主要用到2個腳本文件
heron-client-install-0.14.2-PLATFORM.sh
heron-tools-install-0.14.2-PLATFORM.sh
3. 安裝
下載完成,可以使用 --user進行安裝
若腳本沒有執行權限,則先執行如下語句,其他腳本文件同理
$ chmod +x heron-client-install-0.14.3-ubuntu.sh
安裝client
$ ./heron-client-install-0.14.3-ubuntu.sh --user Heron client installer ---------------------- Uncompressing...... Heron is now installed! Make sure you have "$/home/xxx/bin" in your path. ...
如果環境變量中沒有 /home/xxx/bin 可以進行環境變量導入
$ export PATH=$PATH:~/bin
接下來安裝 tool,依舊使用 --user
$ ./heron-tools-install-0.14.3- .sh --user Heron tools installer --------------------- Uncompressing...... Heron Tools is now installed! ...
可以使用如下語句檢查heron是否安裝成功
heron version
如果提示如下語句,提示JAVA_HOME沒有設置:
root@vm-heron:~/bin# heron version ERROR:root:JAVA_HOME not set
可是明明環境變量已經設置,而且使用echo $PATH可以看到環境變量....
那就執行一次export將JAVA_HOME進行導入(終端關閉后,就不起作用了)
export JAVA_HOME=/usr/local/jdk
然后再執行,就可以成功
root@vm-heron:~$ heron version heron.build.version : '0.14.3' heron.build.time : Sat Sep 10 01:04:00 PDT 2016 heron.build.timestamp : 1473494660000 heron.build.host : tw-mbp-kramasamy heron.build.user : kramasamy heron.build.git.revision : 71d5b256d779be73b37c50d2a58af8f00d618276 heron.build.git.status : Clean
4. 部署運行
安裝完成后,在~/.heron/example目錄下會有一些Twitter的官方例子,可以使用heron的CLI工具在本地部署一個tolopogy。
$ heron submit local \ > ~/.heron/examples/heron-examples.jar \ > com.twitter.heron.examples.ExclamationTopology \ > ExclamationTopology \ > --deploy-deactivated INFO: Using config file under /home/${user}/.heron/conf/local INFO: Launching topology 'ExclamationTopology' INFO: Topology 'ExclamationTopology' launched successfully INFO: Elapsed time: 6.915s.
這個運行之后就會在家目錄下產生一個 ./herondata的目錄,此目錄存放了之前運行的數據。可以看看其內容
$ ll ~/.herondata/topologies/local/${user}/ExclamationTopology -rw-rw-r-- 1 user user 2343 9月 18 16:14 ExclamationTopology.defn drwxr-xr-x 2 user user 4096 1月 1 1970 heron-conf/ drwxr-xr-x 4 user user 4096 1月 1 1970 heron-core/ -rwxr-xr-x 1 user user 4586211 1月 1 1970 heron-examples.jar* -rw-rw-r-- 1 user user 0 9月 18 16:14 heron-executor-0.stderr -rw-rw-r-- 1 user user 0 9月 18 16:14 heron-executor-1.stderr -rw-rw-r-- 1 user user 0 9月 18 16:14 java-a4298b50-started.stderr drwxrwxr-x 2 user user 4096 9月 18 16:14 log-files/ -r-xr-xr-x 1 user user 281 1月 1 1970 release.yaml*
5. 啟動Heron Tracker
Heron Tracker是用來收集heron集群信息的web服務,可以通過運行heron-tracker來部署它。
$ heron-tracker INFO: 09/18/2016 16:35:05 +0000 Connecting to file state with rootpath: /home/${user}/.herondata/repository/state/local INFO: 09/18/2016 16:35:05 +0000 Tracker has started INFO: 09/18/2016 16:35:05 +0000 Running on port: 8888 INFO: 09/18/2016 16:35:05 +0000 Using config file: /home/${user}/.herontools/conf/heron_tracker.yaml INFO: 09/18/2016 16:35:05 +0000 State watch triggered for topologies. INFO: 09/18/2016 16:35:05 +0000 Adding new topology: ExclamationTopology, state_manager: local INFO: 09/18/2016 16:35:05 +0000 Registering a watch with uid: 53ccd3c3-f6d2-4d53-af11-c736a96986d3 INFO: 09/18/2016 16:35:05 +0000 No execution state found for: ExclamationTopology INFO: 09/18/2016 16:35:05 +0000 Watch triggered for topology execution state: ExclamationTopology INFO: 09/18/2016 16:35:05 +0000 Setting topology info for topology: ExclamationTopology INFO: 09/18/2016 16:35:05 +0000 Watch triggered for topology pplan: ExclamationTopology INFO: 09/18/2016 16:35:05 +0000 Setting topology info for topology: ExclamationTopology INFO: 09/18/2016 16:35:05 +0000 Watch triggered for topology tmaster: ExclamationTopology INFO: 09/18/2016 16:35:05 +0000 Setting topology info for topology: ExclamationTopology INFO: 09/18/2016 16:35:05 +0000 Watch triggered for topology scheduler location: ExclamationTopology INFO: 09/18/2016 16:35:05 +0000 Setting topology info for topology: ExclamationTopology INFO: 09/18/2016 16:36:31 +0000 302 GET / (127.0.0.1) 0.50ms INFO: 09/18/2016 16:36:31 +0000 200 GET /topologies (127.0.0.1) 0.71ms WARNING: 09/18/2016 16:36:32 +0000 404 GET /favicon.ico (127.0.0.1) 1.10ms WARNING: 09/18/2016 16:36:32 +0000 404 GET /favicon.ico (127.0.0.1) 0.49ms
執行中若是出現,沒有權限錯誤,則把家目錄下的 .pex目錄權限改成當前用戶
$ sudo chown -R ${user}:${user} ~/.pex/
然后在瀏覽器中輸入http://localhost:8888/,即可看到如下內容
{"status": "success", "executiontime": 4.076957702636719e-05, "message": "", "version": "1.0.0", "result": {"local": {"${user}": {"default": ["ExclamationTopology"]}}}}
6. Heron UI使用
Heron UI 就是直觀的用戶界面了,通過它可以看tolopogy的詳細運行情況,通過 heron-ui來部署啟動
$ heron-ui INFO: 09/18/2016 16:47:24 +0000 Listening at http://0.0.0.0:8889 INFO: 09/18/2016 16:47:24 +0000 Using tracker url: http://localhost:8888
然后就可以在瀏覽器中輸入http://localhost:8889/,就可以打開如下界面了。
注:上一步的heron-tracker也是必須在運行狀態,長期運行可以使用守護進程啟動,否則會出現[Errno 111] connected refused的異常。
7. tolopogy的幾個常用命令
上面我們在本地環境提交了一個tolopogy,我們可以使用heron的CLI工具進行一些管理,如activate、deactivate、kill等。
$ heron activate local ExclamationTopology $ heron deactivate local ExclamationTopology $ heron kill local ExclamationTopolog
若果上面的命令執行成功,會有類似下面這樣的提示信息:
INFO: Successfully activated topology 'ExclamationTopology' INFO: Elapsed time: 1.980s.
我們可以通過heron來查看有哪些命令可用
$ heron usage: heron <command> <options> ... Available commands: activate Activate a topology deactivate Deactivate a topology help Prints help for commands kill Kill a topology restart Restart a topology submit Submit a topology version Print version of heron-cli Getting more help: heron help <command> Prints help and options for <command> For detailed documentation, go to http://heronstreaming.io
利用help命令查看如何提交一個tolopogy
$ heron help submit usage: heron submit [options] cluster/[role]/[env] topology-file-name topology-class-name [topology-args] Required arguments: cluster/[role]/[env] Cluster, role, and environment to run topology topology-file-name Topology jar/tar/zip file topology-class-name Topology class name Optional arguments: --config-path (a string; path to cluster config; default: "/home/${user}/.heron/conf") --config-property (key=value; a config key and its value; default: []) --deploy-deactivated (a boolean; default: "false") --extra-launch-classpath (a string; additional JVM class path for launching topology) --topology-main-jvm-property (property=value; JVM system property for executing topology main; default: []) --verbose (a boolean; default: "false")
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。