Kylo集群安裝詳解


說明

  • 集群由dpnode05和dpnode08兩個節(jié)點組成

>>>下面在dpnode05上操作

創(chuàng)建kylo安裝目錄

  • mkdir /opt/kylo

將裝裝包解壓到安裝目錄

  • tar xvf /home/wcm/sources/kylo-0.10.0.tar -C /opt/kylo

安裝前執(zhí)行預處理腳本, 這里以root用戶安裝

  • /opt/kylo/setup/install/post-install.sh /opt/kylo root root

PS: 三個參數(shù)依次為: kylo安裝目錄, 安裝程序的用戶, 安裝程序的用戶組

修改配置文件

  • vim /opt/kylo/kylo-services/conf/application.properties
    spring.datasource.url=jdbc:mysql://dpnode05:3306/kylo
    spring.datasource.username=root
    spring.datasource.password=123456
    spring.datasource.driverClassName=com.mysql.jdbc.Driver
    

復制Mysql驅動

  • cp /home/wcm/mysql-connector-java-8.0.15.jar /opt/kylo/kylo-services/lib/

生成sql腳本

  • cd /opt/kylo/setup/sql/mysql
  • ./setup-mysql.sh dpnode05 root 123456
  • cd /opt/kylo/setup/sql
  • ./generate-update-ql.sh
    # 生成的兩個腳本文件
    kylo-db-update-script.sql
    kylo-db-update-script.sql.bac
    

連接Mysql客戶端執(zhí)行Kylo sql腳本

use kylo;
source kylo-db-update-script.sql;

下載Quartz

