集群脚本启动 centos7 ssh 免密登陆

A,对于zookeeper集群启动,Hadoop solrcloud 集群启动 需要脚本从master主机启动就可以,不要一个一个起

1. hadoop-cluster.sh

#!/bin/bash
if [ $# -ne 1 ]; then
echo "Usage: sh hadoop-cluster.sh [start|stop]"
exit 2
fi

source /etc/profile  

${HADOOP_HOME}/sbin/$1-all.sh  && ${HADOOP_HOME}/sbin/mr-jobhistory-daemon.sh $1 historyserver

2. zookeeper-cluster.sh

#!/bin/bash
if [ $# -ne 1 ];then
echo "Usage: sh zookeeper-cluster.sh [start|stop|restart]"
exit 2
fi
for node in master.bigdata.com slave01.bigdata.com slave02.bigdata.com
do
echo $node
ssh $node "source /etc/profile && /opt/cdh5.3.6/zookeeper-3.4.5/bin/zkServer.sh $1"

done

3. spark-cluster.sh

#!/bin/bash
if [ $# -ne 1 ];then
echo "Usage: sh spark-cluster.sh [start|stop]"
exit 2
fi

ssh master.bigdata.com 

 "source /etc/profile && ${SPARK_HOME}/sbin/$1-all.sh && && ${SPARK_HOME}/sbin/$1-history-server.sh"

ssh slave01.bigdata.com

 "source /etc/profile && ${SPARK_HOME}/sbin/$1-master.sh"

ssh slave02.bigdata.com 

"source /etc/profile && ${SPARK_HOME}/sbin/$1-master.sh"
 

B,这个时候可能会遇到ssh没有免密登陆的问题

准备工作

1、修改/etc/hosts的服务器ip映射(每台服务器都要做ip映射)

  1. 192.168.153.129 hadoop1

  2. 192.168.153.130 hadoop2

  3. 192.168.153.136 hadoop3

修改后,最好重启下服务器,然后服务器名称应该也会变成[email protected]
2、生成rsa公私钥

比如在hadoop1机器上生成公私钥

注:必须在用户目录下的.ssh文件夹下生成公私**

这里都是用root用户做ssh免密登录,所以对应路径是/root/.ssh

cd /root/.ssh

执行以下命令后,如果提示,就一直按“Enter”键,直至生成公钥

ssh-****** -t rsa

集群脚本启动 centos7 ssh 免密登陆

执行完成后会生成两个文件id_rsa、id_rsa.pub

3、把公钥复制到需要免密登录的服务器hadoop2

id_rsa.pub文件就是公钥,执行命令复制到hadoop2

scp id_rsa.pub [email protected]:/root/.ssh/authorized_keys_from_hadoop1


hadoop2上/root/.ssh/authorized_keys_from_hadoop1文件的内容就是id_rsa.pub的内容

4、把hadoop2的公钥内容进行公钥合并

  1. 1. 登录到要被登录的服务器()进入./ssh目录

  2. cd root/.ssh

  3. 2. 将客户端发送来的公钥文件进行合并

  4. cat authorized_keys_from_hadoop1 >> authorized_keys

  5. 说明:如果authorized_keys不存在就会自动创建,如果存在就会追加


5、验证

  1. 配置免登录完成后,在本机中输入“ssh [email protected]” 或者 “ssh [email protected]” 。

  2. * 如果无需输入密码,则表示配置免登录成功。

  3. * 如果仍需要输入密码,则可能是.ssh目录和文件权限需要修改。