收藏 分享(赏)

Spark集群搭建与测试.docx

上传人:scg750829 文档编号:7134794 上传时间:2019-05-06 格式:DOCX 页数:48 大小:5.93MB
下载 相关 举报
Spark集群搭建与测试.docx_第1页
第1页 / 共48页
Spark集群搭建与测试.docx_第2页
第2页 / 共48页
Spark集群搭建与测试.docx_第3页
第3页 / 共48页
Spark集群搭建与测试.docx_第4页
第4页 / 共48页
Spark集群搭建与测试.docx_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、精通 Spark 集群搭建与测试1. 安装 VMware Workstation 软件推荐官方下载最新版,下载地址:https:/ SSH 后还需设置免密码登录,才能省去每次通信时都输入密码的麻烦。a. 安装 ssh: apt-get install ssh;b. 启动 ssh: /etc/init.d/ssh startc. 验证 ssh 是否正常启动:ps e | grep ssh.若没有正常启动,可以尝试重启。d. 生产公钥和私钥:ssh-keygen -t rsae. 将公钥追加到 authorized_keys 中(authorized_keys 用于保存所有允许以当前用户身份登录到

2、 ssh 客户端的用户的公钥内容):cat /.ssh/id_rsa.pub /.ssh/authorized_keysf. 验证单机上免密码登录是否配置成功:ssh localhostg. 重复以上步骤,在各个节点的/root/.ssh/目录下生成一个公钥 id_rsa.pub 和一个私钥 id_rsah. 将所有 worker 节点的公钥复制到 master 节点上:scp id_rsa.pub rootmaster:/root/.ssh/id_rsa.pub.worker1scp id_rsa.pub rootmaster:/root/.ssh/id_rsa.pub.worker2i.

3、在 master 节点上,将所有 worker 的公钥追加到 authorized_keys 中:cat /.ssh/id_rsa.pub.worker1 /.ssh/authorized_keyscat /.ssh/id_rsa.pub.worker2 /.ssh/authorized_keysj. 将 master 节点的 authorized_keys(已经包含了所有节点的公钥)复制到各个worker 节点的.ssh 目录下:scp authorized_keys rootworker1:/root/.ssh/authorized_keysscp authorized_keys root

4、worker2:/root/.ssh/authorized_keysk. 验证各个节点之间是否可以免密码登录:6. 在各个节点安装 rsync: apt-get install rsync7. 在各个节点安装 java,推荐从官方下载最新版本a. 新建 java 安装目录:mkdir /usr/lib/javab. 将下载的 jdk 文件解压到 java 安装目录中(安装了 VMware tools 后,可以直接将下载的安装包拖拉到安装目录中):tar -xzf jdk-8u60-linux-x64.tar.gzc. 修改环境变量:vim /.bashrcexport JAVA_HOME=/u

5、sr/lib/java/jdk1.8.0_60export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATHd. 执行以下命令使配置文件的修改生效:source /.bashrc e. 验证 java 是否安装成功: java -version8. 在各个节点安装 hadoop,推荐从官网下载最新的稳定版本。http:/apache.opencas.org/hadoop/common/hadoo

6、p-2.6.0/a. 创建 hadoop 安装目录:mkdir /usr/local/hadoopb. 把下载的 hadoop 拷贝到安装目录并解压(安装了 VMware tools 后,可以直接将下载的安装包拖拉到安装目录中):tar -xzvf hadoop-2.6.0.tar.gzc. 为了可以在任意目录下使用 hadoop 命令,需要将 hadoop 的 bin 目录配置到.bashrc 中, vim /.bashrc: export HADOOP_HOME=/usr/local/hadoop/hadoop-2.6.0export PATH=$JAVA_HOME/bin:$JRE_HO

7、ME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATHd. 使用 source 命令使更改生效:source /.bashrce. verify the installation of hadoop: hadoop version注:可以首先在一台节点上安装配置好,然后通过 SCP 命令拷贝到其他节点上。9. 在各个节点配置 hadoop:可以首先在一台节点上配置好,然后通过 SCP 命令拷贝到其他节点上。a. 具体操作前首先在 hadoop 根目录下创建以下文件夹:mkdir tmpmkdir dfsmkdir dfs/datamkdir dfs/na

