Hadoop与spark集群安装

2021-02-20  本文已影响0人  术枚派

一,环境准备

版本信息

jdk:jdk1.8.0

hadoop:hadoop-2.10.1

spark:spark-3.0.1

首先配置java环境和Hadoop环境变量

将jdk解压缩

之后在/etc/profile里面添加环境变量

注意每次都要source /etc/profile

解压Hadoop

并配置环境变量,将Hadoop的路径写入~/.bashrc

需要source ~/.bashrc

配置免密登录

修改hostname,

sudo vim  /etc/hostname

修改hosts的名字

sudo vim  /etc/hosts

以下是master的hostname和hosts

slave1和slave2的hostname也需要改。

配置免密登录

ssh-keygen -t rsa      # 一直按回车就可以

cat ./id_rsa.pub >> ./authorized_keys

Hadoop配置文件修改

需要修改Hadoop安装目录下/etc/hadoop中的5个配置文件。slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml

slaves内容

core-site.xml

<configuration>

<property>

                <name>fs.defaultFS</name>

                <value>hdfs://master:9000</value>

        </property>

        <property>

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

                <value>file:/home/zkx/hadoop-2.10.1/tmp</value>

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

        </property>

</configuration>

hdfs-site.xml

这文件记录备份相关。我们有2个 slave 节点,因此可以将 dfs.replication 的值设为 2

<configuration>

<property>

                <name>dfs.namenode.secondary.http-address</name>

                <value>master:50090</value>

        </property>

        <property>

                <name>dfs.replication</name>

                <value>2</value>

        </property>

        <property>

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

                <value>file:/home/zkx/hadoop-2.10.1/tmp/dfs/name</value>

        </property>

        <property>

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

                <value>file:/home/zkx/hadoop-2.10.1/tmp/dfs/data</value>

        </property>

</configuration>

mapred-site.xml

如果是mapred-site.xml.template ,此时需要重命名

<configuration>

<property>

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

                <value>yarn</value>

        </property>

        <property>

                <name>mapreduce.jobhistory.address</name>

                <value>master:10020</value>

        </property>

        <property>

                <name>mapreduce.jobhistory.webapp.address</name>

                <value>master:19888</value>

        </property>

</configuration>

yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->

<property>

                <name>yarn.resourcemanager.hostname</name>

                <value>master</value>

        </property>

        <property>

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

                <value>mapreduce_shuffle</value>

        </property>

</configuration>

将Hadoop文件打包发送到slave节点上解压

先删除logs和tmp里的文件

之后压缩

tar -zcf ~/hadoop.master.tar.gz ./hadoop-2.10.1

使用scp命令发送到slave1和slave2

scp ./hadoop.master.tar.gz zkx@slave1:/home/zkx

之后解压

启动

master节点格式化

hdfs namenode -format # 首次运行需要执行初始化,之后不需要

启动和结束脚本在sbin目录下

start-all.sh

mr-jobhistory-daemon.sh start historyserver #启动历史服务器

jps 查看master和slave

worker是spark的,不用参考

实例:求PI

hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.1.jar pi 100 1000

结果如下

二、spark的安装

使用教程

http://spark.apache.org/docs/latest/index.html

解压压缩包

目录如下

修改conf下的spark-env.sh

export SPARK_DIST_CLASSPATH=$(/home/zkx/hadoop-2.10.1/bin/hadoop classpath)

export JAVA_HOME=/home/zkx/jdk1.8.0_241

SPARK_MASTER_HOST=master

SPARK_MASTER_PORT=7077

修改slaves

之后将整个目录压缩,scp发送到slave上,解压

测试

启动spark

./sbin/start-all.sh

之后打开浏览器输入maste的spark的URL,节点的端口是8080。

可以看到有三个worker

上一篇下一篇

猜你喜欢

热点阅读