最近需要进行Spark多节点的部署和切换,以及日志收集和统计。所以在一位师兄的版本上写了一些多节点部署的工具。
本工具有一些需要Expect工具的支持实现SSH用户名和密码自动登录。
Spark自动部署工具
Github地址:https://github.com/ericsahit/SparkDeployTools
1. linux\mscp
一键多节点拷贝,使用expect进行远程ssh登陆。可以实现自动解压缩tar文件,自动递归拷贝目录。会调用multicopy_server.sh
,在远程实现分发拷贝。
原理:先拷贝到远程的一个节点,在从这个节点往其他节点拷贝,节省流量。
使用方法:
./mscp.sh -conf ./user_host_passwds -file ~/develop/conf/spark-env.sh /data/hadoopspark/spark-1.1.0-bin-hadoop2.3/conf/
./mscp.sh -conf ./user_host_passwds -dir /home/hadoop/develop/spark-original/spark-1.3.0-bin-hadoop2.3 /data/hadoopspark/
./setenv.sh [-conf conf_file_name] option[-download/-upload/-yum_install] [download-file-name|upload-file-path|yum-install-name]
./setenv.sh -conf ./user_host_passwds-root -download /etc/profile
./setenv.sh -conf ./user_host_passwds-root -upload /etc/profile
./setenv.sh -conf ./user_host_passwds-root -yum_install java
./switch-spark.sh 1.1
#Spark所在目录
SPARK_HOME_DIR=/data/hadoopspark
#对切换的节点列表
CONF_FILE=$thisdir/user_host_passwds
```
5. 日志分析工具
TODO