8、me注:这里新建的目录会在 hdfs-site.xml 中用到。实际上 namenode 节点上只需要 dfs/name 目录,datanode 节点上只需要 dfs/data 目录。b. 修改 Hadoop-env.sh,指定 java 安装目录:注:若没有配置 JAVA_HOME,后续执行 hadoop 命令时会报如下错误:c. 修改 yarn-env.sh, 指定 java 安装目录:d. 修改 mapred-env.sh, 指定 java 安装目录:e. 修改配置文件 slaves,将各个 worker 节点的 hostname 加进去:f. 修改 core-site.xml,以下是最

9、小配置,更详细的信息可以参考官网:http:/hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/core-default.xmlvim core-site.xml:fs.defaultFShdfs:/Master:9000The name of the default file systemhadoop.tmp.dir/usr/local/hadoop/hadoop-2.6.0/tmpA base for other temporary directorieshadoop.native.libtrueShould

10、native hadoop libraries, if present, be used.g. 修改 hdfs-site.xml,以下是最小配置,更详细的信息可以参考官网:http:/hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/hdfs-default.xmlvim hdfs-site.xml:dfs.replication2dfs.namenode.name.dir/usr/local/hadoop/hadoop-2.6.0/dfs/namedfs.datanode.data.dir/usr/local/hado

11、op/hadoop-2.6.0/dfs/data注:这里指定的 dfs.namenode.name.dir 与 dfs.datanode.data.dir 若不存在的话,后续 start-dfs 时会报错:h. 修改 mapred-site.xml,以下是最小配置,更详细的信息可以参考官网 :http:/hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml注:MRv1 的 Hadoop 没有使用 yarn 作为资源管理器,其配置如下:vim mapred-site.xml:(without

12、yarn)mapred.job.trackermaster:9001MRv2 的 hadoop 使用 yarn 作为资源管理器,其配置如下:vim mapred-site.xml:(with yarn)mapreduce.framework.nameyarni. 修改 yarn-site.xml,以下是最小配置,更详细的信息可以参考官网 :http:/hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-common/yarn-default.xmlvim yarn-site.xml:yarn.resourcemanager.hostnam

13、emasteryarn.nodemanager.aux-servicesmapreduce_shuffle注:Yarn 是 Hadoop 推出整个分布式(大数据)集群的资源管理器,负责资源的管理和分配,基于 Yarn 我们可以在同一个大数据集群上同时运行多个计算框架,例如 Spark、MapReduce、Storm。10. 启动并验证 hadoop 集群:a. 格式化 hdfs 文件系统:hadoop namenode format/hdfs namenode -format该命令会启动,格式化,然后关闭 namenode。实际上格式化后,在 namenode 上会生成以下文件:其中 VERS

14、ION 文件的内容如下:该命令不会在 datanode 的 dfs.datanode.data.dir 对应的目录下生成任何文件:有关该命令的细节请参考官方文档:http:/hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html#namenodeb. 启动 hdfs: start-dfs.sh使用 jps 验证 HDFS 是否启动成功:通过 webui 检查 HDFS 是否启动成功http:/master:50070注 1:实际上第一次启动 hdfs 后,在 datanode 的 dfs.d

15、atanode.data.dir 对应的目录下会生成 current 目录,该目录下的 BP 文件与 namenode 上dfs.namenode.name.dir 对应的目录下的 current 子目录的 VERSION 文件中的blockpoolID 字段的值一致;在该目录下也会生成 VERSION 文件,该 VERSION文件中的 clusterID 和 namenode 的 dfs.namenode.name.dir 对应的目录下的current 子目录的 VERSION 文件中的 clusterID 一致:实际上在后续执行了 hdfs namenode format 后,nameno

16、de 的 VERSION 文件会改变:而 dananode 的 BP 和 VERSION 文件都不会改变:再次 start-dfs.sh 时,namenode 可以成功启动,但在 datanode 上,因为 version文件与 namenode 的不一致,datanode 不能成功启动并成功注册到 namenode!所以:每次执行 hdfs namenode format 前,必须清空 datanode 的 data 文件夹!(namenode 的 name 文件夹不需要清空,namenode 和 datanode 的 tmp 文件夹也不需要空。)注 2:注:有的朋友喜欢使用 start-a

17、ll.sh,其实质是执行了 start-dfs.sh 和 start-yarn.sh,如下图可见,在提示中也可见,推荐分开使用 start-dfs.sh 和 start-yarn.sh而不是直接使用 start-all.sh:c. 启动 yarn: start-yarn.sh使用 jps 验证 yarn 是否启动成功:通过 webui 检查 yarn 是否启动成功: http:/master:8088/http:/worker1:8042/d. 启动 JobHistory Server:mr-jobhistory-daemon.sh start historyserver使用 jps 验证 J

