Scala - Start
安装
从官网下载二进制文件
mv scala /opt/scala
打开Idea指定SDK之后就可以创建Scala项目了
开始
在Idea中新建一个Scala项目
创建一个scala object
1 | object Test { |
可以直接运行
也可以使用命令行
1 | scala Test.scala |
注意
Scala中的object相当于静态类,main只能处于object中。
class只有在被实例化的时候才会被加载。
Reference
https://www.jianshu.com/p/e0fc0ab7a9d2
Linux下的ssh密钥
创建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 | Host host_alias |
有多个私钥只需要追加在后面即可。
通过配置后可以直接
1 | ssh host_alias |
进行登录
方法二
1 | #ssh-agent |
Server
管理多个公钥
只要将公钥中的内容直接复制到authorized_keys
文件中即可。
SSH配置
开启鉴权
1 | RSAAuthentication 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
Spark - 部署
安装
从腾讯云镜像安装(这是内网地址)
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 | var file = sc.textFile("/home/ubuntu/documents/xxx.txt") |
启动节点
主节点
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
code/linux/linux-dir
常用目录
/
根目录
/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