Spark Hadoop 环境搭建

首先准备一台Linux环境的服务器,建议使用 VMware 或者 virtual box 来虚拟一台服务器,这对于新手来说比较适合,既能随时调整也能随时导出并迁移。

准备软件:

  1. Java环境, 下载链接,建议选择 1.7 版本
  2. Hadoop环境,下载链接,建议选择 2.6 版本
  3. Spark环境,下载链接,根据Hadoop版本来选择
  4. Scala环境,下载链接,推荐使用 2.11.5 版本
  5. Ubuntu server 镜像,推荐选择14.04(长期支持版本)
  6. 国内网速感人,所以全部所需资料已经放在百度分享里面了,自取链接: 百度云盘,密码: mtnv

操作步骤

  1. 把Ubuntu镜像安装到虚拟机,完成服务器安装,命名为 server-1。建议增加 /etc/hosts 记录,方便以后在服务的配置文件中使用(如果使用IP配置的话,不方便对虚拟机进行迁移,比如从公司迁移到家里,网段可能会变化,IP也会变化)
#编辑 /etc/hosts,目前我在局域网中固定使用这个IP
10.0.0.16    server-1
  1. 在 server-1 上面安装 openssh-server(不安装的话没法SSH远程连接)
安装后记得重启ssh服务
sudo service ssh restart
  1. 把软件包放在 /opt 目录下, 查看/opt下的文件夹
/opt/hadoop-2.6.0
/opt/jdk1.7.0_79
/opt/scala-2.11.5
/opt/spark-1.6.1-bin-hadoop2.6
  1. 设置环境变量
#根据实际安装位置修改代码,添加至 "/etc/profile" 末尾
export JAVA_HOME=/opt/jdk1.7.0_79
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export SCALA_HOME=/opt/scala-2.11.5
export HADOOP_HOME=/home/spark/opt/hadoop-2.6.0
export SPARK_HOME=/opt/spark-1.6.1-bin-hadoop2.6
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:${HADOOP_HOME}/bin
  1. 使环境变量生效
source /etc/profile
  1. 验证安装是否正确,查看输出信息
java -version
javac -version
scala -version
  1. 进入配置文件目录 修改Hadoop的配置文件(包括7-16)
cd /opt/hadoop-2.6.0
# 建立目录提供给程序使用
mkdir tmp && mkdir -p dfs/name && mkdir -p dfs/data
  1. 修改配置文件hadoop-env.sh(路径:/opt/hadoop-2.6.0/etc/hadoop,下同,建议修改任何配置文件前都先备份)
# 注释原来的 JAVA_HOME 变量,重新写入
export JAVA_HOME=/opt/jdk1.7.0_79
  1. 修改配置文件yarn-env.sh
#在文件开头导入环境变量
export JAVA_HOME=/opt/jdk1.7.0_79
  1. 修改配置文件 slaves,把 localhost 改为 server-1 即可
  2. 修改核心配置文件 core-site.xml
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://server-1:9000</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/opt/hadoop-2.6.0/tmp</value>
        <description>Abasefor other temporary directories.</description>
    </property>
    <property>
        <name>hadoop.proxyuser.spark.hosts</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.spark.groups</name>
        <value>*</value>
    </property>
</configuration>
  1. 修改 hdfs-site.xml 配置文件
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>server-1:9001</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/opt/hadoop-2.6.0/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/opt/hadoop-2.6.0/dfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
</configuration>
  1. 修改 mapred-site.xml 配置文件
# 首先拷贝配置文件
cp mapred-site.xml.template mapred-site.xml
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>server-1:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>server-1:19888</value>
    </property>
</configuration>
  1. 修改 yarn-site.xml 配置文件
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>server-1:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>server-1:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>server-1:8035</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>server-1:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>server-1:8088</value>
    </property>
</configuration>
  1. 验证 hadoop 配置
cd /opt/hadoop-2.6.0 && ./bin/hadoop namenode -format
  1. 启动和停止 hadoop 相关服务
./sbin/start-all.sh
./sbin/stop-all.sh

这里需要提示使用密码,则可以配置本机通过 SSH 免密码登录,ssh server-1 成功即可
  1. 进入目录修改 spark 相关配置文件
cd /opt/spark-1.6.1-bin-hadoop2.6
cp conf/spark-env.sh.template conf/spark-env.sh

编辑配置文件

export JAVA_HOME=/opt/jdk1.7.0_79
export SCALA_HOME=/opt/scala-2.11.5
export SPARK_MASTER_IP=server-1
export SPARK_WORKER_MEMORY=1028m
export HADOOP_CONF_DIR=/opt/hadoop-2.6.0/etc/hadoop

启动相关服务

./sbin/start-all.sh
  1. server-1:50070 可以查看Hadoop集群状态信息,如果出现任何错误可以到对应的日志文件夹查看信息
例如查看namenode相关日志
cd /opt/hadoop-2.6.0/logs
tail -f hadoop-odirus-namenode-server-1.out

文件声明

被分享的软件均通过百度云从原始网站离线下载,自己没做任何修改(百度云有没有修改无法保证,不放心的可以校验哈希值)。

参考文章:

    原文作者:odirus
    原文地址: https://www.jianshu.com/p/5b1eafdf34a9
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