使用 Shell 脚本进行 Hadoop Spark 集群的批量安装_光环大数据培训

上传人:gua****an 文档编号:51980740 上传时间:2018-08-17 格式:DOCX 页数:7 大小:51.17KB
返回 下载 相关 举报
使用 Shell 脚本进行 Hadoop Spark 集群的批量安装_光环大数据培训_第1页
第1页 / 共7页
使用 Shell 脚本进行 Hadoop Spark 集群的批量安装_光环大数据培训_第2页
第2页 / 共7页
使用 Shell 脚本进行 Hadoop Spark 集群的批量安装_光环大数据培训_第3页
第3页 / 共7页
使用 Shell 脚本进行 Hadoop Spark 集群的批量安装_光环大数据培训_第4页
第4页 / 共7页
使用 Shell 脚本进行 Hadoop Spark 集群的批量安装_光环大数据培训_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《使用 Shell 脚本进行 Hadoop Spark 集群的批量安装_光环大数据培训》由会员分享,可在线阅读,更多相关《使用 Shell 脚本进行 Hadoop Spark 集群的批量安装_光环大数据培训(7页珍藏版)》请在金锄头文库上搜索。

1、 光环大数据光环大数据-大数据培训知名品牌大数据培训知名品牌http:/ 光环大数据光环大数据 http:/使用使用 ShellShell 脚本进行脚本进行 HadoopHadoop SparkSpark 集群的批量安装集群的批量安装_ _光环大数据培训光环大数据培训虽然有一些自动化安装的工具,但是功能越多,越专业的工具,可能也需要越高的学习成本,而我们并非专业运维,但是又必须做这些事情的话,不妨选择用 Shell 脚本来完成集群的安装。当然了,现在也有很多使用 docker 的做法,安装与部署也非常方便。整个过程其实很简单,就是对安装过程中的一些手动操作使用 Shell 脚本进行替代。对脚本

2、比较熟悉的话,应该很容易看懂。推荐一个网站,explainshell , 输入 Shell 命令,它会对命令的各部分进行详细的解释。以下内容虽在 Ubuntu 16.04 试用过,但有些细节可能由于时间因素,难免会有偏差。如有问题,欢迎指正。其他系统要安装的话可适当参照,步骤上大致相同,只是有些细节需要针对性调整。在所有安装步骤中, 最重要的一步是配置最重要的一步是配置 SSH 无密码登录无密码登录 。如果不明白脚本的内容,不要使用我的安装脚本,明白可以抽取部分自用。对安装过程不太熟的话,建议先跟着厦门大学的教程做: Spark2.1.0 入门:Spark 的安装和使用 ,里面涉及了 hado

3、op 与 Spark 等各种软件的安装,十分详细,对新手很友好。只有对手动安装的整个过程了然于心,自动化安装才能得心应手。为了避免因为用户权限要求输入密码的麻烦,以下所有操作均在 root 用户用户 ,全新系统环境下执行。以下所涉及的所有脚本我都已经放到了 GitHub 上,点击 这里 查看,距离脚本写完已经有一段时间,懒得对代码结构进行优化了:)。如果对某个脚本有疑问,可以自行单独拿出来,在本地进行测试与验证。另外,集群的安装基本上都差不多,这里是陈天奇在 EC2 上安装 yarn 集群的脚本: https:/ ,有兴趣可以看一下。用到主要工具有 rsync 和 expect, rsync

4、用于同步文件,expect 用于处理需要手动输入的情况。光环大数据光环大数据-大数据培训知名品牌大数据培训知名品牌http:/ 光环大数据光环大数据 http:/1. 安装必要的软件安装必要的软件比如 Java,openssh-server,expect(用于自动处理一些交互, 只在Master 节点上安装即可),vim 等。在 Master 和 Slave 都要安装这些软件,可以将在配置好 ssh 无密码登录后,将安装脚本同步到各 Slave 进行安装。基本的软件安装基本的软件安装pre-install.sh:#!/usr/bin/env bash# 安装 Vim8,方便修改配置文件 apt

5、 install software-properties-commonadd-apt-repository ppa:jonathonf/vimapt updateapt install vim# 安装 git, expect, openssh-serverapt install git expect openssh-server# Install Java8apt install openjdk-8-jre openjdk-8-jdk# Set JAVA_HOMEJAVA_PATH=$(update-alternatives -list java)JAVA_HOME=$JAVA_PATH%/j

6、re/bin*echo “export JAVA_HOME=$JAVA_HOME“ “$HOME/.bashrc“安装安装 Hadoop安装 Hadoop, 大致为 wget 下载 Hadoop,然后解压到 /usr/local/hadoop。install-hadoop.sh:#!/usr/bin/env bashHADOOP_DOWNLOAD_URL=https:/ # hadoop-2.7.3.tar.gzHADOOP_VER=$HADOOP_TAR_GZ%.tar.gz # hadoop-2.7.3if ! -d /usr/local/hadoop ; then ! -f /tmp/$

