zoukankan      html  css  js  c++  java
  • CentOS 7.0下面安装并配置Spark

    安装环境:
    虚拟机:VMware® Workstation 8.0.1(网络桥接)
    OS:CentOS 7
    JDK版本:jdk-7u79-linux-x64.tar
    Scala版本:scala-2.11.7
    Spark版本:spark-1.4.0-bin-hadoop2.4
    用户:hadoop安装Centos时创建的,属于管理员组

    第一步:配置SSH

    使用hadoop登录系统,在终端运行:

    yum install openssh-server

    wpsE08F.tmp_thumb1

    如果提示:

    wpsE090.tmp_thumb2

    则是因为yum服务被占用,需要强制解锁:

    rm -rf /var/run/yum.pid

    wpsE091.tmp_thumb2

    终端就会联网下载安装包并自行进行安装。安装完成后输入下面指令验证22端口是否打开:

    netstat -nat

    wpsE0A2.tmp_thumb2

    wpsE0A3.tmp_thumb2

    确定22端口是打开的,然后检查SSH安装正确否,输入

    ssh localhost

    输入当前用户名和密码按回车确认,说明安装成功,同时ssh登陆需要密码。

    wpsE0B3.tmp_thumb2

    这里重点说明一下:

    Ssh配置实际上就是配置无密码访问,使用身份凭据代替密码验证,访问时只需要提供一个身份凭据即可,不需要输入密码。那么意思也就是说,每一个用户都有一个独一无二的凭据,要访问谁,就将这个凭据交给谁(即复制到人家的目录下即可)

    接下来,在终端输入命令进入Hadoop账户目录:

    cd /home/hadoop 

    再次输入:

    ssh-keygen -t rsa

    然后一路回车

    wpsE0B4.tmp_thumb2

    然后我们再次进入.ssh文件夹,然后将id_rsa.pub追加到authorized_keys文件,命令如下:

    cd .ssh

    wpsE0B5.tmp_thumb2

    顺便查看下本目录下都有什么文件。Id_rsa是属于该账户的私钥,id_rsa.pub是属于该账户的公钥,就是要交出去的。

    这里需要多说一句,如果一个主服务器有多个账户要配置无密码访问怎么办?

    主服务器下面应该有一个叫authorized_keys 的文件,谁需要配置无密码访问,就把你的公钥追加在这个文件里即可。

    cp id_rsa.pub authorized_keys

    wpsE0C6.tmp_thumb2

    再次测试无密码登录

    ssh localhost

    wpsE0C7.tmp_thumb2

    最好是多打开几次终端,测试ssh登录,也可以重启服务测试:

    service sshd restart 重启服务

    service sshd start 启动服务

    service sshd stop 停止服务 

    netstat -antp | grep sshd 查看是否启动22端口

    wpsE0D7.tmp_thumb2

    任何时候遇到权限拒绝在命令前加上sudo 即可,如下就被拒绝了:

    wpsE0D8.tmp_thumb2

    chkconfig sshd on设置开机启动

    chkconfig sshd off 禁止SSH开机启动

    第二步:配置Java、Scala、Saprk

    咱们一次性将需要的软件全部复制到/home/data目录下备用。需要注销使用root登录,其他用户权限不够。

    Root用户可以直接在UI下面操作,顺便解压好。

    wpsE0D9.tmp_thumb2

    然后切换回hadoop用户(*重要)

    配置Java路径:

    sudo gedit /etc/profile

    在最后一行回车加上:

    #JAVA VARIABLES START

    export JAVA_HOME=/home/data/jdk1.7.0_79

    export PATH=$PATH:$JAVA_HOME/bin

    #JAVA VARIABLES END

    然后刷新系统配置,检查Java安装情况:

    source /etc/profile

    java -version

    wpsE0EA.tmp_thumb2

    看到这个说明Java环境安装成功。

    接下来配置Scala环境:

    sudo gedit /etc/profile

    在最后一行加上:

    #SCALA VARIABLES START

    export SCALA_HOME=/home/data/scala-2.11.7

    export PATH=$PATH:$SCALA_HOME/bin

    #SCALA VARIABLES END

    然后刷新系统配置,检查Java安装情况:

    source /etc/profile

    scala -version

    看到下图说明成功:

    wpsE0EB.tmp_thumb2

    接下来配置Spark环境:

    sudo gedit /etc/profile

    在最后一行加上:

    #SPARK VARIABLES START

    export SPARK_HOME=/home/data/spark-1.4.0-bin-hadoop2.4

    export PATH=$PATH:$SPARK_HOME/bin

    #SPARK VARIABLES END

    配置完成的profile文件应该如下图:

    wpsE0FC.tmp_thumb2

    然后刷新系统配置:

    source /etc/profile

    进入spark的conf目录:

    wpsE0FD.tmp_thumb2

    备份文件:

    sudo mv spark-env.sh.template spark-env.sh

    然后编辑新建的文件:

    sudo gedit spark-env.sh

    在文件最下面加入:

    export SCALA_HOME=/home/data/scala-2.11.7

    export JAVA_HOME=/home/data/jdk1.7.0_79

    export SPARK_MASTER_IP=localhost

    export SPARK_WORKER_MEMORY=1024m

    export master=spark://localhost 7070

    最后还应该编辑该目录下的slaves中机器名,因为我机器名就叫localhost,所以就不编辑了。

    第三步:运行Spark

    启动Spark集群。

    进入sbin目录:

    wpsE10D.tmp_thumb2

    然后在浏览器中访问:localhost:8080

    wpsE10E.tmp_thumb2

    从页面上可以看到一个Worker节点的信息。

    我们进入spark的bin目录,使用“spark-shell”控制台:

    应该无错出现下面界面:

    wpsE11F.tmp_thumb2

    测试下:

    wpsE120.tmp_thumb2

    通过访问"http://localhost:4040",进入spark-shell web控制台页面:

    wpsE130.tmp_thumb2

    wpsE131.tmp_thumb2

    输入:

    hello world

    hello hadoop

    pls say hello

    然后在Scala命令行输入读取程序:

    val readFile = sc.textFile("file:///home/file/test1.txt")

    wpsE132.tmp_thumb2

    再执行:

    readFile.collect

    wpsE143.tmp_thumb2

    wpsE144.tmp_thumb2

    查看spark-shell web控制台:

    wpsE155.tmp_thumb2

    wpsE156.tmp_thumb3

  • 相关阅读:
    redis.conf 配置信息:读取及修改命令
    Redis 持久化
    webpack 中,module、chunk、bundle 的区别(待补充)
    对象属性的描述:writable、enumerable、configurable
    webpack 中,importloaders 配置项的含义
    vue cli 3 中,Lint on save 与 Lint and fix on commit 区别(待补充)
    使用 vue-cli-service inspect 来查看一个 Vue CLI 3 项目的 webpack 配置信息(包括:development、production)
    Eslint 能自动格式化代码,为什么还要用 Prettier?
    prettier-eslint 与 prettier-eslint-cli 区别
    032_nginx配置文件安全下载
  • 原文地址:https://www.cnblogs.com/madyina/p/4655622.html
Copyright © 2011-2022 走看看