• 第1天Python实战Spark大数据分析及调度-开发环境配置


    主机名 ip 配置 系统
    heboan-hadoop-000 10.1.1.15 8C/8G CentOS7.7

    工具包

     

    配置本机ssh免密

    时间校准

    文件描述符优化

    安装jdk

    tar xf jdk-8u231-linux-x64.tar.gz -C /srv/
    vim ~/.bash_profile
        export JAVA_HOME=/srv/jdk1.8.0_231
        export PATH=$JAVA_HOME/bin:$PATH
    source ~/.bash_profile

    安装maven

    tar xf apache-maven-3.6.3-bin.tar.gz -C /srv/
    vim ~/.bash_profile
        export MAVEN_HOME=/srv/apache-maven-3.6.3
        export PATH=$MAVEN_HOME/bin:$PATH
    source ~/.bash_profile
    
    #更改本地仓库存路径
    mkdir /data/maven_repository
    vim /srv/apache-maven-3.6.3/conf/settings.xml

    安装python3

    yum install gcc gcc-c++ openssl-devel readline-devel unzip -y
    tar xf Python-3.6.10.tgz
    cd Python-3.6.10
    ./configure    --prefix=/srv/python36 --enable-optimizations
    make && make install
    
    vim ~/.bash_profile
        export PATH=/srv/python36/bin:$PATH
    source ~/.bash_profile

    安装scala

    tar xf scala-2.11.8.tgz -C /srv/
    vim ~/.bash_profile
        export SCALA_HOME=/srv/scala-2.11.8
        export PATH=$SCALA_HOME/bin:$PATH
    source ~/.bash_profile

    部署hadoop

    下载安装

    wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz
    tar xf hadoop-2.6.0-cdh5.7.0.tar.gz -C /srv/
    vim ~/.bash_profile
        export HADOOP_HOME=/srv/hadoop-2.6.0-cdh5.7.0
        export PATH=$HADOOP_HOME/bin:$PATH
    source ~/.bash_profile

    配置hadoop

    cd /srv/hadoop-2.6.0-cdh5.7.0/etc/hadoop

    #export JAVA_HOME=${JAVA_HOME}
    export JAVA_HOME=/srv/jdk1.8.0_231
    hadoop-env.sh
    <configuration>
      <property>
        <name>fs.default.name</name>
        <value>hdfs://heboan-hadoop-000:8020</value>
      </property>
    </configuration>
    core-site.xml
    mkdir -p /data/hadoop/{namenode,datanode}
    
    <configuration>
      <property>
        <name>dfs.namenode.name.dir</name>
        <value>/data/hadoop/namenode</value>
      </property>
    
      <property>
        <name>dfs.datanode.data.dir</name>
        <value>/data/hadoop/datanode</value>
      </property>
    
      <property>
        <name>dfs.replication</name>
        <value>1</value>
      </property>
    </configuration>
    hdfs-site.xml
    cp mapred-site.xml.template mapred-site.xml
    
    
    <configuration>
      <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
      </property>
    </configuration>
    mapred-site
    <configuration>
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
    </configuration>
    yarn-site.xml

    初始化hdfs

    cd /srv/hadoop-2.6.0-cdh5.7.0/bin
    ./hadoop namenode -format

    启动hdfs

    jps查看是否启动进程: DataNode   NameNode  SecondaryNameNode

    /srv/hadoop-2.6.0-cdh5.7.0/sbin
    ./start-dfs.sh

    测试创建一个目录

    # hdfs dfs -mkdir /test
    # hdfs dfs -ls /
    drwxr-xr-x   - root supergroup          0 2020-05-30 10:19 /test

    浏览器访问http://heboan-hadoop-000:50070

    启动yarn

    jps查看是否启动进程: ResourceManager   NodeManager

    cd /srv/hadoop-2.6.0-cdh5.7.0/sbin/
    ./start-yarn.sh

    浏览器访问http://heboan-hadoop-000:8088

    源码编译部署spark

    进入spark下载页面:http://spark.apache.org/downloads.html

    可以看下编译spark的文档,里面有相关的编译注意事项,比如mavn,jdk的版本要求,机器配置等

    http://spark.apache.org/docs/latest/building-spark.html

    下载spark-2.3.0.tzg后,进行解压编译

    tar xf spark-2.3.0.tgz
    cd spark-2.3.0
    ./dev/make-distribution.sh 
    --name 2.6.0-cdh5.7.0 --tgz 
    -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver 
    -Dhadoop.version=2.6.0-cdh5.7.0

    编译依赖网络环境,默认情况下,指定的仓库源被墙无法访问

    mvn配置settings.conf添加阿里仓库加速

    <mirrors>
        <mirror>
           <id>alimaven</id>
           <name>aliyun maven</name>
           <url>https://maven.aliyun.com/nexus/content/groups/public/</url>
           <mirrorOf>central</mirrorOf>
       </mirror>
    <mirrors>

    修改spark的pom.xml,更改仓库地址为阿里源地址,并添加cdh源

    vim spark-2.3.0/pom.xml

    替换maven为自己安装的

    vim dev/make-distribution.sh
        #MVN="$SPARK_HOME/build/mvn"
        MVN="${MAVEN_HOME}/bin/mvn"

    编译时间长,取决于你的网络环境,编译完成后,会打一个包命名为:spark-2.3.0-bin-2.6.0-cdh5.7.0.tgz

    本文所有工具包已传至网盘,不想折腾的同学可以小额打赏联系博主

    tar xf spark-2.3.0-bin-2.6.0-cdh5.7.0.tgz -C /srv/
    cd /srv/spark-2.3.0-bin-2.6.0-cdh5.7.0/bin/

     vim ~/.bash_profile
        export SPARK_HOME=/srv/spark-2.3.0-bin-2.6.0-cdh5.7.0
        export PATH=$SPARK_HOME/bin:$PATH
      source ~/.bash_profile

    
    ./spark-shell

    浏览器访问http://heboan-hadoop-000:4040

    pyspark配置默认使用的是Python2,如下配置环境变量默认使用Python3

    vim ~/.bash_profile
        export PYSPARK_PYTHON=python3
    source ~/.bash_profile

    配置应用程序IDE开发环境

    winows本地安装pycharm并创建项目

    设置基本参数

    spark-2.3.0-bin-2.6.0-cdh5.7.0.tgz解压到E盘: E:spark-2.3.0-bin-2.6.0-cdh5.7.0

    ①配置环境变量

    进入Environment variables

    PYTHONPATH: E:spark-2.3.0-bin-2.6.0-cdh5.7.0python
    SPARK_HOME: E:spark-2.3.0-bin-2.6.0-cdh5.7.0

    ②添加两个zip包

    可以看到多出了两个包

    创建个文件写个最简单的程序测试运行下

    代码开发完成后需要放到服务器环境上运行

    mkdir /data/script
    vim  /data/script/01.py

    使用spark-submit提交任务

    # spark-submit --master local[2] --name heboan-pyspark-01 /data/script/01.py

    解决pycharm 运行报错问题

    当我们写好代码运行的时候,会报如下错误,虽然该错误不影响最后的运行,但是看着不爽

     添加HADOOP_HOME环境变量,事先请确定Hadoop包在E:hadoop-2.6.0-cdh5.7.0

    配置PATH:  末尾添加  ;%HADOOP_HOME/bin%

    下载winutils.exe,hadoop.dll放到hadoop环境的bin目录,建议尽量使用版本匹配的

     最后重启系统即可,看看效果

  • 相关阅读:
    mysql主从复制配置
    es去重 获取重复数据后保留最小值ID后进行批量删除
    java springboot mybatis控制台打印sql方法
    python生成requirements.txt
    hadoop基本介绍
    docker容器操作
    Exception caught evaluating condition: [java.lang.RuntimeException: Error creating extended parser class: null], action = [Fail the build]
    Return code is: 400, ReasonPhrase: Repository does not allow updating assets: maven-releases. -> [Help 1]
    zabbix自定义监控postgresql死亡元组,shell脚本比较小数位,shell脚本统计时间精确毫秒
    记一次postgresql的归档日志爆仓磁盘处理
  • 原文地址:https://www.cnblogs.com/sellsa/p/12994006.html
Copyright © 2020-2023  润新知