在完成分布式切片操作后,工作进入到第一阶段最后部分,使用akka发布服务。基于种种原因,提出了另外一条机器上部署CentOS7,安装Geotrellis开发环境,将代码导入后,编译,然后运行发服务的方案。
基于和团队协作,和方便管理等因素,
Geotrellis相关版本选项如下:
Scala : scala 2.11.8
Spark : spark 2.2.0
Java : java 1.8.0_181
Geotrellis : geotrellis 2.0.0-M2
Akka-actor : akka-actor 2.4.3
Akka-http : akka-http 10.0.3
Sbt : sbt 1.1.2
开发工具选择idea,版本为 2019.1.3,通过idea构建sbt项目来管理scala工程。当然,前提是必须安装好linux系统,我才用的是CentOS7 GNOME版本。
第一步 卸载系统自带的OpenJDK以及相关相关的Java文件
(1)终端键入命令:
#java -version
可以看到系统自带的OpenJDK版本信息。
(2)终端键入命令:
#rpm -qa | grep java
以上文件中:
下面这几个可以删除
java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
noarch文件可以不用删除
python-javapackages-3.4.1-11.el7.noarch
tzdata-java-2016g-2.el7.noarch
javapackages-tools-3.4.1-11.el7.noarch
(3)终端键入命令:
#rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
但是会出错,因为在普通用户sxd用户下,并没有操作这几个文件的权限。
解决:
在终端窗口键入:
#su root
进入root用户,可以有权限操作这几个文件。
完整的删除文件的命令,在终端窗口键入:
#rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
#rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
#rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
#rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
(4)检查是否删除成功
在终端输入:
#java -version
代表已经删除成功了。
(1)打开WinSCP,输入主机名,用户名,密码:
点击登录,登录成功后,将jdk包传入Linux:
(2)创建Java文件,用来保存解压文件:
终端键入:
#mkdir -p /usr/java
(3)解压文件到/usr/java
终端键入命令:
#tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/java/
(4)检查解压文件的权限,属主
如果文件属主不属于root,在终端键入命令:
#chown -R root:root /usr/java/jdk1.8.0_181
将属主改为root.
(5)删除jdk压缩包
在终端键入命令:
#chown -R root:root /usr/java/jdk1.8.0_181
此处建议使用全局变量,而非用户变量
在终端键入命令:
#vim /etc/profile
进入文本编辑状态下,光标走到文件最后一行,键盘按下:
i
进入插入状态:
在文本的最后一行粘贴如下:
注意JAVA_HOME=/usr/java/jdk1.8.0_181 就是你自己的目录
#java environment
export JAVA_HOME=/usr/java/jdk1.8.0_181
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
如图:
键盘:
ESC
shift+q
键盘:
qw!
写入并强制退出。
(1)让刚刚设置的环境变量生效
键入:
#source /etc/profile
#source /etc/profile或# . /etc/profile
(2)检查是否配置成功
键入:
#java -version
至此,jdk安装成功!
2、CentOS7安装Scala2.11.8
官网地址:https://www.scala-lang.org/download/
wget下载:#wget https://downloads.lightbend.com/scala/2.11.12/scala-2.11.12.tgz
创建存放scala的目录:mkdir -p /usr/scala
解压:#tar -zxvf scala-2.11.8.tgz -C /usr/scala
建议选用全局变量:
#scala environment
export SCALA_HOME=/usr/scala/scala-2.11.8
export PATH=$SCALA_HOME/bin:$PATH
3.刷新环境变量
#source /etc/profile
OK,Scala安装成功。
解压解压安装包
#tar xzvf scala-2.11.8.tgz -C /usr/scala
检查scala目录下文件属主
将scala文件夹所属改为root
#chown -R root:root /usr/scala/scala-2.11.8
此步骤要在第三步之前进行
3、CentOS7安装sbt1.1.2
终端输入命令
#wget https://piccolo.link/sbt-1.1.2.tg
终端输入命令:
#mkdir -p /opt/apps/sbt
创建sbt文件,
终端输入命令:
#tar -zxvf -C sbt-1.1.2.tgz /opt/apps/sbt/
如果属主为非root,终端输入命令:
#chown -R root:root sbt
修改属主。
(1)编辑sbtconfig.txt文件
在目录/opt/apps/sbt/conf下,找到sbtconfig.txt文件,根据自身内存条件修改,如下;
(2)配置repositories文件
仓库文件repositories配置:
如图:
终端输入命令:
#cd /opt/apps/sbt/
#vim ./sbt
#新建sbt,在sbt文件中添加下面三行。
#!/bin/bash
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
java $SBT_OPTS -jar /opt/apps/sbt/bin/sbt-launch.jar "$@"
然后赋予执行权限:
#chmod u+x ./sbt
在全局环境变量中添加sbt路径,export PATH=/home/wangrui/sbt/:$PATH
在终端输入命令:
#vim /etc/profile
终端输入命令:
#source /etc/prfile
使得配置生效。
检验sbt是否可用,在终端输入命令:
#sbt sbtVersion#显示下面内容表示第一次进行启动时候需要安装一些东西,所以需要等待一些时间,等他下载完相关依赖
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256M; support was removed in 8.0
Getting org.scala-sbt sbt 1.2.0 (this may take some time)...
最终如图,显示安装成功:
4、CentOS7安装IntelliJ IDEA
系统环境:CentOS Linux 7 x64
当前用户:root
安装:ideaIU-2019.1.3.tar.gz
下载地址:https://www.jetbrains.com/idea/download/#section=linux
官网下载idea安装包:http://www.jetbrains.com/idea/download/
解压到/opt/apps/IDEA路径下,
#tar -zxvf ideaIU-2019.1.3.tar.gz -C /opt/apps/IDEA/
(1)开启安装程序
切换到IDEA的bin目录:
#cd /opt/apps/IDEA/idea-IU-191.7479.19/bin/
执行安装脚本:
#./idea.sh
窗口弹出,如下;
(2)询问是否需要载入以前配置
如果以前有安装过,并且保留了配置,则可以选择第一项。
这里没有安装过,选择第二项 Do not import settings(不导入配置)。
(3)接受许可
(4)询问是否共享个人使用数据
Send Usage Statistice (发送个人使用数据)
Don‘t send(不发送)
我选择不发送
(5)激活
选择 Activation code
前往该网站:http://idea.lanyus.com/ 获取注册码
(6)选择IDEA主题
这里看个人喜好随意选择就行了。
(7)询问是否需要将IDEA集成至系统应用程序菜单
直接两个勾都打上,要不然每次启动idea都需要使用终端启动脚本来开启,非常麻烦。
(8)创建启动脚本
这里我打勾是为了自定义该脚本存放的位置。
/opt/apps/IDEA/idea-IU-191.7479.19/bin/idea.sh
(9)个性化设置
看个人需求。我这里直接下一步,默认就行。
(10)设置其他语言或功能的支持
看个人需求。我这里直接下一步,默认就行。
(11)单击Star using IntelliJ IDEA(开始使用IntelliJ IDEA),安装成功。
(12)创建桌面快捷方式
关闭之前那个终端,在桌面上重新右击打开终端,命令行键入:vim /root/Desktop/idea.desktop,进入之后按i进入插入模式,在打开的文件中编辑以下内容,加入之后按ESC,然后按Shift+q,最后再按wq退出。
[Desktop Entry]
Version=2019.1.3
Type=Application
Name=IDEA
Comment=Sophisticated text editor for code, markup and prose
Exec=/opt/apps/IDEA/idea-IU-191.7479.19/bin/idea.sh
Terminal=false
Icon=/opt/apps/IDEA/idea-IU-191.7479.19/bin/idea.png
Categories=Development;
(13)修改文件权限,使得文件生效,产生桌面快捷方式图标
#chmod -R 755 /root/Desktop/idea.desktop
如图:
5、总结
至此,CentOS7搭建Geotrellis开发环境已经基本完成大部分工作。