集群配置

  • ModeShape配置

    # vim /opt/kylo/kylo-services/conf/metadata-repository.json
    # 在最后一個追加如下內容
    
    ,"clustering": {
        "clusterName":"kylo-modeshape-cluster",
        "configuration":"modeshape-jgroups-config.xml",
        "locking":"db"
    }
    
  • Kylo配置

    # vim  /opt/kylo/kylo-services/conf/application.properties
    # 最后添加如下內容
    
    kylo.cluster.jgroupsConfigFile=kylo-cluster-jgroups-config.xml
    kylo.cluster.nodeCount=2
    
    # 修改activemq jms連接
    jms.activemq.broker.url=tcp://dpnode05:61616
    
    # 修改elasticsearch jms連接
    config.elasticsearch.jms.url=tcp://dpnode05:61616
    
    # 修改nifi配置
    nifi.rest.host=dpnode05
    nifi.rest.port=8079
    
  • Elasticsearch配置

    # vim /opt/kylo/kylo-services/conf/elasticsearch-rest.properties
    # 修改連接配置
    search.rest.host=dpnode05
    search.rest.port=9200
    
  • Quartz配置

    # cp /opt/kylo/setup/config/kylo-cluster/quartz-cluster-example.properties /opt/kylo/kylo-services/conf/quartz.properties
    
  • kylo-cluster-jgroups-config

    # cp /opt/kylo/setup/config/kylo-cluster/kylo-cluster-jgroups-config-example.xml /opt/kylo/kylo-services/conf/kylo-cluster-jgroups-config.xml
    # vim /opt/kylo/kylo-services/conf/kylo-cluster-jgroups-config.xml
    <TCP bind_port="7900"
       bind_addr="dpnode05"
    ....
     <TCPPING timeout="3000" async_discovery="true" num_initial_members="2"
           initial_hosts="dpnode05[7900],dpnode08[7900]"
    ....
    
  • modeshape-jgroups-config

    # cp /opt/kylo/setup/config/kylo-cluster/modeshape-local-test-jgroups-config.xml /opt/kylo/kylo-services/conf/modeshape-jgroups-config.xml
    # vim modeshape-jgroups-config.xml
    <TCP bind_port="7800"
       bind_addr="dpnode05"
    ....
    <TCPPING timeout="3000" async_discovery="true" num_initial_members="2"
           initial_hosts="dpnode05[7800],dpnode08[7800]"
    ....
    
  • 啟動腳本配置

    # vim /opt/kylo/kylo-services/bin/run-kylo-services.sh
    # 添加啟動參數(shù) -Djava.net.preferIPv4Stack=true
    java -Djava.net.preferIPv4Stack=true -Dorg.springframework.boot.logging.LoggingSystem=none $KYLO_SERVICES_OPTS $KYLO_SPRING_PROFILES_OPTS -cp /opt/kylo/kylo-services/conf:$HADOOP_CONF_DIR:/opt/kylo/kylo-services/lib/*:/opt/kylo/kylo-services/lib/${KYLO_NIFI_PROFILE}/*:/opt/kylo/kylo-services/plugin/* com.thinkbiganalytics.server.KyloServerApplication --pgrep-marker=kylo-services-pgrep-marker > /var/log/kylo-services/std.out 2>/var/log/kylo-services/std.err &
    

添加集群服務監(jiān)控依賴插件

  • cp /opt/kylo/setup/plugins/kylo-service-monitor-kylo-cluster-0.10.0.jar /opt/kylo/kylo-services/plugin/

通信測試(可省略)

  • dpnode05 上執(zhí)行, 阻塞并接受消息
    java -Djava.net.preferIP4Stack=true -cp  /opt/kylo/kylo-services/conf:/opt/kylo/kylo-services/lib/*:/opt/kylo/kylo-services/plugin/* org.jgroups.tests.McastReceiverTest -bind_addr dpnode05 -port 7900
    
  • dpnode08 上執(zhí)行, 發(fā)送消息
    java -Djava.net.preferIP4Stack=true -cp  /opt/kylo/kylo-services/conf:/opt/kylo/kylo-services/lib/*:/opt/kylo/kylo-services/plugin/* org.jgroups.tests.McastSenderTest -bind_addr dpnode08 -port 7900
    

PS: dpnode05能收到消息則正常

復制節(jié)點

  • cd /opt
  • scp -r /opt dpnode08://$PWD

>>>下面在dpnode08上操作

執(zhí)行預處理腳本, 這里以root用戶安裝

  • /opt/kylo/setup/install/post-install.sh /opt/kylo root root

集群配置

  • 啟動腳本配置

    # vim /opt/kylo/kylo-services/bin/run-kylo-services.sh
    # 添加啟動參數(shù) -Djava.net.preferIPv4Stack=true
    java -Djava.net.preferIPv4Stack=true -Dorg.springframework.boot.logging.LoggingSystem=none $KYLO_SERVICES_OPTS $KYLO_SPRING_PROFILES_OPTS -cp /opt/kylo/kylo-services/conf:$HADOOP_CONF_DIR:/opt/kylo/kylo-services/lib/*:/opt/kylo/kylo-services/lib/${KYLO_NIFI_PROFILE}/*:/opt/kylo/kylo-services/plugin/* com.thinkbiganalytics.server.KyloServerApplication --pgrep-marker=kylo-services-pgrep-marker > /var/log/kylo-services/std.out 2>/var/log/kylo-services/std.err &
    
  • kylo-cluster-jgroups-config

    # cp /opt/kylo/setup/config/kylo-cluster/kylo-cluster-jgroups-config-example.xml /opt/kylo/kylo-services/conf/kylo-cluster-jgroups-config.xml
    # vim /opt/kylo/kylo-services/conf/kylo-cluster-jgroups-config.xml
    <TCP bind_port="7900"
       bind_addr="dpnode08"
    ....
     <TCPPING timeout="3000" async_discovery="true" num_initial_members="2"
           initial_hosts="dpnode05[7900],dpnode08[7900]"
    ....
    
  • modeshape-jgroups-config

    # cp /opt/kylo/setup/config/kylo-cluster/modeshape-local-test-jgroups-config.xml /opt/kylo/kylo-services/conf/modeshape-jgroups-config.xml
    # vim modeshape-jgroups-config.xml
    <TCP bind_port="7800"
       bind_addr="dpnode08"
    ....
    <TCPPING timeout="3000" async_discovery="true" num_initial_members="2"
           initial_hosts="dpnode05[7800],dpnode08[7800]"
    ....
    

>>>下面操作分別在兩個節(jié)點上執(zhí)行

啟動服務

  • kylo-services start

在瀏覽器訪問kylo-ui

參考文章:

問題

  • Admin -> Connectors -> Hive/JDBC/... 訪問不了
    • 原因: kylo 訪問控制分為兩層, service-level(kylo-wide) 和 entity-level, entity-level層權限控制默認是關閉的! 而這個UI選項就屬于entity層權限,所以訪問不了
    • 解決方法
      • 修改 /opt/kylo/kylo-services/conf/application.properties
      • 修改屬性 security.entity.access.controlled=true
      • 重啟服務即可

集群原理

Modeshape uses jgroups internally for Kylo Cluster management.

Modeshape Replicated with a shared database. Modeshape Cluster

This is the only clustering model which will be supported by ModeShape 5.

A cluster in this model can have any number of members each with it's own in-memory cache but all using a shared database for persisting and reading the content. Binary stores and Indexes can be configured to be either local to each member or shared across all members, depending on the chosen implementation.

Updates in the cluster are sent to each of the members in the form of JGroups messages representing the various events that caused that data to mutate. Each cluster member will update their own local state in response to these events.

This works great for small- to medium-sized repositories, even when the available memory on each process is not large enough to hold all of the nodes and binary values at one time.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市放航,隨后出現(xiàn)的幾起案子麻敌,更是在濱河造成了極大的恐慌,老刑警劉巖际歼,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異姑蓝,居然都是意外死亡鹅心,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門纺荧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來旭愧,“玉大人,你說我怎么就攤上這事宙暇∈淇荩” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵占贫,是天一觀的道長桃熄。 經常有香客問我,道長型奥,這世上最難降的妖魔是什么瞳收? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮桩引,結果婚禮上缎讼,老公的妹妹穿的比我還像新娘。我一直安慰自己坑匠,他們只是感情好血崭,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著厘灼,像睡著了一般夹纫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上设凹,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天舰讹,我揣著相機與錄音,去河邊找鬼闪朱。 笑死月匣,一個胖子當著我的面吹牛钻洒,可吹牛的內容都是我干的。 我是一名探鬼主播锄开,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼素标,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了萍悴?” 一聲冷哼從身側響起头遭,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎癣诱,沒想到半個月后计维,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡撕予,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年鲫惶,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片实抡。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡剑按,死狀恐怖,靈堂內的尸體忽然破棺而出澜术,到底是詐尸還是另有隱情,我是刑警寧澤猬腰,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布鸟废,位于F島的核電站,受9級特大地震影響姑荷,放射性物質發(fā)生泄漏盒延。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一鼠冕、第九天 我趴在偏房一處隱蔽的房頂上張望添寺。 院中可真熱鬧,春花似錦懈费、人聲如沸计露。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽票罐。三九已至,卻和暖如春泞边,著一層夾襖步出監(jiān)牢的瞬間该押,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工阵谚, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蚕礼,地道東北人烟具。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像奠蹬,于是被迫代替她去往敵國和親朝聋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內容