hadoop,pySpark环境安装与运行实战《一》

一、环境准备

环境最好再mac或者liunx环境搭建最为友好,不建议在windows上折腾。

1)安装java jdk

下载java jdk 并在~/.bash_profile配置,jdk  mac路径查找方式

#export JAVA_HOME=/Users/wangyun/Documents/BigData/App/jdk1.8.0_60
#export PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=$JAVA_HOME/lib

输入:java -version验证环境

2)安装scala

下载scala 并在~/.bash_profile配置环境变量,并source ~/.bash_profile

export SCALA_HOME=/Users/wangyun/Documents/BigData/App/scala-2.13.2
export PATH=$SCALA_HOME/bin:$PATH

输入:scala -version验证

3)安装 hadoop

下载hadoop 并在~/.bash_profile配置环境变量,并source ~/.bash_profile

export HADOOP_HOME =/Users/wangyun/Documents/BigData/App/hadoop-2.10
export PATH=$HADOOP_HOME/bin:$PATH

4)安装spark

下载spark 并在~/.bash_profile配置环境变量,并source ~/.bash_profile

export SPARK_HOME=/Users/wangyun/Documents/BigData/App/spark-3.0.0-preview2-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH
export PYSPARK_PYTHON=python3

二、hadoop配置

进入

hadoop/etc/hadoop/目录 文件配置
hadoop-env.sh 增加:export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Set Hadoop-specific environment variables here.

# The only required environment variable is JAVA_HOME.  All others are
# optional.  When running a distributed configuration it is best to
# set JAVA_HOME in this file, so that it is correctly defined on
# remote nodes.

# The java implementation to use.
#export JAVA_HOME=${JAVA_HOME}

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home


# The jsvc implementation to use. Jsvc is required to run secure datanodes
# that bind to privileged ports to provide authentication of data transfer
# protocol.  Jsvc is not required if SASL is configured for authentication of
# data transfer protocol using non-privileged ports.
#export JSVC_HOME=${JSVC_HOME}

export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/etc/hadoop"}

# Extra Java CLASSPATH elements.  Automatically insert capacity-scheduler.


core-site.xml  增加

<property>
  <name>fs.default.name</name>
  <value>hdfs://127.0.0.1:8020</value>
</property>

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
  <name>fs.default.name</name>
  <value>hdfs://127.0.0.1:8020</value>
</property>
</configuration>


hdfs-site.xml  增加三组 property

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<!-- Put site-specific property overrides in this file. -->

<configuration>
 <property>
   <name>dfs.namenode.name.dir</name>
   <value>/Users/wangyun/Documents/BigData/App/tmp/dfs/name</value>
 </property>

 <property>
   <name>dfs.datanode.data.dir</name>
   <value>/Users/wangyun/Documents/BigData/App/tmp/dfs/data</value>
 </property>

 <property>
   <name>dfs.replication</name>
   <value>1</value>
 </property>

</configuration>


mapred-site.xml   增加一组 property

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<!-- Put site-specific property overrides in this file. -->

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>


yarn-site.xml 增加 property

<?xml version="1.0"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->
<configuration>

<!-- Site specific YARN configuration properties -->
   <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapr educe_shuffle</value>
   </property>
</configuration>

到此hadoop配置完成

初始化: 进入hadoop bin目录

mac 出现Starting namenodes on [localhost]
localhost: ssh: connect to host localhost port 22: Connection refused
localhost: ssh: connect to host localhost port 22: Connection refused
Starting secondary namenodes [0.0.0.0]
0.0.0.0: ssh: connect to host 0.0.0.0 port 22: Connection refused报错参见 https://blog.csdn.net/wywinstonwy/article/details/105996077

./hadoop nodename -format

启动dfs sbin目录 启动报错的情况之一

./start-dfs.sh

查看文件夹
./hadoop fs -ls /
创建文件夹
./hadoop fs -mkdir /test

 

上传文件:
./hadoop fs -put /Users/wangyun/Desktop/lala.txt /test/

查看文件
./hadoop fs -ls /test

读取文件
./hadoop fs -text /test/lala.txt

 

访问: http://127.0.0.1:50070/explorer.html#/test

 

驱动yarn,sbin目录下
执行:./start-yarn.sh
访问:http://127.0.0.1:8088/cluster

进入spark bin目录启动spark
./spark-shell

Spark context Web UI available at http://bogon:4040
Spark context available as 'sc' (master = local[*], app id = local-1588985838107).
Spark session available as 'spark'.

注意:端口占用会自动+1

 

