分类 标签 存档 社区 博客 友链 GitHub 订阅 搜索

Hadoop-Scala-Spark 环境安装

166 浏览

ZERO

    持续更新 请关注:https://zorkelvll.cn/blogs/zorkelvll/articles/2018/11/02/1541172452468

背景

   本文主要是介绍大数据基础设施软件 Hadoop-Scala-Spark 的安装过程,以 macOS、linux 等系统环境为例进行实践!

一、背景

    在最新的项目开发过程中,需要大量的对基础数据的转换实现中间字段或者中间表,使用 SQL 去进行数据的计算和处理,往往需要耗费大量的精力去写 SQL 并且实现起来很不方便,没有 R、Python、Matlab、Scala 等实现起来方便,基于这样的一个工作过程中遇到的痛点背景,有同学建议使用 spark 进行数据的 etl 处理直接生成结果表,先不论能否实现最终的目标但不尝试根本就不会知道是否可以实现,因此先把一个基础的环境搭建起来,至于怎么用怎么样设计好一套流程和环境实现 “一劳永逸”(软件领域没有什么是一劳永逸的)那就慢慢来吧!

二、实践 - 环境安装(macOS)

    1、版本:

    jdk:1.8.0_161

    hadoop:3.0.0

    2、安装 hadoop

    (1)配置 ssh:ssh-keygen -t rsa   =>  一直 enter  =>  cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys =>  确认 mac 已关闭防火墙和开启远程登录 (系统偏好设置下:安全与隐私 => 防火墙 关闭 ;共享 => 远程登录 打钩)

    (2)brew 下载安装 hadoop:brew install hadoop   =>   可以查看到 / usr/local/Cellar/hadoop/3.0.0 已经安装的 hadoop 位置

    (3) 配置 hadoop-env.sh : vim /usr/local/Cellar/hadoop/3.0.0/libexec/etc/hadoop/hadoop-env.sh  =>  将

# export HADOOP_OPTS="-Djava.net.preferIPv4Stack=true -Dsun.security.krb5.debug=true -Dsun.security.spnego.debug"

后添加

export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home"

 (4)配置 core-site.xml【hdfs 地址和端口】:vim /usr/local/Cellar/hadoop/3.0.0/libexec/etc/hadoop/core-site.xml  =>  添加配置

<configuration>
   <property>
      <name>hadoop.tmp.dir</name>
      <value>/usr/local/Cellar/hadoop/hdfs/tmp</value>
     <description>A base for other temporary directories.</description>
   </property>
   <property>
     <name>fs.default.name</name>
     <value>hdfs://localhost:8020</value>
   </property>
</configuration>

并且建立文件夹 mkdir /usr/local/Cellar/hadoop/hdfs  & mkdir /usr/local/Cellar/hadoop/hdfs/tmp

    (5) 配置 mapred-site.xml【mapreduce 和 jobtracker 的地址和端口】:

先备份:cp /usr/local/Cellar/hadoop/3.0.0/libexec/etc/hadoop/mapred-site.xml mapred-site-bak.xml 

再编辑:vim /usr/local/Cellar/hadoop/3.0.0/libexec/etc/hadoop/mapred-site.xml  =>  添加配置

<configuration>
      <property>
        <name>mapred.job.tracker</name>
        <value>localhost:8021</value>
      </property>
</configuration>

    (6) 配置 hdfs-site.xml【修改 hdfs 备份数】:vim /usr/local/Cellar/hadoop/3.0.0/libexec/etc/hadoop/hdfs-site.xml  =>  添加配置 dfs.replication 1

   (7) 格式化 hdfs 文件系统格式:hdfs namenode -format

   (8) 启动及关闭 hadoop 服务:

   /usr/local/Cellar/hadoop/3.0.0/libexec/start-dfs.sh  =>  守护进程:namenodes、datanodes、secondary namenodes,浏览器中访问http://localhost:9870 , 注意端口号是 9870 而不是 50070

   /usr/local/Cellar/hadoop/3.0.0/libexec/start-yarn.sh  =>  yarn 服务进程:resourcemanager、nodemanagers,浏览器中访问http://localhost:8088 和 http://localhost:8042

   /usr/local/Cellar/hadoop/3.0.0/libexec/stop-yarn.sh

   /usr/local/Cellar/hadoop/3.0.0/libexec/stop-dfs.sh

    3、安装 scala

    brew 下载安装 scala:brew install scala   =>   可以查看到 / usr/local/Cellar/scala/2.12.5 存在或 scala -version 查看版本 

    4、安装 spark

    spark 官网下载,下载的时候注意查看其需要依赖的 hadoop 版本是否满足,下载后 mac 下直接用解压软件解压并将解压后的文件 mv 至 / usr/local 下也即 / usr/local/spark-2.3.0-bin-hadoop2.7

    cd /usr/local/spark-2.3.0-bin-hadoop2.7/bin & spark-shell

    5、系统环境变量~/.bash_profile,便于在任何目录下执行一些命令

    vim ~/.bash_profile,添加

export HADOOP_HOME=/usr/local/Cellar/hadoop/3.0.0/libexec
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

export SCALA_HOME=/usr/local/Cellar/scala/2.12.5
export PATH=$PATH:$SCALA_HOME/bin

export SPARK_HOME=/usr/local/spark-2.3.0-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin

注意:brew 方式安装的 hadoop3.0.0,需要配置的 hadoop 路径是 libexec 下的,否则 start-dfs.sh 命令会报错 “error:cannot execute hdfs-config”

    6、日常启动关闭命令:

start-dfs.sh
start-yarn.sh
spark-shell
stop-yarn.sh
stop-dfs.sh

以上是 hadoop-scala-spark 在 mac 下的安装过程,为昨天在 mac 下首次实践,一次性成功 => 希望能够对各位同学有所帮助,和得到各位同学的后续关注,如果疑问或者遇到的坑,欢迎在文章下面留言!!

spark 开启之路https://spark.apache.org/docs/latest/quick-start.html

评论  
留下你的脚步
推荐阅读