博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编写shell脚本一键启动zookeeper集群!!
阅读量:6789 次
发布时间:2019-06-26

本文共 988 字,大约阅读时间需要 3 分钟。

踩了一个多小时坑终于解决了:

这里分享给大家,更主要的目的是记住这些坑,避免以后重复走!!!

首先,这里采用ssh秘钥方式进行集群主机之间免密登录执行启动命令

这里简单说下原理:

通过ssh去另外一台机器执行命令,直接执行还不行,因为需要环境变量,而ssh登录之后不在同一个进程里面,所以环境变量不共享

可以在登录之后先执行 source /src/profile初始化环境配置,这样环境变量就有了,ssh登录默认不会执行初始化操作,

而从客户端登录会执行初始化一系列命令,包括这个,这个不多说

步骤:

1 配置三台(我用了三台)主机之间ssh可以互相登录,  命令 ssh-keygen 生成秘钥,然后去/root/.ssh/目录下将生成的秘钥

拷贝到其他两个主机上面:

再将秘钥 id_rsa.pub 追加到主机的auth这个文件中,没有可以vim创建一个

注意是在/root/.ssh/目录下面,配置好之后,测试一下 直接用 ssh ip 看是否可以登录,能不用密码直接登录就证明成功了!

然后就是编写shell了,这里直接执行ZkServer.sh start 肯定是不行的,日志会报没有java目录,即没有环境变量,所以可以

在执行之前执行环境变量初始化 source /etc/profile 就行了:

这个是我的!!

然后chomd 755 文件就可以直接执行启动了!

如果不成功,就得看日志了,因为是ssh启动,所以日志在~目录中,即 /root目录,这里我总结了几点坑:

坑:重点来了

第一: 确保集群之间通信的端口开放,默认是2888,3888都必须开放,可以使用firewall-cmd --zone=public --add-port=2888/tcp --permanent 添加,然后重新加载

firewall使用教程:https://www.cnblogs.com/moxiaoan/p/5683743.html

第二: java安装时候必须在环境变量配置JAVA_HOME,不能直接添加在$PATH后面,否则会报错:

第三: 第一时间看日志,然后查找相关问题,这是解决问题最快的!然后其他常见错误在我之前写的一篇博客中有,这里就不重复写了!

 

转载于:https://www.cnblogs.com/houzheng/p/10004410.html

你可能感兴趣的文章
ExtJS4.2学习(php版)
查看>>
负载均衡——HAProxy
查看>>
win7 访问本机的虚拟机中centos的web项目
查看>>
批处理之播放文本文件
查看>>
windows server 2008活动目录的备份与还原
查看>>
spring boot 2.0.1.RELEASE hibernate 缓存 ehcache 详解
查看>>
关于windows7的更新update失败,windows media play安装失败的 ...
查看>>
mysql之慢查询
查看>>
我的友情链接
查看>>
linux mysql 主主同步复制
查看>>
使用 ajax json(getJSON)从服务器读取数据,在IE下不更新问题解决
查看>>
Pythonの豆瓣相册下载脚本
查看>>
linux shell4 判断登陆用户,然后重启关闭系统
查看>>
《Cisco路由器配置与管理完全手册》(第二版)前言和目录
查看>>
git 删除本地分支
查看>>
关于SQL SERVER高并发解决方案
查看>>
MAVEN进行debug过程
查看>>
抓翻番股
查看>>
另一个视界 ——三星SUHD傲世超高清电视体验札记
查看>>
多维度创新打造领先阿里云技术生态
查看>>