moonbox-0.3.0-beta下載:https://github.com/edp963/moonbox/releases/tag/0.3.0-beta
專注于為中小企業(yè)提供成都網(wǎng)站建設、成都網(wǎng)站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)鼎城免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
tar -zxvf moonbox-assembly_2.11-0.3.0-beta-dist.tar.gz
配置文件位于conf目錄下
mv slaves.example slaves
vim slaves
將會看到如下內(nèi)容:
localhost
請根據(jù)實際情況修改為需要部署worker節(jié)點的地址, 每行一個地址
mv moonbox-env.sh.example moonbox-env.sh
chmod u+x moonbox-env.sh
vim moonbox-env.sh
將會看到如下內(nèi)容:
export JAVA_HOME=path/to/installed/dir
export SPARK_HOME=path/to/installed/dir
export YARN_CONF_DIR=path/to/yarn/conf/dir
export MOONBOX_SSH_OPTS="-p 22"
export MOONBOX_HOME=path/to/installed/dir
# export MOONBOX_LOCAL_HOSTNAME=localhost
export MOONBOX_MASTER_HOST=localhost
export MOONBOX_MASTER_PORT=2551
請根據(jù)實際情況修改
mv moonbox-defaults.conf.example moonbox-defaults.conf
vim moonbox-defaults.conf
將會看到以下內(nèi)容,其中:
配置元數(shù)據(jù)存儲位置, 必須修改, 請根據(jù)實際情況修改
配置rest服務, 按需修改
配置tcp(jdbc)服務, 按需修改
配置Spark Local模式作業(yè), 值為數(shù)組, 有多少個元素表示每個Worker節(jié)點啟動多少個Spark Local模式作業(yè)。如不需要可刪除。
配置Spark yarn模式作業(yè), 值為數(shù)組, 有多少個元素表示每個Worker節(jié)點啟動多少個Spark Yarn模式作業(yè)。如不需要可刪除。
moonbox {
deploy {
catalog {
implementation = "mysql"
url = "jdbc:mysql://host:3306/moonbox?createDatabaseIfNotExist=true"
user = "root"
password = "123456"
driver = "com.mysql.jdbc.Driver"
}
rest {
enable = true
port = 9099
request.timeout = "600s"
idle.timeout= "600s"
}
tcp {
enable = true
port = 10010
}
}
mixcal {
pushdown.enable = true
column.permission.enable = true
spark.sql.cbo.enabled = true
spark.sql.constraintPropagation.enabled = false
local = [{}]
cluster = [{
spark.hadoop.yarn.resourcemanager.hostname = "master"
spark.hadoop.yarn.resourcemanager.address = "master:8032"
spark.yarn.stagingDir = "hdfs://master:8020/tmp"
spark.yarn.access.namenodes = "hdfs://master:8020"
spark.loglevel = "ERROR"
spark.cores.max = 2
spark.yarn.am.memory = "512m"
spark.yarn.am.cores = 1
spark.executor.instances = 2
spark.executor.cores = 1
spark.executor.memory = "2g"
}]
}
}
將cluster元素中相關部分改為以下配置, 請根據(jù)實際情況修改。具體值可查閱hdfs配置文件和yarn配置文件。
#### HDFS HA ####
spark.hadoop.fs.defaultFS="hdfs://service_name"
spark.hadoop.dfs.nameservices="service_name"
spark.hadoop.dfs.ha.namenodes.service_name="xxx1,xxx2"
spark.hadoop.dfs.namenode.rpc-address.abdt.xxx1="xxx1_host:8020"
spark.hadoop.dfs.namenode.rpc-address.abdt.xxx2="xxx2_host:8020"
spark.hadoop.dfs.client.failover.proxy.provider.abdt="org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider"
spark.yarn.stagingDir = "hdfs://service_name/tmp"
#### HDFS kerberos ####
dfs.namenode.kerberos.principal = ""
dfs.namenode.kerberos.keytab = ""
#### YARN HA ####
spark.hadoop.yarn.resourcemanager.ha.enabled=true
spark.hadoop.yarn.resourcemanager.ha.rm-ids="yyy1,yyy2"
spark.hadoop.yarn.resourcemanager.hostname.rm1="yyy1_host"
spark.hadoop.yarn.resourcemanager.hostname.rm2="yyy2_ho
st"
#### YARN kerberos ####
spark.yarn.principal = ""
spark.yarn.keytab = ""
將MySQL Jdbc驅動包放置到libs和runtime目錄下, 然后將整個moonbox安裝目錄拷貝到所有安裝節(jié)點, 確保位置與主節(jié)點位置一致。
在master節(jié)點執(zhí)行
sbin/start-all.sh
在master節(jié)點執(zhí)行
sbin/stop-all.sh
在master節(jié)點執(zhí)行如下命令, 將會看到 MoonboxMaster 進程
jps | grep Moonbox
在worker節(jié)點執(zhí)行如下命令, 將會看到 MoonboxWorker 進程
jps | grep Moonbox
在worker節(jié)點執(zhí)行如下命令, 將會看到與配置文件對應個數(shù)的 SparkSubmit 進程
jps -m | grep Spark
使用moonbox-cluster命令查看集群信息
bin/moonbox-cluster workers
bin/moonbox-cluster apps
如果檢查通過, 則集群啟動成功, 即可參閱examples部分開始體驗啦。 如果檢查失敗, 可通過查看master節(jié)點或者worker節(jié)點上logs目錄下的日志進行問題排查。
開源地址:https://github.com/edp963/moonbox
來源:宜信技術學院