zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    学习网站
    Windows下python安装运行
    Python学习
    ES学习
    Eclipse安装lombok及常用注解
    Spark学习资料
    Spring Cloud学习资料
    使用Excel过滤重复数据
    Excel根据字符串截取单元格部分内容
    Spring中@Transactional(rollbackFor = Exception.class)的作用
  • 原文地址:https://www.cnblogs.com/mmzs/p/8192594.html
Copyright © 2011-2022 走看看