启动pySpark   bin目录
./pyspark  默认启动的是python 2
需要就该配置文件
修改spark-env.sh文件,在末尾添加
PYSPARK_PYTHON=/usr/bin/python3    实际的路径地址

到此spark相关配置和启动完成,可进入编程模式,参见官网写个简单demo

 

data =[1,2,3,4,5]
distData = sc.parallelize(data)
print(distData.collect())

创建spark001.py 测试demo

from pyspark import SparkContext,SparkConf

if __name__ =="__main__":
    conf = SparkConf().setMaster("local[2]").setAppName('spark002')
    sc = SparkContext(conf=conf)
    #map 算子
    def mymap():
        data = [1,2,3,4,5]
        rdd1 = sc.parallelize(data)
        rdd2 = rdd1.map(lambda x:x*2)
        print(rdd2.collect())

    def mymap2():
        a = ['dog','pig','tiger','lion','cat','bird','dog']
        rdd1 = sc.parallelize(a)
        rdd2 = rdd1.map(lambda x:(x,1))
        print(rdd2.collect())

    def myfilter():
        data = [1,2,3,4,5]
        rdd1 = sc.parallelize(data)
        mapRdd = rdd1.map(lambda x:x*2)
        filterRdd = mapRdd.filter(lambda x:x>5)
        print(filterRdd.collect())
        #简化写法
        # rdd = rdd1.map(lambda x:x*2).filter(lambda x:x>5)
        # print(rdd.collect())

    def myflatMap():
        data =['hello spark','hello world','hello world']
        rdd1 = sc.parallelize(data)
        rdd2 = rdd1.flatMap(lambda line:line.split(" "))
        print(rdd2.collect())

    def mygroupByKey():
         data = ['hello spark', 'hello world',
                 'hello world']
         rdd1 = sc.parallelize(data)
         rdd2 = rdd1.flatMap(
             lambda line: line.split(" ")).map(lambda x:(x,1))
         groupRdd = rdd2.groupByKey()

         print(groupRdd.collect())
         print(groupRdd.map(lambda x:{x[0]:list(x[1])}).collect())

    def myReduceByKey():
        data = ['hello spark', 'hello world',
                'hello world']
        rdd1 = sc.parallelize(data)
        rdd2 = rdd1.flatMap(
            lambda line: line.split(" ")).map(
            lambda x: (x, 1))
        reduceByKeyRdd = rdd2.reduceByKey(lambda x,y:x+y)
        print(reduceByKeyRdd.collect())
    myReduceByKey()


    sc.stop()

 

相关推荐:

hadoop,pySpark环境安装与运行实战《一》
Spark RDD操作,常用算子《二》
PySpark之算子综合实战案例《三》
Spark运行模式以及部署《四》
Spark Core解析《五》
PySpark之Spark Core调优《六》
PySpark之Spark SQL的使用《七》
 

 

 

