可能要重新部署zookeeper、storm、flink、spark、hadoop、redis、kafka等集群模式,记录下找到的方法。
java环境变量
- 下载:
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
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
source /etc/profile
SSH免密登录
- 在本机生成SSH密钥对:
ssh-keygen -t rsa
2.将SSH公钥添加到需要免密登录的目标主机对应账户目录下:
ssh-copy-id -i ~/.ssh/id_rsa.pub username@ip
主节点安装expect
- 安装依赖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
- 安装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
- 下载,链接:http://zookeeper.apache.org/releases.html#download
- 需要部署的机器解压压缩包
tar -zxvf zookeeper-3.4.13.tar.gz
- 修改配置文件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
- 创建data目录,然后再下面创建一个myid,写入机器对应配置里的数字
mkdir data
cd data
mkdir log
echo 1 > myid
- 复制zookeeper文件夹到别的机器上去,并且修改myid
scp -r zookeeper-3.4.13 ip:/home/xxx/
echo 2 > zookeeper-3.4.13/data/myid
- 启动各节点的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版本
- 安装
tar zxvf kafka_2.12-0.10.2.2.tgz
- 修改配置文件: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
- 开启JMX端口,便于kafka-manager检测
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
export JMX_PORT="9999"
fi
-
启动kafka
./kafka-server-start.sh -daemon ../config/server.properties\n
-
安装kafka-manager
-
修改配置 application.conf
kafka-manager.zkhosts="XXX:2181,XXX:2181"
-
启动,后台运行
nohup ./kafka-manager-1.3.3.17/bin/kafka-manager &
-
UI查看,地址:IP:9000
Q: kafka无法启动,查看log显示:kafka/Kafka : Unsupported major.minor version 52.0。PS:好像别的软件报这个错误的话也是因为java版本的问题,使用最新的就好了,比如kafka-manager。
A: 要求java版本为1.8。
storm
- 下载
链接:http://storm.apache.org/downloads.html - 解压,修改配置文件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
- 分发到别的机器
scp -r apache-storm-1.2.1 xxx@xx.xxx.x.xxx:/home/xxx
- 启动
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 &
- 查看UI
网址:nimbusip:18080
注意:机器之间的hosts需要设置,不然无法识别主节点
Flink 1.7.0
因为1.4.1版本使用kafka的时候有BUG,在新版本中修复,所以只能使用新版本。
- 下载
链接:https://flink.apache.org/downloads.html - 安装
tar -zxvf flink-1.7.0-bin-scala_2.12.tgz - 修改配置文件
- 在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的数目 - 修改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相关。
- 在flink-conf.yaml中配置
4.启动集群模式
./bin/start-cluster.sh
网友评论