天天看点

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文件夹中生成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- /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.
PATH="$SCALA_HOME/bin:$HADOOP_HOME/bin:$PATH"
           

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

配置hadoop-env.sh

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

配置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-.-bin-hadoop2. /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.
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.
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1._101.jdk/Contents/Home
export SPARK_WORKER_MEMORY=g
           

编辑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 即可看到如下页面

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

参考:

http://kiritor.github.io/2016/04/24/Hadoop-install/

http://blog.csdn.net/xgjianstart/article/details/52192735

继续阅读