集群部署

可能要重新部署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 [email protected]:/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

你可能感兴趣的:(集群部署)