当前位置: 首页 > 科技观察

Hadoop部署常用的小脚本

时间:2023-03-15 13:53:35 科技观察

,最近放弃了非ssh连接的Hadoop集群部署方式,回归到使用sshkey认证的方式。这里有点麻烦,每台机器都要上传公钥。正好我是一个很懒的人,所以写了几个小脚本,只要在一台机器上就可以完成公钥的分发。首先是生成sshkey脚本:#!/bin/shssh-keygen-trsa-P''-f~/.ssh/id_rsacp~/.ssh/id_rsa.pub~/.ssh/authorized_keysssh-keygen一般需要要输入passphrase,不过一般三个回车就过去了,懒得输入了,加-P''就不用了。然后就是添加公钥到从节点的脚本:#!/bin/shread-p"输入远程服务器IP:"ipssh-copy-id-oStrictHostKeyChecking=no-i~/.ssh/id_rsa.pubroot@$ipsshroot@$ip'sed-i"s/^#RSAAuthentication\yes/RSAAuthentication\yes/g"/etc/ssh/sshd_config'sshroot@$ip'sed-i"s/^#PubkeyAuthentication\yes/PubkeyAuthenticationyes/g"/etc/ssh/sshd_config'sshroot@$ip'sed-i"s/^#PermitRootLogin\yes/PermitRootLogin\yes/g"/etc/ssh/sshd_config'sshroot@$ip'servicesshdrestart'hostname=`sshroot@${ip}'hostname'`echo"将主机名和IP添加到本地/etc/hosts文件中"echo"$ip$hostname">>/etc/hostsecho"远程主机的主机名为$hostname,pleasecheck/etc/hosts确保主机名和IP添加到主机列表文件“echo”hostpublickeycopycomplete“然后第三个脚本读取主机列表并将/etc/hosts复制到所有主机:#!/bin/shcat/etc/hosts|whilereadLINEdoip=`echo$LINE|awk'{print$1}'|grep-v"::"|grep-v"127.0.0.1"`echo"复制/etc/居屋tsto${ip}"scp-oStrictHostKeyChecking=no/etc/hostsroot@${ip}:/etc/done

猜你喜欢