Mac下Spark2.1.0的伪分布式安装配置

Mac下的安装配置可以用一句话概括:下载编译后的文件(或者用brew直接安装),配置环境变量。MAC OS X版本为10.11.6。

配置SSH

为了确保在远程管理Hadoop以及Hadoop节点用户共享时的安全性, Hadoop需要配置使用SSH协议。

SSH原理可见
http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html

生成SSH keys:

$ ssh-keygen -t rsa -P ""

执行这个命令后, 会在当前用户目录中的.ssh文件夹中生成id_rsa文件,执行如下命令:

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

// 测试如下命令是否能够不使用密码登录
$ ssh localhost

安装配置JDK1.8

Mac一般自带JDK1.6,首先检查JDK版本:

$ java -version

如果没有安装,去官网下载安装,然后设置环境变量:

// 查看JDK安装路径
$ /usr/libexec/java_home

// 配置环境变量
$ vi ~/.bash_profile

// 在.bash_profile中添加 
export JAVA_HOME=$(/usr/libexec/java_home)

// 编译
$ source ~/.bash_profile

注:export设置只对当前的bash登陆session有效,可使用source命令使其立即生效。

安装配置Scala2.12.1

在官网下载http://www.scala-lang.org/download/,解压后放在usr/local/scala目录下。

$ mv scala-2.12.1 /usr/local/scala

// .bash_profile中添加 
export SCALA_HOME=/usr/local/scala
PATH="$SCALA_HOME/bin:$PATH"

// 查看版本
$ scala -version

// 进入scala shell
$ scala

安装配置Hadoop2.7.3

从官网下载hadoop http://hadoop.apache.org/releases.html
解压后放在usr/local/hadoop2.7.3目录下。

// 配置环境变量,.bash_profile中添加
export HADOOP_HOME=/usr/local/hadoop2.7.3
PATH="$SCALA_HOME/bin:$HADOOP_HOME/bin:$PATH"

Hadoop的配置文件在其安装目录的/etc/hadoop下,配置时先将xxx.template 复制为 xxx,再修改该配置文件。

配置hadoop-env.sh

若该文件没有配置JDK,可使用如下命令配置:

export JAVA_HOME=${JAVA_HOME}
配置core-site.xml

该配置文件用于指定NameNode的主机名与端口。

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/Users/yxx/data/hadoop/hadoop-2.7.3/tmp</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131702</value>
    </property>
</configuration>
配置hdfs-site.xml

该配置文件制定了HDFS的默认参数及副本数,因为仅运行在一个节点上,所以这里的副本数为1。

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/Users/yxx/data/hadoop/hadoop-2.7.3/tmp/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/Users/yxx/data/hadoop/hadoop-2.7.3/tmp/hdfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>localhost:9001</value>
    </property>
    <property>
      <name>dfs.webhdfs.enabled</name>
      <value>true</value>
    </property>
</configuration>

其中dfs.namenodename.dir和dfs.datanode.data.dir的路径可以自由设置,最好在hadoop.tmp.dir目录下。

配置mapred-site.xml

该配置文件制定了JobTracker的主机名与端口。

<configuration>
    <property>
    <name>mapred.job.tracker</name>
    <value>localhost:9001</value>
    </property>
</configuration>
运行Hadoop

配置完后即可运行Hadoop。

// 初始化HDFS,进入Hadoop安转目录
$ bin/hdfs namenode -format

// 开启NameNode和DataNode守护进程
$ sbin/start-dfs.sh

// 查看进程信息
$ jps

// 关闭
$ sbin/stop-dfs.sh

在浏览器中输入 http://localhost:50070 即可查看相关信息。

安装配置Spark2.1.0

从官网下载Spark http://spark.apache.org/downloads.html
解压后放在usr/local/spark目录下。

$ mv spark-2.1.0-bin-hadoop2.7 /usr/local/spark

// 配置环境变量,.bash_profile最终为
export JAVA_HOME=$(/usr/libexec/java_home)
export SCALA_HOME=/usr/local/scala
export SPARK_HOME=/usr/local/spark
export HADOOP_HOME=/usr/local/hadoop2.7.3
export PATH="$SCALA_HOME/bin:$SPARK_HOME/bin:$HADOOP_HOME/bin:$PATH"

// 编译
$ source ~/.bash_profile

修改配置文件 spark-env.sh,从Spark安装目录进入conf,在spark-env.sh中添加:

export SCALA_HOME=/usr/local/scala
export SPARK_HOME=/usr/local/spark
export HADOOP_HOME=/usr/local/hadoop2.7.3
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home
export SPARK_WORKER_MEMORY=1g

编辑slaves文件:

$ cp slaves.template  slaves
// 添加所有主机的hostname(需在hosts文件中添加对方的hostname和ip的关系),目前只有localhost
$ vi slaves 

启动Spark:

// 进入Spark安装目录
$ cd /usr/local/spark/bin

// 启动
$ sbin/start-all.sh

// 关闭
$ sbin/stop-all.sh 

在浏览器中输入 http://localhost:8080 即可看到如下页面
这里写图片描述

参考:
http://kiritor.github.io/2016/04/24/Hadoop-install/
http://blog.csdn.net/xgjianstart/article/details/52192735

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值