7、HADOOP_TAR_GZ then ! -f /tmp/$SPARK_TGZ then ! -f /tmp/$HBASE_TAR_GZ chmod 600 /.ssh/authorized_keys“expect “*assword:“ send “$password/n“; exp_continue “yes/no*“ send “yes/n“ ; exp_continue eof exit EOF整个 ssh 无密码登录的内容在 ssh-auto-login.sh 中, slaves.txt 文件放的是 Slave 的 IP 地址,一行一个。3. 批量修改批量修改 Slave hostn

8、ame 和和 hosts主要是修改两个文件: /etc/hostname 和 /etc/hosts 。将 Slave 的 IP 和 hostname 信息存到文件中备用,比如 ip_hostname.txt 和 slaves.txt。实际上只要一个文件 ip_hostname.txt 就够了,但是下面的代码hostname为方便起见,集群中每台机器的 /etc/hostname 都不同,并用 Master,Slave1,Slave2 等进行对 hostname 进行命名,即在每台机器上的/etc/hostname 分别写入 Master,Slave1,Slave2 等。光环大数据光环大数据-大

9、数据培训知名品牌大数据培训知名品牌http:/ 光环大数据光环大数据 http:/以 Master 为例,在 Ubuntu 16.04 下, /etc/hostname 默认为空,直接使用命令 echo “Master“ /etc/hostname 即可。由于 Slave 节点可能很多,我们用脚本来完成。先准备一个包含 Slave IP 与 hostname 的文件,比如,叫做 ip_hostname.txt , 里面内容如下, 每一行是 IP:hostname:172.109.109.123:Slave1172.109.109.124:Slave2由于已经配置好 SSH 无密码登录,所以直接

10、使用 SSH 远程执行命令即可。#!/usr/bin/env bash# ip_hostname.txt:# ip:hostnamefor line in $(cat ip_hostname.txt); do ip=$line%:* hostname=$line#*: ssh “emailprotected$ip“ “echo “$hostname“ /etc/hostname“donehostshosts 比较简单,在 Master 上修改完 /etc/hosts ,随后直接复制到其他 Slave 节点。将 ip_hostname.txt 里面的内容附加到 /etc/hosts 尾部,再加上

11、一个 Master 节点的 IP 与 hostname 即可。#!/usr/bin/env bash# ip_hostname.txt:# ip:hostnamefor line in $(cat ip_hostname.txt); do ip=$line%:* hostname=$line#*: echo “$ip $hostname“ /etc/hostsdoneMASTER=“MASTER IP“HOSTANME=“Master“echo “$MASTER $HOSTANME“ /etc/hostsecho “/etc/hosts has been upadted!“4. 复制复制 Ma

12、ster 节点上节点上 /usr/local/hadoop 等目录到等目录到 Slave 节点节点我们打算将 Hadoop,Spark 安装在 /usr/local 目录下,也就是/usr/local/hadoop /usr/local/spark 。上面的工作完成后,就可以将 Master 节点下面这些目录复制到各个 Slave 节点。使用 rsync 工具来同步目录。slaves.txt 里面的内容为各 Slave 的 hostname :Slave1Slave2#!/usr/bin/env bashDIR=/usr/local/hadoop /usr/local/spark /usr/l

13、ocal/hbasefor slave in $(cat slaves.txt); do rsync -avz $HOME/.bashrc “email protected$slave“:$HOME/.bashrc rsync -avz $HOME/bin “emailprotected$slave“:$HOME rsync -avz /etc/hosts “email protected光环大数据光环大数据-大数据培训知名品牌大数据培训知名品牌http:/ 光环大数据光环大数据 http:/$slave“:/etc for dir in $DIR; do rsync -avz $dir “e

14、mail protected$slave“:/usr/local donedone5. 同步同步 hadoop/spark 的配置目录的配置目录同步完 Hadoop 和 Spark 完整的目录后,我们还需要对 Hadoop 进行一些配置,比如要进行完全分布式的配置,修改 hdfs-site.xml 等等文件。配置完成后,对这些配置目录也进行同步,比如 Hadoop 下面的 etc ,Spark 与 HBase 下面的 conf 目录。具体配置哪些文件, 修改哪些内容可参看上面的厦门大学安装教程。#!/usr/bin/env bashDIR=/usr/local/hadoop/etc /usr/local/spark/conf /usr/local/hbase/conffor slave in $(cat slaves.txt); do rsync -avz $HOME/.bashrc “email protected$slave“:$HOME/.bashrc

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 数据结构与算法

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号