0%

安装

从官网下载二进制文件

mv scala /opt/scala

打开Idea指定SDK之后就可以创建Scala项目了

开始

在Idea中新建一个Scala项目

创建一个scala object

1
2
3
4
5
object Test {
def main(args: Array[String]): Unit = {
print("hello world!")
}
}

可以直接运行

也可以使用命令行

1
scala Test.scala

注意

Scala中的object相当于静态类,main只能处于object中。

class只有在被实例化的时候才会被加载。


Reference

https://www.jianshu.com/p/e0fc0ab7a9d2

创建SSH Key

生成

创建一对公钥与私钥

1
ssh-keygen -C "description"

-C可以对Key进行描述,描述内容将在公钥(.pub)的最后显示.

  • 输入Key的名称
  • 输入Key的密码(如果不需要,可以不输入)

复制公钥

1
ssh-copy-id user@hostname

-i指定公钥文件

登陆

1
ssh -i privateKey user@hostname

-i指定私钥文件

Client

管理多个私钥

方法一

修改~/.ssh/config

1
2
3
4
5
Host host_alias
HostName host
Port 22
User ubuntu
IdentityFile id_rsa_common

有多个私钥只需要追加在后面即可。

通过配置后可以直接

1
ssh host_alias

进行登录

方法二

1
2
3
4
5
6
7
8
9
#ssh-agent
# 不输可能出错?
# 添加私钥
ssh-add id_rsa_common

# 查看私钥列表
ssh-add -l
# 清空私钥
ssh-add -D

Server

管理多个公钥

只要将公钥中的内容直接复制到authorized_keys文件中即可。

SSH配置

开启鉴权

1
2
3
4
5
RSAAuthentication yes
PubkeyAuthentication yes

#PermitRootLogin no
#PasswordAuthentication yes

Github

将公钥直接复制到用户下的SSH中

1
ssh -T [email protected]

使用这种测试时必须ssh-add,否则它只会查找目录下默认的私钥名,如果自定义了名字则找不到。并且如果使用的是第一种添加私钥的方法也不行,因为此时请求的是git账号。


Reference

https://www.cnblogs.com/yanglang/p/9563496.html

https://blog.csdn.net/zyaiwmy/article/details/54313283

https://www.jianshu.com/p/fe215c52c534

安装

从腾讯云镜像安装(这是内网地址)

wget http://mirrors.tencentyun.com/apache/xxx

解压到~/applications

创建软连接,方便管理不同版本。

ln -s spark-3.0.1-bin-hadoop2.7 spark

export SPARK_HOME=/home/ubuntu/applications/spark

以后只要将软连接的指向改动到新版本,不需要改动环境变量。

启动

安装JDK

sudo apt install openjdk-11-jdk

使用Scala Shell启动Spark

spark-shell

简单的例子

1
2
3
4
5
6
7
var file = sc.textFile("/home/ubuntu/documents/xxx.txt")
// 打印行数
file.count()
// 打印第一行
file.first()
// 过滤打印
file.filter(line => line.contains("spark")).count()

启动节点

主节点

cd $SPARK_HOME/sbin

./start-master.sh

通过ip:8080可以web访问

获取Master节点的Url

spark://localhost.localdomain:7077

从节点

./start-slave.sh spark://localhost.localdomain:7077

可以通过jps(显示当前的Java进程)查看启动的服务

Web端可以看到有了Workers

用Shell连接Master

1
MASTER=spark://localhost.localdomain:7077 spark-shell

Web端可以看到RunningApplications有了Shell

停止服务

./stop-all.sh

jps查看

集群部署

配置文件

主节点配置环境变量conf/spark-env.sh

主节点配置从节点的主机名conf/slaves, 此时主机名要写入hosts中

将spark整体文件拷贝到所有从节点,路径与主节点一致

配置主节点到从节点的SSH Key无密码登录

启动集群sbin/start-all.sh

常用目录

/

根目录

/bin

/bin, /sbin, /usr/bin, /usr/sbin这些都是存放可执行文件的,sbin下只有root才可以执行。

/boot

启动系统时候用的

/dev

设备文件

/etc

系统的配置文件等

/home

家目录

/lib

系统库

/mnt

挂载目录,挂在别的文件系统

/media

挂载目录

/root

root用户的家目录

/tmp

存放临时文件

/sys

里面的东西直接写入内存的东西,内核,驱动…

/proc

里面的东西直接写入内存

/usr

存放应用程序和文件

/var

系统文档,比如/var/log

/opt

安装附加软件包,/opt/custom_package/bin下是软件目录

/srv

用于存储本机提供的服务或数据,比如/srv/www, /srv/ftp等


References

https://zhuanlan.zhihu.com/p/343554675

http://www.linuxidc.com/Linux/2015-04/116032.htm

https://blog.csdn.net/u012107143/article/details/54972544