大数据:spark集群搭建
创建spark用户组,组ID1000
groupadd -g 1000 spark
在spark用户组下创建用户ID 2000的spark用户 获取视频中文档资料及完整视频的伙伴请加QQ群:947967114
useradd -u 2000 -g spark spark
设置密码
passwd spark
修改sudo权限
chmod u+w /etc/sudoers
vi /etc/sudoers
找到
root ALL=(ALL) ALL
添加
spark ALL=(ALL) ALL
创建一个app目录用来存放spark的软件环境(jdk、scala、spark)
mkdir /app
修改这个文件的属组和属主
chown -R spark:spark /app
创建soft
mkdir /app/soft
创建spark
mkdir /app/spark
创建/spark/work
mkdir -p /home/spark/work
改变/spark/work属组和属主
chown -R spark:spark /home/spark/work
切换用户
su root
解压JDK
cd /tmp/
tar zxvf jdk-8u192-linux-x64.tar.gz -C /app/soft/
如果没有权限首先使用chmod 777 -R /tmp修改权限
cd /app/soft/
ll -a
配置/etc/profile
sudo vi /etc/profile,所有需要的配置都添加了
JAVA_HOME=/app/soft/jdk1.8.0_192
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin
export PATH
让配置生效 获取视频中文档资料及完整视频的伙伴请加QQ群:947967114
source /etc/profile
安装scala:
tar zxvf /tmp/scala-2.11.12.tgz -C /app/soft/
配置环境变量
sudo vi /etc/profile
JAVA_HOME=/app/soft/jdk1.8.0_192
SCALA_HOME=/app/soft/scala-2.11.12/
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin:$SCALA_HOME/bin
export PATH
配置ssh无秘登录
ssh-keygen -t rsa
cd ~/
cd .ssh/
修改公钥的名字
master节点:mv id_rsa.pub authorized_keys_master.pub
slave1节点:mv id_rsa.pub authorized_keys_slave1.pub
slave2节点:mv id_rsa.pub authorized_keys_slave2.pub
把slave1和slave2的公钥给master
slave1节点:scp authorized_keys_slave1.pub spark@master:/home/spark/.ssh/
slave2节点:scp authorized_keys_slave2.pub spark@master:/home/spark/.ssh/
把三个节点的公钥都写在一个文件中
cat authorized_keys_master.pub >> authorized_keys
cat authorized_keys_slave1.pub >> authorized_keys
cat authorized_keys_slave2.pub >> authorized_keys
查看一下总的公钥文件
vi authorized_keys
把总的公钥文件authorized_keys给到slave1和slave2节点
scp authorized_keys spark@slave1:/home/spark/.ssh
scp authorized_keys spark@slave2:/home/spark/.ssh
修改authorized_keys的操作权限,三个节点都需要修改
chmod 400 authorized_keys
验证免密登录是否成功
ssh master
ssh slave1
ssh slave2
ssh master
安装spark:
tar -zxf /tmp/spark-2.1.0-bin-hadoop2.6.gz -C /app/spark/
cd /app/spark/
ls
cd spark-2.1.0-bin-hadoop2.6/
配置环境变量:
vi /etc/profile
JAVA_HOME=/app/soft/jdk1.8.0_192
SCALA_HOME=/app/soft/scala-2.11.12/
SPARK_HOME=/app/spark/spark-2.1.0-bin-hadoop2.6
PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$JAVA_HOME/bin:$PATH:$HOME/bin:$SCALA_HOME/bin
export PATH
配置spark的核心文件:
cd spark-2.1.0-bin-hadoop2.6/
cd conf/
配置slaves
mv slaves.template slaves
vi slaves 添加三个节点
master
slave1
slave2
配置spark-env.sh
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
export JAVA_HOME=/app/soft/jdk1.8.0_192
export SCALA_HOME=/app/soft/scala-2.11.12
export SPARK_MASTER_IP=master
export SPARK_MASTER_PORT=7077
export SPARK_EXECUTOR_INSTANCES=1
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_CORES=1
export SPARK_WORKER_MEMORY=1024M
export SPARK_MASTER_WEBUI=8080
export SPARK_CONF_DIR=/app/spark/spark-2.1.0-bin-hadoop2.6/conf/
把所有的节点的app的work和soft权限都改成777:在所有的节点上执行 chmod 777 -R /app/soft 和chmod 777 -R /app/spark
scp -r /app/spark/ spark@slave1:/app/
scp -r /app/soft/ spark@slave1:/app/
到此spark集群已经搭建完成:
开启:start-all.sh获取视频中文档资料及完整视频的伙伴请加QQ群:947967114
jps可以看到如下进程:
master节点:
3617 Worker
3507 Master
4156 Jps
slave1节点:
3361 Worker
3702 Jps
slave2节点:
3319 Worker
3647 Jps
开启spark-shell验证:
spark-shell --master spark://master:7077 --executor-memory 1024m --driver-memory 1024m
启动之后会显示如下内容:
18/11/29 16:13:46 WARN ObjectStore: Failed to get database default, returning NoSuchObjectException
18/11/29 16:13:47 WARN ObjectStore: Failed to get database global_temp, returning NoSuchObjectException
Spark context Web UI available at http://192.168.0.10:4040
Spark context available as 'sc' (master = spark://master:7077, app id = app-20181129161336-0000).
Spark session available as 'spark'.
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 2.1.0
/_/
Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_192)
Type in expressions to have them evaluated.
Type :help for more information.
scala>
就可以在>后面书写spark代码了:
g NoSuchObjectException
Spark context Web UI available at http://192.168.0.10:4040
Spark context available as 'sc' (master = spark://master:7077, app id = app-20181129161336-0000).
Spark session available as 'spark'.
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 2.1.0
/_/
Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_192)
Type in expressions to have them evaluated.
Type :help for more information.
scala> sc.textFile("/app/spark/spark-2.1.0-bin-hadoop2.6/README.md").flatMap(_.split(" ")).map(x=>(x,1)).reduceByKey(_+_).map(x=>(x._2,x._1)).sortByKey(false).map(x=>(x._2,x._1)).take(10)
res0: Array[(String, Int)] = Array(("",71), (the,24), (to,17), (Spark,16), (for,12), (and,9), (##,8), (a,8), (can,7), (run,7))
scala>获取视频中文档资料及完整视频的伙伴请加QQ群:947967114
大数据:spark集群搭建的更多相关文章
- 大数据-HDFS 集群搭建的配置文件
1.HDFS简单版集群搭建相关配置文件 1.core-site.xml文件 <property> <name>fs.defaultFS</name> <val ...
- 大数据 --> Kafka集群搭建
Kafka集群搭建 下面是以三台机器搭建为例,(扩展到4台以上一样,修改下配置文件即可) 1.下载kafka http://apache.fayea.com/kafka/0.9.0.1/ ,拷贝到三台 ...
- 大数据 --> Hadoop集群搭建
Hadoop集群搭建 1.修改/etc/hosts文件 在每台linux机器上,sudo vim /etc/hosts 编写hosts文件.将主机名和ip地址的映射填写进去.编辑完后,结果如下: 2. ...
- spark集群搭建
文中的所有操作都是在之前的文章scala的安装及使用文章基础上建立的,重复操作已经简写: 配置中使用了master01.slave01.slave02.slave03: 一.虚拟机中操作(启动网卡)s ...
- hadoop+spark集群搭建入门
忽略元数据末尾 回到原数据开始处 Hadoop+spark集群搭建 说明: 本文档主要讲述hadoop+spark的集群搭建,linux环境是centos,本文档集群搭建使用两个节点作为集群环境:一个 ...
- Spark集群搭建(local、standalone、yarn)
Spark集群搭建 local本地模式 下载安装包解压即可使用,测试(2.2版本)./bin/spark-submit --class org.apache.spark.examples.SparkP ...
- Spark集群搭建简要
Spark集群搭建 1 Spark编译 1.1 下载源代码 git clone git://github.com/apache/spark.git -b branch-1.6 1.2 修改pom文件 ...
- Spark集群搭建中的问题
参照<Spark实战高手之路>学习的,书籍电子版在51CTO网站 资料链接 Hadoop下载[链接](http://archive.apache.org/dist/hadoop/core/ ...
- Spark集群搭建_Standalone
2017年3月1日, 星期三 Spark集群搭建_Standalone Driver: node1 Worker: node2 Worker: node3 1.下载安装 下载地址 ...
- 大数据Hadoop-Spark集群部署知识总结(一)
大数据Hadoop-Spark集群部署知识总结 一.启动/关闭 hadoop myhadoop.sh start/stop 分步启动: 第一步:在hadoop102主机上 sbin/start-dfs ...
随机推荐
- 几种常见的Windows 服务器无法联网/无法连接远程桌面等故障解决方案
SEO优化扫我一.服务器无法连接远程桌面 1.Ping不通IP,网站打不开,不可以远程连接.可能是服务器死机了,或者网络有问题,请尝试Web重启服务器或联系服务商确认. 2.Ping正常,网站可以打开 ...
- Python学习---django之ORM语法[对象关系映射]180124
ORM语法[对象关系映射] ORM: 用面向对象的方式去操作数据库的创建表以及增删改查等操作. 优点:1 ORM使得我们的通用数据库交互变得简单易行,而且完全不用考虑该死的SQL语句.快速开发. 2 ...
- Sybase常用时间日期函数
Sybase日期函数日期函数getdate()得到当前时间,可以设置得到各种时间格式.datepart(日期部分,日期)取指定时间的某一个部分,年月天时分秒.datediff(日期部分,日期1,日期2 ...
- iOS亮屏解锁命令【iOS自动化测试】--使用ssh
前提:iOS越狱手机一个 越狱方法:使用pp助手, 爱思助手等 1.从Cydia安装以下软件: AppSync for iOSx(可安装破解软件).afc2add补丁(可访问整个iOS设备的系统文件) ...
- Scala模式匹配和样例类
Scala有一个十分强大的模式匹配机制,可以应用到很多场合:如switch语句.类型检查等.并且Scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配. 1.字符匹配 def mai ...
- 利用TLE数据确定卫星轨道(2)-SGP4模型实现
1.TLE轨道报: 接上一篇,TLE轨道报各项内容所代表的意义如下: 2.SGP4模型: TLE轨道报计算卫星轨道需要用到 NORAD 开 发 的 SGP4/SDP4 模 型 ,SGP4模型是由 Ke ...
- python __new__以及__init__
@[深入Python]__new__和__init__ 1 2 3 4 5 6 7 8 class A(object): def __init__(self): print & ...
- 【[JSOI2009]火星藏宝图】
这里是\(sb\)的\(O(nm)\)做法 上一篇题解里写的\(O(nm)\)做法并没有看懂,我真是好菜啊 这是一个用了斜率优化,但是复杂度仍然是\(O(nm)\)的做法 我们还是先写出简单的\(dp ...
- ethereumjs/ethereumjs-vm-1-简介
https://github.com/ethereumjs/ethereumjs-vm 其实这就是怎么自己使用该模块来生成一个类似geth客户端的以太坊虚拟机,然后进行各类区块链操作 SYNOPSIS ...
- notepad++怎样添加文件目录
需要安装一个Explorer.dll文件 方法一:这个方法我个人试了不成功,可能因为版本问题,进入后选择Explorer进行安装 方法二:网上下载 Explorer.dll文件,放到\\No ...