hadoop生态搭建(3节点)-10.spark配置

# https://www.scala-lang.org/download/2.12.4.html
# ==================================================================安装 scala

tar -zxvf ~/scala-2.12.4.tgz -C /usr/local
rm –r ~/scala-2.12.4.tgz

# http://archive.apache.org/dist/spark/spark-2.3.0/

# ==================================================================安装 spark

tar -zxf ~/spark-2.3.0-bin-hadoop2.7.tgz -C /usr/local
mv /usr/local/spark-2.3.0-bin-hadoop2.7 /usr/local/spark-2.3.0
rm –r ~/spark-2.3.0-bin-hadoop2.7.tgz

# 环境变量
# ==================================================================node1 node2 node3

vi /etc/profile# 在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL下添加export JAVA_HOME=/usr/java/jdk1.8.0_111
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.12
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.6
export MYSQL_HOME=/usr/local/mysql
export HBASE_HOME=/usr/local/hbase-1.2.4
export HIVE_HOME=/usr/local/hive-2.1.1
export SCALA_HOME=/usr/local/scala-2.12.4
export KAFKA_HOME=/usr/local/kafka_2.12-0.10.2.1
export FLUME_HOME=/usr/local/flume-1.8.0
export SPARK_HOME=/usr/local/spark-2.3.0export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$MYSQL_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:$SCALA_HOME/bin:$KAFKA_HOME/bin:$FLUME_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

# ==================================================================node1

# 使环境变量生效
source /etc/profile# 查看配置结果
echo $SPARK_HOME

# ==================================================================node1

cp $SPARK_HOME/conf/docker.properties.template $SPARK_HOME/conf/docker.properties
vi $SPARK_HOME/conf/docker.propertiesspark.mesos.executor.home: /usr/local/spark-2.3.0cp $SPARK_HOME/conf/fairscheduler.xml.template $SPARK_HOME/conf/fairscheduler.xml
cp $SPARK_HOME/conf/log4j.properties.template $SPARK_HOME/conf/log4j.properties
cp $SPARK_HOME/conf/metrics.properties.template $SPARK_HOME/conf/metrics.propertiescp $SPARK_HOME/conf/slaves.template $SPARK_HOME/conf/slaves
vi $SPARK_HOME/conf/slavesnode1
node2
node3cp $SPARK_HOME/conf/spark-defaults.conf.template $SPARK_HOME/conf/spark-defaults.conf
vi $SPARK_HOME/conf/spark-defaults.confspark.eventLog.enabled           true
spark.eventLog.dir               hdfs://appcluster/spark/eventslog
# 监控页面需要监控的目录,需要先启用和指定事件日志目录,配合上面两项使用
spark.history.fs.logDirectory    hdfs://appcluster/spark
spark.eventLog.compress          true# 如果想 YARN ResourceManager 访问 Spark History Server ,则添加一行:
# spark.yarn.historyServer.address http://node1:19888cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark-env.sh
vi $SPARK_HOME/conf/spark-env.shexport SPARK_MASTER_PORT=7077        #提交任务的端口,默认是7077
export SPARK_MASTER_WEBUI_PORT=8070  #masster节点的webui端口 默认8080改为8070
export SPARK_WORKER_CORES=1          #每个worker从节点能够支配的core的个数
export SPARK_WORKER_MEMORY=1g        #每个worker从节点能够支配的内存数
export SPARK_WORKER_PORT=7078        #每个worker从节点的端口(可选配置)
export SPARK_WORKER_WEBUI_PORT=8071  #每个worker从节点的wwebui端口(可选配置)
export SPARK_WORKER_INSTANCES=1      #每个worker从节点的实例(可选配置)export JAVA_HOME=/usr/java/jdk1.8.0_111
export SCALA_HOME=/usr/local/scala-2.12.4
export HADOOP_HOME=/usr/local/hadoop-2.7.6
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/Hadoop
export SPARK_PID_DIR=/usr/local/spark-2.3.0/pids
export SPARK_LOCAL_DIR=/usr/local/spark-2.3.0/tmp
export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node1:2181,node2:2181,node3:2181 -Dspark.deploy.zookeeper.dir=/spark"vi $SPARK_HOME/sbin/start-master.shSPARK_MASTER_WEBUI_PORT=8070cp $HADOOP_HOME/etc/hadoop/hdfs-site.xml $SPARK_HOME/conf/vi $HADOOP_HOME/etc/hadoop/log4j.propertieslog4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERRORscp -r $HADOOP_HOME/etc/hadoop/log4j.properties node2:$HADOOP_HOME/etc/hadoop/
scp -r $HADOOP_HOME/etc/hadoop/log4j.properties node3:$HADOOP_HOME/etc/hadoop/

# ==================================================================node1

scp -r $SPARK_HOME node2:/usr/local/
scp -r $SPARK_HOME node3:/usr/local/

