Linux系统上Hadoop和Spark的配置

hadoop的配置

hadoop官方文档:
Apache Hadoop 3.1.1
hadoop的三种工作模式:
hadoop工作模式

(1)配置java环境,建议使用openjdk.

Openjdk

(2)下载并解压hadoop

hadoop官网下载: hadoop3.1.1

如果没有重新编译hadoop的需求,可以直接选择tar.gz包进行解压。
如果有重新编译的需求,比如你是在arm机器上,那为了让hadoop更适配自己的机器,可能需要下载src源码包重新编译。
在这里插入图片描述

使用 tar -zxvf  hadoop-3.1.1.tar.gz 解压

(3)伪分布式的配置

1.在hadoop-env中加入java环境变量:

export JAVA_HOME=/usr/java/latest

2.配置hdfs

修改core-site.xml

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

修改hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    </property>
</configuration>

3.配置yarn

修改mapred-site.xml

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

修改yarn-site.xml

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
 </configuration>

4.格式化hdfs

./bin/hdfs namenode -format

如果没有对namenode进行格式化,启动时可能报如下错误:

java.io.IOException: Gap in transactions. Expected to be able to read up until at least txid 52957 but unable to find any edit logs containing txid 52943
    at org.apache.hadoop.hdfs.server.namenode.FSEditLog.checkForGaps(FSEditLog.java:1574)
    at org.apache.hadoop.hdfs.server.namenode.FSEditLog.selectInputStreams(FSEditLog.java:1532)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:647)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:294)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:975)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:681)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:584)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:643)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:810)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:794)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1487)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1553)

5. 测试hadoop是否正常启动

在sbin目录使用

./start-dfs.sh 和 ./start-yarn.sh

使用jps查看hdfs和yarn是否正常启动, 通常情况下运行的进程,应该包括NameNode,DataNode,SecondaryNameNode,ResourceManager和NodeManager等
在这里插入图片描述
访问web端口:
访问 http://192.168.31.224:50070 //50070是HDFS的端口号
访问 http://192.168.31.224:20345 // 其中20345是所配置的yarn端口号

Spark-3.1.1的配置

(1)下载并解压spark-3.1.1

在安装spark时,scala和java环境是必须要的,如果想要使用分布式文件存储,还需要安装hadoop。
所以我们在下载spark之前,要先配置好hadoop,java和scala的环境。

下载jdk,scala,spark,并在 ~/.bashrc 文件中,配置环境变量

vi ~/.bashrc

添加以下内容,路径名称需要需修改

export JAVA_HOME=/home/jtguan/jdk8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=$JAVA_HOME/bin:$PATH

export SCALA_HOME=/home/jtguan/local/scala-2.12.13
export PATH=$PATH:$SCALA_HOME/bin

export HADOOP_HOME=/home/tpcds_data/jtguan/hadoop-3.1.1
export HADOOP_CONF_DIR=/home/tpcds_data/jtguan/hadoop-3.1.1/etc/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib/native"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export SPARK_HOME=/home/tpcds_data/jtguan/spark-3.1.1
export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH

source ~/.bashrc

bashrc代表的是linux上的私人环境,opt/profile则是共有环境

(2)下载并解压spark-3.1.1

下载地址:Spark-3.1.1
在这里插入图片描述
带hadoop的编译包是在指定hadoop版本下编译的spark,你也可以选择下载不带hadoop的预编译包。

使用 tar -zxvf  spark-3.1.1-bin-hadoop2.7.tgz 解压

(3)配置conf/spark-env.sh

xport JAVA_HOME=/home/jtguan/jdk8

export HADOOP_HOME=/home/jtguan/hadoop-3.1.1

export HADOOP_CONF_DIR=/home/jtguan/hadoop-3.1.1/etc/hadoop

export SCALA_HOME=/home/jtguan/local/scala-2.11.12

export SPARK_HOME=/home/tpcds_data/jtguan/spark-3.1.1

export SPARK_WORKER_INSTANCES=3

export SPARK_WORKER_MEMORY=200G

export SPARK_WORKER_CORES=40

export SPARK_EXECUTOR_INSTANCES=2

export SPARK_EXECUTOR_MEMORY=200G

export SPARK_EXECUTOR_CORES=10

export SPARK_DRIVER_MEMORY=10G

export SPARK_MASTER_HOST=master

export SPARK_MASTER_PORT=7077

export SPARK_MASTER_WEBUI_PORT=8080

export SPARK_MASTER_IP=173.53.16.15

export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 "

export SPARK_LOCAL_IP=173.53.16.15

(4)运行sparkPi测试程序

测试spark是否配置成功:
./bin/spark-submit --class org.apache.spark.example.SparkPi --master local[*] ./examples/jars/spark-examples_2.12-3.1.1.jar

sparkPI是一个通过随机模拟计算Π值得程序:
在这里插入图片描述
运行成功,spark即成功配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值