18、obHistory Server 是否启动成功:通过 webui 检查 JobHistory Server 是否启动成功:http:/master:19888e. 验证 hadoop 集群创建文件夹:hdfs dfs -mkdir -p /data/wordcounthdfs dfs -mkdir -p /output上传文件:hdfs dfs -put /usr/local/hadoop/hadoop-2.6.0/etc/hadoop/*.xml /data/wordcount查看上传文件是否成功:hdfs dfs -ls /data/wordcount尝试执行 hadoop 自带的 wor

19、dcount 程序:hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount /data/wordcount /output/wordcount下图可见,执行成功:也可以去 webui 里查看 jobhistory:hadoop 的常见命令细节请参考官方文档:http:/hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html#dfs11. 在各个节点安装 scala

20、,推荐从官方下载最新版本a. 新建 scala 安装目录:mkdir /usr/lib/scalab. 将下载的 scala 文件解压到 scala 安装目录中(安装了 VMware tools 后,可以直接将下载的安装包拖拉到安装目录中):tar -xzvf scala-2.10.4.tgzc. 修改环境变量:vim /.bashrcexport SCALA_HOME=/usr/lib/scala/scala-2.10.4export PATH=$JAVA_HOME/bin:$SCALA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATHd.

21、执行以下命令使配置文件的修改生效:source /.bashrc e. 验证 scala 是否安装成功: scala -version12. 在各个节点安装 spark,推荐从官网下载最新的稳定版本:a. 创建 spark 安装目录:mkdir /usr/local/sparkb. 把下载的 spark 拷贝到安装目录并解压(安装了 VMware tools 后,可以直接将下载的安装包拖拉到安装目录中):tar -xzvf spark-1.6.0-bin-hadoop2.6.tgzc. 为了可以在任意目录下使用 spark 命令,需要将 spark 的 bin 和 sbin 目录配置到.bas

22、hrc 中, vim /.bashrc: export SPARK_HOME =/usr/local/spark/spark-1.6.0-bin-hadoop2.6export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$SCALA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATHd. 使用 source 命令使更改生效:source /.bashrc13. 在各个节点配置 spark,一下配置都是在$SPARK_HOME/conf 目录下:a. 修改

23、slaves 文件,(若没有 slaves 文件可以 cp slaves.template slaves 创建),添加 worker 节点的 Hostname,修改后内容如下:b. 配置 spark-env.sh,(若没有该文件可以 cp spark-env.sh.template spark-env.sh 创建),添加如下内容:export JAVA_HOME=/usr/lib/java/jdk1.8.0_60export SCALA_HOME=/usr/lib/scala/scala-2.10.4export HADOOP_HOME=/usr/local/hadoop/hadoop-2.6

24、.0export HADOOP_CONF_DIR=/usr/local/hadoop/hadoop-2.6.0/etc/hadoopexport SPARK_MASTER_IP=masterexport SPARK_WORKER_MEMORY=1g修改后的内容如下:更详细的配置说明,请参考官方文档:http:/spark.apache.org/docs/latest/spark-standalone.html#cluster-launch-scriptsc. 可选,配置 spark-defaults.sh:14. 启动并验证 spark 集群:Spark 只是一个计算框架,并不提供文件系统功能

25、,故我们需要首先启动文件系统 hdfs;在 standalone 模式下,我们并不需要启动 yarn 功能,故不需要启动 yarn.a. 用 start-dfs.sh 启动 hdfs,参考 step10.b. 在 hadoop 集群启动成功的基础上,启动 spark 集群,常见的做法是在 master 节点上 start-all.sh:c. 使用 jps 在 master 和 worker 节点上验证 spark 集群是否正确启动:d. 通过 webui 查看 spark 集群是否启动成功:http:/master:8080e. 启动 spark 的 historyserver: start-

26、history-server.shJps 可见,historyserver 没能启动成功。仔细观察日志可见,指定的日志目录不存在 :该目录是我们在 spark-defaults.conf 中指定的(事实上,若不指定 spark.eventLog.dir和 spark.history.fs.logDirectory,你也无法启动 historyserver,因为系统不知道去哪里存储你的 history 信息)我们只需使用 hdfs 命令 hdfs dfs -mkdir -p /historyserverforspark 来创建该目录,再启动 historyserver, jps 可见多了个 historyserver 进程:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报