# ==================================================================node2 node3

# 使环境变量生效
source /etc/profile# 查看配置结果
echo $FLUME_HOME

 

# 启动

# ==================================================================node1 node2 node3
# 先启动zookeeper 和 hdfs zkServer.sh start zkServer.sh status# ==================================================================node1 zkCli.sh create /spark ''$HADOOP_HOME/sbin/start-all.sh$HADOOP_HOME/sbin/hadoop-daemon.sh start zkfc# ==================================================================node2 $HADOOP_HOME/sbin/hadoop-daemon.sh start zkfc $HADOOP_HOME/sbin/yarn-daemon.sh start resourcemanager

# 启动spark

# ==================================================================node1
$SPARK_HOME/sbin/start-master.sh$SPARK_HOME/sbin/start-slaves.sh# ==================================================================node2
$SPARK_HOME/sbin/start-master.sh# ==================================================================node1
# 获取安全模式的状态:
hdfs dfsadmin -safemode get# 安全模式打开
# hdfs dfsadmin -safemode enter# 安全模式关闭
# hdfs dfsadmin -safemode leavehdfs dfs -mkdir -p /spark/eventslog$SPARK_HOME/bin/spark-shell# http://node1:4040
# http://node1:8070> :quit

# test

# 需保证hdfs上该目录不存在
# hdfs dfs -mkdir -p /spark/output
# hdfs dfs -rmr /spark/outputvi ~/sparkdata.txthello man
what are you doing now
my running
hello
kevin
hi manhdfs dfs -mkdir -p /usr/file/inputhdfs dfs -put ~/sparkdata.txt /usr/file/input
hdfs dfs -ls /usr/file/inputval file1 = sc.textFile("file:///root/sparkdata.txt")
val count1=file1.flatMap(line => line.split(" ")).map(word => (word,1)).reduceByKey(_+_)
count1.saveAsTextFile("hdfs://node1:8020/spark/output1")val file=sc.textFile("hdfs://appcluster/usr/file/input/sparkdata.txt")
val count=file.flatMap(line => line.split(" ")).map(word => (word,1)).reduceByKey(_+_)
count.saveAsTextFile("hdfs://node1:8020/spark/output")hdfs dfs -ls /spark/outputhdfs dfs -cat /spark/output/part-00000

# stop已经启动的进程

# ==================================================================node1
$SPARK_HOME/sbin/stop-slaves.sh$SPARK_HOME/sbin/stop-master.sh$HADOOP_HOME/sbin/stop-all.sh# ==================================================================node1 node2 node3
# 停止 zookeeper
zkServer.sh stop# ==================================================================node2
$HADOOP_HOME/sbin/yarn-daemon.sh stop resourcemanager
$HADOOP_HOME/sbin/hadoop-daemon.sh stop zkfc# ==================================================================node1
$HADOOP_HOME/sbin/hadoop-daemon.sh stop zkfcshutdown -h now
# 快照 spark

 

转载于:https://www.cnblogs.com/zcf5522/p/9775651.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/450480.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

持续集成coding

1、安装docker yum -y install docker yum -y install composer yum -y install docker-compose 2、启动docker服务 service docker start 3、测试安装结果 docker-compose --version 4、创建目录 mkdir /data/continus-deploy 5、写入docker-compose.yml version: …

JSON字符串转换为Map

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 本文是利用阿里巴巴封装的FastJSON来转换json字符串的。例子如下: [java] view plain copy package com.zkn.newlearn.json;…

排序与查找 详细分析

C语言五种基本排序算法 程序员可以使用的基本排序算法有5种: 插入排序(insertionsort.)交换排序(exchangesOrt)选择排序(selectionsort)归并排序(mergesort)分布排序(distributionsort) 为了形象地解释每种排序算法是怎样工作的,让我们来看…

《Netkiller Spring Cloud 手札》Spring boot 2.0 mongoTemplate 操作范例

2019独角兽企业重金招聘Python工程师标准>>> 本文节选自 《Netkiller Spring Cloud 手札》 Netkiller Spring Cloud 手札 Spring Cloud Cookbook Mr. Neo Chan, 陈景峯(BG7NYT) 中国广东省深圳市望海路半岛城邦三期 518067 86 13113668890<netkillermsn.com> …

ZooKeeper原理及使用

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 ZooKeeper是Hadoop Ecosystem中非常重要的组件&#xff0c;它的主要功能是为分布式系统提供一致性协调(Coordination)服务&#xff0c;与…

自律只需要这篇文章

1. 钻研&#xff0c;只要你有一个方面特别优秀&#xff0c;则在这个社会就足够了,能够吃一辈子 2. 领悟&#xff0c;需要的时候&#xff0c;别人给你只是一个具体的方向&#xff0c;具体的路还是要自己去设计 3. 执行力&#xff0c;晚上喜欢想想没有小本本记录&#xff0c;那么…

