scala的安裝及使用


前提你的集群機器已經安裝好jdk1.7.0_79、hadoop-2.7.3;

配置中使用了master01、slave01、slave02、slave03;

文中的所有操作都是在之前的文章http://www.cnblogs.com/mmzs/p/8031129.html基礎上建立的,重復操作已經簡寫;

 

一、虛擬機中操作(啟動網卡)
sh /install/initNetwork.sh
ifup eth0

 

二、基礎配置(主機名、IP配置、防火牆及selinux強制訪問控制安全系統)
vi /etc/sysconfig/network (配置磁盤中主機名字)
vi /etc/hosts (配置映射,)
hostname 主機名 (修改內存中主機名)
然后,重新鏈接查看是否成功;

vi /etc/sysconfig/network-scripts/ifcfg-eth0 
查看內容是否設置成功:cat /etc/sysconfig/network-scripts/ifcfg-eth0 

復制代碼
DEVICE=eth0 (設置需要重啟的設備的名字)
TYPE=Ethernet(以太網)
ONBOOT=yes (設置為yes)
NM_CONTROLLED=yes
BOOTPROTO=static (設置為靜態)
IPADDR=192.168.238.130 (本機IP地址)
NETMASK=255.255.255.0 (子網掩碼)
GATEWAY=192.168.238.2 (網關)(查詢本機網關:route -n)
DNS1=192.168.238.2
DNS2=8.8.8.8    (谷歌IP地址)
復制代碼

 

vi /etc/sysconfig/selinux
修改:SELINUX=disabled
去掉注釋查看selinux內容:
grep -Ev '^#|^$' /etc/sysconfig/selinux

永久關閉防火牆:
service iptables stop
chkconfig iptables off

 

三、配置ssh免密登錄(為root用戶配置免s密碼登錄)
只需要master登錄到salve各個節點即可,無需反向
[root@master01 ~]# ssh-keygen -t rsa 創建公匙
[root@master01 ~]# ssh-copy-id slave02 拷貝公匙

 大數據學習交流群:217770236 讓我我們一起學習大數據

 

四、安裝scala

1、上傳安裝包到/install/目錄

[hadoop@master01 install]$ ls
initNetwork.sh  scala-2.11.8.tgz  spark-2.1.1-bin-hadoop2.7.tgz

2、解壓到/software/目錄

[hadoop@master01 install]$ tar -zxvf scala-2.11.8.tgz -C /software/

3、配置系統環境

[root@master01 install]# vi /etc/profile
JAVA_HOME=/software/jdk1.7.0_79
HADOOP_HOME=/software/hadoop-2.7.3
HBASE_HOME=/software/hbase-1.2.6
SCALA_HOME=/software/scala-2.11.8
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/lib:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$SCALA_HOME/bin
export PATH JAVA_HOME HADOOP_HOME HBASE_HOME SCALA_HOME
[root@master01 install]# source /etc/profile

4、驗證是否安裝成功

[root@master01 install]# scala -version
[root@master01 install]# scalac -version

[root@master01 install]# which scala
/software/scala-2.11.8/bin/scala
[root@master01 install]# which scalac
/software/scala-2.11.8/bin/scalac
5、修改Scala安裝目錄的宿主為root,如果已經是root則不用修改
[root@master01 software]# chown -R root:root scala-2.11.8

6、分發Scala的安裝目錄到各個Slave節點
[root@master01 software]# scp -r scala-2.11.8 slave01:/software/
[root@master01 software]# scp -r scala-2.11.8 slave02:/software/
[root@master01 software]# scp -r scala-2.11.8 slave03:/software/

7、分發系統環境配置文件到各個Scala節點
[root@master01 software]# scp -r /etc/profile slave01:/etc/
[root@master01 software]# scp -r /etc/profile slave02:/etc/
[root@master01 software]# scp -r /etc/profile slave03:/etc/
[root@slave01 software]# source /etc/profile
[root@slave02 software]# source /etc/profile
[root@slave03 software]# source /etc/profile

 

五、scala的基礎使用

[root@master01 install]# scala
Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_79).
Type in expressions for evaluation. Or try :help.

scala> :q
[root@master01 install]# 

//定義變量

scala> var a=20;
a: Int = 20

scala> a
res0: Int = 20

//1、貌似和js有點像,但是不能像js那樣省略變量類型

scala> b=30;
<console>:13: error: not found: value b
val $ires0 = b
             ^

<console>:11: error: not found: value b
       b=30;
       ^ 

//變量值修改

scala> a=40;
a: Int = 40

scala> a
res1: Int = 40

//定義一個常量

scala> val k=100
k: Int = 100

scala> k=200
<console>:12: error: reassignment to val
       k=200
        ^ 

//2、類型可以通過第一次賦值自動推斷,后面的類型轉換要遵循類型兼容原則

scala> a=50;
a: Int = 50

scala> a=55.55
<console>:12: error: type mismatch;
 found   : Double(55.55)
 required: Int
       a=55.55
         ^ 

//Int是作為一個和推斷類型校驗的作用

scala> var kk:Int=300
kk: Int = 300

//300.333推斷出是double,但是和定義的Int校驗不一樣,所以出錯

scala> var kk:Int=300.333
<console>:11: error: type mismatch;
 found   : Double(300.333)
 required: Int
       var kk:Int=300.333
                  ^ 

//常量不能賦值修改,但是可以重新定義

scala> val cc=11;
cc: Int = 11

scala> cc=12
<console>:12: error: reassignment to val
       cc=12
         ^

scala> val cc=12;
cc: Int = 12

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM