美文网首页
集群部署

集群部署

作者: 大大大大大大大熊 | 来源:发表于2018-12-05 10:32 被阅读0次

    可能要重新部署zookeeper、storm、flink、spark、hadoop、redis、kafka等集群模式,记录下找到的方法。

    java环境变量

    1. 下载:sudo wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz
    2. sudo vi /etc/profile
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
    
    
    1. source /etc/profile

    SSH免密登录

    1. 在本机生成SSH密钥对:
    ssh-keygen -t rsa
    

    2.将SSH公钥添加到需要免密登录的目标主机对应账户目录下:

    ssh-copy-id -i ~/.ssh/id_rsa.pub username@ip
    

    主节点安装expect

    1. 安装依赖tcl
      下载链接:https://sourceforge.net/projects/tcl/files/Tcl/
    wget https://sourceforge.net/projects/tcl/files/Tcl/8.6.9/tcl8.6.9-src.tar.gz
    tar zxvf tcl8.6.9-src.tar.gz
    cd tcl8.6.9/unix && ./configure
    nake
    mak install
    
    1. 安装expect
    wget https://sourceforge.net/projects/expect/files/Expect/5.45.4/expect5.45.4.tar.gz
    tar zxvf expect5.45.4.tar.gz
    cd expect5.45.4
    ./configure --with-tcl=/usr/local/lib --with-tclinclude=../tcl8.6.9/generic
    make
    make install
    ln -s /usr/local/bin/expect /usr/bin/expect
    

    3.验证
    expect
    结果:expect1.1>

    Zookeeper

    1. 下载,链接:http://zookeeper.apache.org/releases.html#download
    2. 需要部署的机器解压压缩包
      tar -zxvf zookeeper-3.4.13.tar.gz
    3. 修改配置文件conf(/zookeeper-3.4.13/conf)
      复制模板:cp zoo_sample.cfg zoo.cfg
      配置修改:
    tickTime=2000   #心跳间隔
    initLimit=10   #初始容忍的心跳数
    syncLimit=5   #等待最大容忍的心跳数
    dataDir=/home/xxxx/zookeeper-3.4.13/data  #存放数据的目录
    clientPort=2181   #客户端默认的端口号
    dataLogDir=/home/xxxx/zookeeper-3.4.13/data/log  #存放log的目录
    autopurge.snapRetainCount=20  #保留的快照数目
    autopurge.purgeInterval=48   #定期清理快照,时间单位:时
    server.1=centos7-dase-52:2888:3888  #主机名, 心跳端口,数据端口
    server.2=centos7-dase-53:2888:3888
    
    1. 创建data目录,然后再下面创建一个myid,写入机器对应配置里的数字
    mkdir data
    cd data
    mkdir log
    echo 1 > myid
    
    1. 复制zookeeper文件夹到别的机器上去,并且修改myid
      scp -r zookeeper-3.4.13 ip:/home/xxx/
      echo 2 > zookeeper-3.4.13/data/myid
    2. 启动各节点的zk服务,注意关闭防火墙

    Q: 某个节点的zookeeper的进程没有正常启动,查询jps报错:

    Error occurred during initialization of VM
    Could not reserve enough space for object heap
    Error: Could not create the Java Virtual Machine.
    Error: A fatal exception has occurred. Program will exit.

    A: 该节点的java版本可能有问题,换了个新版本正常启动,更换步骤参考Java的环境变量。

    Kafka

    使用0.10版本

    1. 安装
      tar zxvf kafka_2.12-0.10.2.2.tgz
    2. 修改配置文件:server.properties
      主要修改以下,其他默认,注意broker.id和listeners每个机器都需要修改:
    broker.id=1
    delete.topic.enable=true
    listeners=PLAINTEXT://ip:9092
    log.dirs=/home/xxx/data/kafka-logs
    zookeeper.connect=ip1:2181,ip2:2181
    
    1. 开启JMX端口,便于kafka-manager检测
    if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
        export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
        export JMX_PORT="9999"
    fi
    
    1. 启动kafka
      ./kafka-server-start.sh -daemon ../config/server.properties\n

    2. 安装kafka-manager

    3. 修改配置 application.conf
      kafka-manager.zkhosts="XXX:2181,XXX:2181"

    4. 启动,后台运行
      nohup ./kafka-manager-1.3.3.17/bin/kafka-manager &

    5. UI查看,地址:IP:9000

    Q: kafka无法启动,查看log显示:kafka/Kafka : Unsupported major.minor version 52.0。PS:好像别的软件报这个错误的话也是因为java版本的问题,使用最新的就好了,比如kafka-manager。
    A: 要求java版本为1.8。

    storm

    1. 下载
      链接:http://storm.apache.org/downloads.html
    2. 解压,修改配置文件storm.yaml
    tar -zxvf apache-storm-1.2.1.tar.gz
    vi  apache-storm-1.2.1/conf/storm.yaml
    
    #添加如下设置,注意空格
     storm.zookeeper.servers:
         - "XXXX.XXX.XXX.XXX"
         - "XXXX.XXX.XXX.XXX"
    
     nimbus.seeds: ["XXXX.XXX.XXX.XXX"]
     storm.local.dir: "/home/xxx/apache-storm-1.2.1/data"  #需要自己创建
     ui.port: 18080
     supervisor.slots.ports:
         - 6700
         - 6701
         - 6702
         - 6703
    
    1. 分发到别的机器
      scp -r apache-storm-1.2.1 xxx@xx.xxx.x.xxx:/home/xxx
    2. 启动
      nimbus:
      bin/storm nimbus >/dev/null 2>&1 &
      bin/storm ui >/dev/null 2>&1 &
      bin/storm logviewer > /dev/null 2>&1 &
      supervisor:
      bin/storm supervisor >/dev/null 2>&1 &
      bin/storm logviewer > /dev/null 2>&1 &
    3. 查看UI
      网址: nimbusip:18080
      注意:机器之间的hosts需要设置,不然无法识别主节点

    Flink 1.7.0

    因为1.4.1版本使用kafka的时候有BUG,在新版本中修复,所以只能使用新版本。

    1. 下载
      链接:https://flink.apache.org/downloads.html
    2. 安装
      tar -zxvf flink-1.7.0-bin-scala_2.12.tgz
    3. 修改配置文件
      1. 在flink-conf.yaml中配置
        jobmanager.rpc.address: 10.11.6.70 #主节点
        taskmanager.numberOfTaskSlots: 4 #TaskManager能提供的槽,应该跟核数一样
        taskmanager.tmp.dirs #没配置的话,默认在/tmp目录下
        parallelism.default: 1 #默认的并行度
        state.backend: filesystem #使用文件系统作为checkpoint
        state.checkpoints.dir: hdfs://10.11.6.79:9000/flink-checkpoints/ #HDFS的checkpoints地址
        state.savepoints.dir: hdfs://10.11.6.79:9000/flink-savepoints/ #HDFS的savepoints地址
        state.checkpoints.num-retained: 20 #保留checkpoint的数目
      2. 修改master.yaml为主节点:10.11.6.70:8081(conf/master文件是用来做JobManager HA的,可以不需要配置),修改slaves.yaml中加入工作节点:10.11.6.52 10.11.6.53
        3.如果要使用job manager的HA模式,记得在flink-conf.yaml和zoo.cfg中配置zookeeper相关。

    4.启动集群模式
    ./bin/start-cluster.sh

    相关文章

      网友评论

          本文标题:集群部署

          本文链接:https://www.haomeiwen.com/subject/kokicqtx.html