数据和文件操作

怎样用C语言对某个目录下的文件名进行排序? 在4&#xff0e;8的例子中&#xff0c;用_dos_findfirst()和_dos_findnext()函数遍历目录结构&#xff0c;每找到一个文件名&#xff0c;就把它打印在屏幕上&#xff0c;因此&#xff0c;文件名是逐个被找到并列出来的。当你对某个目…

这些年来什么才是最好的投资?

这些年&#xff0c;就是从我毕业&#xff08;2006&#xff09;以后... 聊投资&#xff0c;不免说股市&#xff1b;股市平时没什么人谈&#xff0c;一般暴涨暴跌时大家的谈兴就起来了。而最近这一周&#xff0c;全球股市都开启了暴跌模式&#xff0c;让投资者亏损惨重&#xff0…

electron安装比较慢的方法

ELECTRON_MIRROR"https://cdn.npm.taobao.org/dist/electron/" npm install electron

vim 正则非贪婪模式

比如多匹配使用 .* 效果自然是贪婪模式&#xff0c;JS 的非贪婪很简单&#xff0c;是 .*? 即可&#xff0c;而 vim 不同&#xff0c;语法是 .\{-}&#xff0c;注意 \ 转义。 转载于:https://www.cnblogs.com/ZweiZhao/p/10062543.html

循环结构 案例分析

怎样才能知道循环是否提前结束了 循环通常依赖于一个或多个变量&#xff0c;你可以在循环外检查这些变量&#xff0c;以确保循环被正确执行。请看下例&#xff1a;int xchar * cp[REQUESTED_BLOCKS]/ * Attempt (in vain, I must add... )toallocate 512 10KB blocks in memory…

工作中常用的但是又容易忽略的问题

个人平时总结 Document 对象 每个载入浏览器的 HTML 文档都会成为 Document 对象。 Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。 提$(document)是一个选择器&#xff0c;选中的是整个html所有元素的集合示&#xff1a;Document 对象是 Window 对象的一…

JAVA经典面试题汇总(保存这篇就够了)

一. java基础篇 1.final 关键字的作用? 被 final 修饰的类不可以被继承。被 final 修饰的方法不可以被重写。被 final 修饰的变量不可以被改变&#xff0c;如果修饰引用&#xff0c;那么表示引用不可变&#xff0c;引用指向的内容可变。被 final 修饰的方法&#xff0c;JVM …

Angular5 *ngIf 和 hidden 的区别

问题 项目中遇到一个问题&#xff0c;有一个过滤查询的面板&#xff0c;需要通过一个展开折叠的button&#xff0c;来控制它的show 和 hide。这个面板中&#xff0c;有一个Select 组件&#xff0c;一个 input 查询输入框。 原来代码是&#xff1a; <div class"accordio…

ZooKeeper学习-- Zookeeper简单介绍

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、分布式协调技术 在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技术。那么什么是分布式协调技术&#xff1f;那么…

选择结构 案例分析

C语言goto&#xff0c;longjmp()和setjmp()之间有什么区别 goto语句实现程序执行中的近程跳转(local jump)&#xff0c;longjmp()和setjmp()函数实现程序执行中的远程跳转(nonlocaljump&#xff0c;也叫farjump)。通常你应该避免任何形式的执行中跳转&#xff0c;因为在程序中…

Python基础班---第一部分(基础)---Python基础知识---第一个Python程序

01. 第一个 HelloPython 程序 1.1 Python 源程序的基本概念 Python 源程序就是一个特殊格式的文本文件&#xff0c;可以使用任意文本编辑软件做 Python 的开发Python 程序的 文件扩展名 通常都是 .py1.2 演练步骤 在桌面下&#xff0c;新建 Python基础1 目录在 Python基础1 目录…

面试题-集合

1.JAVA 中数组和集合的区别 &#xff1f; &#xff08;1&#xff09;数组的长度是固定的&#xff0c;而集合长度是可以改变的。 &#xff08;2&#xff09;数组可以储存基本数据类型和引用数据类型&#xff0c;而集合只能储存引用数据类型&#xff08;也就是对象&#xff09;…

七牛云上传视频如何有效做到节省空间

在上传视频的时候&#xff0c;我们通常会保存到第三方【七牛云】平台。不过大多数程序员在系统后台上传视频后&#xff0c;一般都是保存到了本地&#xff0c;如果视频非常多或者视频容量特别大的情况下&#xff0c;那么我们的服务器迟早有一天会满&#xff0c;为了节省空间&…

运算符的优先级总能起作用吗?

有关运算符优先级的规则稍微有点复杂。在大多数情况下&#xff0c;这些规则确实是你所需要的&#xff0c;然而&#xff0c;有人也指出其中的一些规则本来是可以设计得更好的。让我们快速地回顾一些有关内容&#xff1a;“运算符优先级”是这样一些规则的集合——这些规则规定了…