持续更新中...

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 您好,关于hadooppyspark环境安装运行实战,以下是一些基本步骤: 1. 安装Java环境hadooppyspark都需要Java环境,因此需要先安装Java。 2. 安装hadoop:可以从官网下载hadoop的二进制文件,然后解压到指定目录。接着需要配置hadoop环境变量和一些配置文件,如hadoop-env.sh、core-site.xml、hdfs-site.xml等。 3. 启动hadoop:启动hadoop需要先格式化namenode,然后启动hdfs和yarn。 4. 安装pyspark:可以通过pip安装pyspark,也可以从官网下载pyspark的二进制文件。安装完成后需要配置pyspark环境变量和一些配置文件,如spark-env.sh、spark-defaults.conf等。 5. 运行pyspark:可以通过命令行或者编写脚本来运行pyspark。在运行pyspark之前需要先启动hadoop和yarn。 以上是一些基本的步骤,具体的安装和配置过程可能会因为不同的操作系统和版本而有所不同。希望对您有所帮助。 ### 回答2: HadoopPyspark是当前大数据处理领域比较流行的两个工具,它们分别提供了大数据分布式处理和Python语言的分布式计算支持。为了学习和运用它们,正确安装和配置环境是非常重要的。本文将介绍HadoopPyspark环境安装运行实践,分为以下几个步骤: 一、Hadoop安装与配置 1. 下载Hadoop 首先需要下载Hadoop,可以从官网下载最新版本,也可以在网上下载其他版本。下载后解压,可以得到hadoop-3.3.0文件夹。 2. 配置环境变量 在安装Hadoop之前,需要配置环境变量,将Hadoop的bin目录添加到系统的Path中。具体步骤如下: 在系统环境变量中增加HADOOP_HOME,变量值为Hadoop根目录的所在路径,例如:D:\hadoop\hadoop-3.3.0。 在系统环境变量Path中添加%HADOOP_HOME%\bin。 3. 修改配置文件 Hadoop的配置文件存放在hadoop-3.3.0目录的/etc/hadoop文件夹中,需要对其中的配置文件进行修改。主要修改hadoop-env.sh和core-site.xml文件。 hadoop-env.sh配置文件中可以设置Hadoop的一些环境变量,包括JAVA_HOME和HADOOP_CONF_DIR等。需要将JAVA_HOME配置为Java JDK的安装路径。 core-site.xml配置文件中需要设置Hadoop存储数据的位置。在本地开发环境下,可以将数据存储在本地的一个文件夹内。 4. 启动Hadoop 启动Hadoop需要执行以下命令: start-dfs.sh:启动Hadoop的分布式文件系统。 start-yarn.sh:启动Hadoop的资源管理器。 二、Pyspark安装与配置 1. 下载Pyspark Pyspark可以从Apache官网上下载最新版本,也可以通过pip安装。下载后解压,可以得到spark-3.1.2-bin-hadoop3.2文件夹。 2. 配置环境变量 在安装Pyspark之前,同样需要配置环境变量,将Pyspark的bin目录添加到系统的Path中。具体步骤与Hadoop类似,可以参考上面的步骤。 3. 修改配置文件 在Pyspark的conf目录下,有一个spark-env.sh.template文件,需要将其复制为spark-env.sh,并进行修改。主要需要设置SPARK_HOME和PYTHONPATH等环境变量。 4. 启动Pyspark 启动Pyspark需要执行以下命令: pyspark:启动Pyspark Shell。 spark-submit:启动Pyspark应用程序。 三、实战操作 1. Hadoop实战 启动Hadoop后,可以通过Hadoop的一些命令进行测试。例如,创建一个文件夹,执行以下命令: hadoop fs -mkdir /test 可以通过以下命令查看/目录下的文件: hadoop fs -ls / 在Hadoop运行过程中,可以通过localhost:8088访问Hadoop的Web界面。 2. Pyspark实战 启动Pyspark后,可以通过以下命令创建一个RDD并查看其中的元素: nums = sc.parallelize([1, 2, 3, 4]) nums.collect() 可以看到输出结果为[1, 2, 3, 4]。 同时,也可以通过Pyspark Shell进行一些简单的计算。例如,计算10000以内的质数: sieve = sc.parallelize(range(2, 10000)) for i in range(2, 100): sieve = sieve.filter(lambda x: x == i or x % i != 0) sieve.collect() 可以看到输出结果为一个10000以内的质数列表。 以上就是HadoopPyspark环境安装运行实践的简单介绍。它们是大数据处理和分布式计算领域中非常重要的工具,掌握它们的使用方法对于从事相关工作的人员是非常必要的。在实际操作中,还需要不断学习、实践和总结,以便更好地应对各种复杂情况。 ### 回答3: HadoopPySpark是目前大数据处理的主要平台之一,对于学习和实践数据处理技术很有帮助。在本文中,将介绍如何安装运行HadoopPySpark环境。 1. Hadoop环境安装运行实战 Hadoop是一个分布式处理大数据的框架,可以有效地处理大规模数据。安装Hadoop环境主要分为三个步骤: 1)JDK的安装 首先需要下载JDK(Java开发工具包)的安装包,并安装到本机上。JDK安装后要设置JAVA_HOME环境变量。 2)Hadoop安装 下载Hadoop安装包,并将其解压到本机上的一个文件夹中。在hadoop-env.sh文件中设置HADOOP_HOME和JAVA_HOME两个环境变量。 3)Hadoop运行 在终端中输入“bin/hadoop namenode -format”,初始化并格式化Hadoop的文件系统。之后输入“sbin/start-all.sh”启动Hadoop集群,并在浏览器中访问http://localhost:50070查看Hadoop的状态。 2. PySpark环境安装运行实战 PySpark是一个基于Python的Spark安装PySpark环境主要分为两个步骤: 1)安装Anaconda 下载Anaconda并安装到本机上。Anaconda是一个包含Python解释器、支持科学计算的Python库和工具的集成包。 2)安装PySpark 在终端中输入“conda install pyspark”即可安装PySpark安装完成后,可以在终端中输入“pyspark”启动PySpark,也可以在Python代码中使用PySpark相关的库和API。 总结: 以上是HadoopPySpark环境安装运行实战介绍。通过本文的学习,可以了解到如何配置HadoopPySpark环境,并实现相关的数据处理操作。这对于数据处理学习者和从事相关工作的人员具有重要意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风雨「83」

你的鼓励将是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值