kafka集群的安装(一)-----jdk和ssh免密登录

零、写在前面与规划

       之前抄过一篇,搭建Kafka运行环境  这篇更侧重于如何运行一个简单的kafka,但却没涉及到kafka的集群相关内容

       这篇会将全流程补全

       包括zookeeper和ssh免密登录,以及戏肉--kafka集群

       因为会涉及到集群,因此规划了三台服务器,如下所示

      

ip

名称

作用

其他

192.168.122.21

xxCentos7One

kafka/rabbitmq

zookeeper

192.168.122.22

xxCentos7Two

kafka/rabbitmq

zookeeper

192.168.122.23

xxCentos7Three

kafka/rabbitmq

zookeeper

一、安装jdk

# 将linux版本jdk传到服务器,并解压。同时记录下解压后的jdk的路径,例如 /usr/local/jdk11

# 修改profile
vim /etc/profile

# 将自己的jdk路径替换到下面的JAVA_HOME的等号后面
# jdk11及以上的配置方式
JAVA_HOME=/usr/local/jdk11
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/lib
export JAVA_HOME CLASSPATH PATH

# jdk8 的配置方式
JAVA_HOME=/usr/local/jdk8
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH

# 刷新profile文件
source /etc/profile

二、安装ssh与免密登录

       因为需要集群,需要zookeeper访问各个服务器,所以最好能让各服务器之间通过ssh免密码访问

       所以第一步就是需要安装ssh

     2.1:安装ssh

rpm -qa|grep -E "openssh"

       如果结果有以下的内容表示已安装,

openssh-ldap-7.4p1-16.el7.x86_64
openssh-cavs-7.4p1-16.el7.x86_64
openssh-clients-7.4p1-16.el7.x86_64
openssh-server-sysvinit-7.4p1-16.el7.x86_64
openssh-7.4p1-16.el7.x86_64
openssh-keycat-7.4p1-16.el7.x86_64
openssh-server-7.4p1-16.el7.x86_64
openssh-askpass-7.4p1-16.el7.x86_64

       否则需要执行下面命令来安装

yum install openssh*

       成功后,启动服务并开启防火墙

sudo systemctl enable sshd  
sudo systemctl start sshd 
或者
service sshd start 


sudo firewall-cmd --zone=public --add-port=22/tcp --permanent  
sudo service firewalld restart  

       2.2:配置免密登录

       这部分是一个力气活,至少我没发现省事的

       先说思路:就是在每个主机上执行ssh-keygen命令,将生成出来的公钥放入authorized_keys中

                         最后保证每台主机中的authorized_keys文件里都有其他主机的公钥。

                         这样任意两台服务器在互相ssh登录的时候,就会从“authorized_keys”中找到目标服务器的公钥

                         然后拿着公钥与对端的私钥进行比对,如果正确,那就可以免密登录了。

       再说步骤:

       2.2.0:配置ip与服务器名的映射关系

              修改集群中每台服务器的/etc/hosts,将ip与主机名添加在里面

       2.2.1:在xxCentos7One上创建秘钥

              执行命令

ssh-keygen -t rsa

              过程中,会让你选择路径和passphrase,这两项可以直接输入回车跳过即可。

              生成的秘钥会保存在/root/.ssh路径下的id_rsa中和id_ras.pubz中,前者是私钥,后者是公钥

              私钥是留着自己用的,公钥是给别人登录自己用的。所以后面我们需要把公钥告诉每一个“别人”

       2.2.2:将公钥保存以备用

              步骤:从第一台生成了秘钥的服务器(在我这里就是xxCentos7One)开始操作

              进入/root/.ssh下面,执行下面的命令,将公钥的内容追加到authorized_key文件中。

cat id_rsa.pub >> authorized_keys

       2.2.3:将公钥给别人

              这个文件将会记录这个集群中所有服务器的公钥,后面会有大用

              然后将这个文件传输到下一个服务器上(比如我这里的xxCentos7Two)

scp authorized_keys xxCentos7Two:/root/.ssh/

             当然,如果你在/etc/hosts下已经配置过所有的映射,写服务器名比写ip还是更方便一些的

             不过一般来说,第一次执行上面的命令可能会有问题,特别是目标服务器没有执行过ssh命令的时候

             会提示你/root/.ssh是一个directory,其实解决也简单,直接在目标服务器上执行一次ssh命令即可

       2.2.4:迭代执行

             然后当你将这个authorized_key文件传给第二个服务器(比如我这里是xxCentos7Two)后,

             就可以在第二个服务器上执行2.2.1至2.2.3这三步了

             然后每次传递给下一个服务器的时候,authorized_keys里面的内容会逐渐增多

             直到集群中最后一台服务器的公钥也被加入到这个authorized_keys中,

             就可以将这个文件覆盖之前的那些服务器中去了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值