集群脚本启动 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映射)
-
192.168.153.129 hadoop1
-
192.168.153.130 hadoop2
-
192.168.153.136 hadoop3
修改后,最好重启下服务器,然后服务器名称应该也会变成[email protected]
2、生成rsa公私钥
比如在hadoop1机器上生成公私钥
注:必须在用户目录下的.ssh文件夹下生成公私**
这里都是用root用户做ssh免密登录,所以对应路径是/root/.ssh
cd /root/.ssh
执行以下命令后,如果提示,就一直按“Enter”键,直至生成公钥
ssh-****** -t rsa
执行完成后会生成两个文件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. 登录到要被登录的服务器()进入./ssh目录
-
cd root/.ssh
-
2. 将客户端发送来的公钥文件进行合并
-
cat authorized_keys_from_hadoop1 >> authorized_keys
-
说明:如果authorized_keys不存在就会自动创建,如果存在就会追加
5、验证
-
配置免登录完成后,在本机中输入“ssh [email protected]” 或者 “ssh [email protected]” 。
-
* 如果无需输入密码,则表示配置免登录成功。
-
* 如果仍需要输入密码,则可能是.ssh目录和文件权限需要修改。