zoukankan      html  css  js  c++  java
  • Ubuntn16.04.3安装Hadoop3.0+scale2.12+spark2.2

    Ubuntn16.04.3安装Hadoop3.0+scale2.12+spark2.2

    对比参照此博文bovenson

    前言:因为安装的Hadoop、Scale是基于JAVA的应用程序,所以必须先安装JDK。Spark是利用scale语言搭建,因此安装完jdk还需要安装scale才能让spark跑起来。

    一、安装JDK

    下载jdk,点击下载

    因为接下来安装的Hadoop版本是3.0所以这里安装1.8JDK

     

    用户权限限制我们可以切换到root账户执行以下操作

    l  新建一个文件夹存放jvm相关文件

    sudo mkdir /usr/lib/jvm

    l  解压下载的jdk文件并移动到jvm下

    cd /usr/lib/jvm

    sudo tar xzvf jdk-8u161-linux-x64.tar.gz

    修改文件夹名jdk1.8.0_161-> jdk1.8

    l  修改系统环境变量

    sudo gedit ~/.bashrc

    l  在文件底部追加

    #JDK1.8

    export JAVA_HOME=/usr/lib/jvm/jdk1.8  #目录要换成自己解压的jdk 目录

    export JRE_HOME=${JAVA_HOME}/jre 

    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib 

    export PATH=${JAVA_HOME}/bin:$PATH

    l  追加成功后保存,使环境变量立即生效

    source ~/.bashrc

    l  验证jdk是否安装成功

    java -version

    二、配置SSH免密登录

    首先安装配置SSH

    原因:不配置SSH免密登录,每次请求流程比较繁琐。客户机在与远程机进行交互时要进行三次才能登录:第一步请求远程机第二步远程机返回公钥第三步客户机使用密码+公钥加密后登录,这样导致每次都需要输入密码。

    配置的ssh免密码登录后:客户机直接发送公钥到远程机,远程机发送随机字符串到客户机,客户机使用私钥加密传给远程机,远程机使用公钥加密后判断是否正确。

    客户机掌握公钥和私钥,并且不再需要密码登录的方式成为ssh免密登录。

    检测是否已经配置ssh

    ssh -version

    l  获取并安装ssh

    sudo apt install openssh-server

    l  配置ssh免密登录

    ssh-keygen -t rsa   # 一直回车

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

    l  测试ssh无密登陆

    ssh localhost  # 如果不提示输入密码则配置成功

    Are you sure you want to continue connecting (yes/no)? yes输入yes将不再需要密码

    l  重启ssh服务

    sudo /etc/init.d/ssh restart

     

    三、安装Hadoop3

    下载hadoop-linux-3.0.0.tar.gz至/usr/local/lib/hadoop3

    l  解压压缩包

    cd /usr/local/hadoop3

    sudo tar xzvf hadoop-linux-3.0.0.tar.gz

    l  添加环境变量

    sudo gedit /etc/profile

    在文件末尾添加

    #Hadoop 3

    export HADOOP_HOME=/usr/local/hadoop3  ##解压安装目录

    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    export HADOOP_COMMON_HOME=$HADOOP_HOME

    export HADOOP_HDFS_HOME=$HADOOP_HOME

    export HADOOP_MAPRED_HOME=$HADOOP_HOME

    export HADOOP_YARN_HOME=$HADOOP_HOME

    export HADOOP_INSTALL=$HADOOP_HOME

    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

    export HADOOP_CONF_DIR=$HADOOP_HOME

    export HADOOP_PREFIX=$HADOOP_HOME

    export HADOOP_LIBEXEC_DIR=$HADOOP_HOME/libexec

    export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH

    export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop

    export HDFS_DATANODE_USER=root

    export HDFS_DATANODE_SECURE_USER=root

    export HDFS_SECONDARYNAMENODE_USER=root

    export HDFS_NAMENODE_USER=root

    l  立即生效

    source /etc/profile

    l  测试Hadoop

    hadoop version

    此时,如果出现警告WARNING: HADOOP_PREFIX has been replaced by HADOOP_HOME. Using value of HADOOP_PREFIX.

    直接在/etc/profile 可以将HADOOP_HOME改为HADOOP_PREFIX

    Hadoop配置修改

    l  配置hdfs端口和地址,临时文件存放地址

    sudo gedit /usr/local/hadoop3/etc/hadoop/core-site.xml

    打开后修改配置文件

    <configuration>

    <property>

         <name>fs.default.name</name>

         <value>hdfs://localhost:9000</value>

    </property>

    <property>

        <name>hadoop.tmp.dir</name>

        <value>/home/hadoop3/hadoop/tmp</value>

    <description>Abase for other temporary directories.</description>

    </property>

    </configuration>

    注释:localhost主机名,可以通过以下方式修改主机名

    l  命令修改主机名称

    sudo gedit  /etc/hosts

    #127.0.0.1     localhost

                                            

    l  修改hdfs-site.xml文件配置副本个数以及数据存放的路径

    sudo gedit  /usr/local/hadoop3/etc/hadoop/hdfs-site.xml

    <configuration>

        <property>

            <name>dfs.replication</name>

            <value>1</value>

        </property>

       

    <property>

            <name>dfs.namenode.name.dir</name>

            <value>file:/usr/local/hadoop3/tmp/dfs/name</value>

     </property>

    <property>

             <name>dfs.datanode.data.dir</name>

             <value>file:/usr/local/hadoop3/tmp/dfs/data</value>

     </property>

    </configuration>

    l  修改hadoop-env.sh文件修改hadoop运行时环境变量

    sudo gedit  /usr/local/hadoop3/etc/hadoop/hadoop-env.sh

    # The java implementation to use. By default, this environment

    # variable is REQUIRED on ALL platforms except OS X!

    export JAVA_HOME=/usr/lib/jvm/jdk1.8

    修改JAVA_HOME指向Java安装路径

    l  执行NameNode格式化

    hdfs namenode -format

    l  运行start-dfs.sh查看DataNode、NameNode线程编号

    start-dfs.sh

    修改mapred-site.xml配置YARN

    cd  /usr/local/hadoop3

    cp  ./etc/hadoop/mapred-site.xml.template  ./etc/hadoop/mapred-site.xml

    sudo  gedit  /usr/local/hadoop3/etc/hadoop/ mapred-site.xml

    <configuration>

            <property>

                 <name>mapreduce.framework.name</name>

                 <value>yarn</value>

            </property>

    </configuration>

    l  配置yarn-site.xml

    cd /usr/local/hadoop3

    sudo  gedit ./etc/hadoop/yarn-site.xml

    <configuration>

            <property>

                 <name>yarn.nodemanager.aux-services</name>

                 <value>mapreduce_shuffle</value>

                </property>

    </configuration>

    l  启动hadoop

    start-dfs.sh

    l  启动yarn

    start-yarn.sh

    此时,可能会出现一下错误提示

    Q1:Starting namenodes on [localhost]

    ERROR: Attempting to launch hdfs namenode as root

    ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting launch

    解决方法:打开sbin/start-dfs.sh和stop-dfs.sh在文件头部添加

    HDFS_DATANODE_USER=root

    HADOOP_SECURE_DN_USER=hdfs

    HDFS_NAMENODE_USER=root

    HDFS_SECONDARYNAMENODE_USER=root

    Q2:出现一下yarn错误提示:

    Starting resourcemanager

    ERROR: Attempting to launch yarn resourcemanager as root

    ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting launch.

    Starting nodemanagers

    ERROR: Attempting to launch yarn nodemanager as root

    ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting launch.

    解决方案:打开sbin/start- yarn.sh和stop- yarn.sh在文件头部添加

    YARN_RESOURCEMANAGER_USER=root

    HADOOP_SECURE_DN_USER=yarn

    YARN_NODEMANAGER_USER=root

    l  启动历史服务器,以便在Web中查看任务运行情况

    mr-jobhistory-daemon.sh start historyserver

    l  停止历史服务器

    mr-jobhistory-daemon.sh stop historyserver

    l  停止yarn

    stop-yarn.sh

    l  停止hadoop

    stop-dfs.sh

    l  浏览器查看运行情况

    localhost:8088

    三、安装scale

    因为spark是有scale语言编写,因此需要安装scale环境。

    打开https://www.scala-lang.org/download/下载对应版本语言库,这里下载版本是scala-2.12.1.tgz 大小21.74M

    l  将下载好的文件复制到/usr/local

    l  2. 解压下载的scala文件

    cd  /usr/local/scala2.12

    sudo tar -xzvf scala-2.12.1.tgz

    l  3.添加环境变量

    sudo gedit /etc/profile

    l  添加一下配置

    # Scala2.12.1

    export SCALA_HOME=/usr/local/scala2.12

    export PATH=$SCALA_HOME/bin:$PATH

    l  配置生效

    source /etc/profile

    l  检测是否安装成功

    scala –version

    四、安装Spark

    打开下载地址http://spark.apache.org/downloads.html,选择需要下载的Spark release版本和package type,点击spark-2.3.0-bin-hadoop2.7.tgz打开下载页面。

    选择一个下载地址:

     

    l  将下载好的文件复制到/usr/local/spark2.2

    l  2.解压文件spark-2.2.1-bin-hadoop2.7.tgz

    cd  /usr/local/spark2.2

    sudo tar -xzvf spark-2.2.1-bin-hadoop2.7.tgz

    l  3.添加环境变量

    sudo gedit /etc/profile

    l  添加环境变量配置

    #spark2.2.1

    export SPARK_HOME=/usr/local/spark2.2

    export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH

    l  添加配置文件

    l  cong下创建配置文件spark-env.sh

    #配置hadoop+jdk

    export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop3/bin/hadoop classpath)

    export JAVA_HOME=/usr/lib/jvm/jdk1.8

    l  启动Spark

    /usr/local/spark2.2/sbin/start-all.sh

    l  停止Spark

    /usr/local/hadoop3/sbin/stop-all.sh

    浏览器查看spark运行情况

    localhost:8080

  • 相关阅读:
    5860. 从双倍数组中还原原数组
    5847. 找到所有的农场组
    5846. 找到数组的中间位置
    442. 数组中重复的数据
    1987. 不同的好子序列数目
    1986. 完成任务的最少工作时间段
    1985. 找出数组中的第 K 大整数
    1984. 学生分数的最小差值
    学习内容整合
    spring-DI和spring-mybatis整合
  • 原文地址:https://www.cnblogs.com/loyung/p/9851547.html
Copyright © 2011-2022 走看看