Spark学习之路

spark+hadoop环境搭建

2018-12-28  本文已影响0人  udhga

硬件:
Ubuntu16.04 server 2台
软件版本:
hadoop-2.6.5.tar.gz
jdk-8u191-linux-x64.tar.gz
scala-2.12.8.tgz
spark-2.4.0-bin-hadoop2.7.tgz

hadoop集群搭建(master+slave01)

1.集群机器准备
master:192.168.1.222
slave01:192.168.1.120

2.修改master和slave01的/etc/hosts文件如下

127.0.0.1 localhost
192.168.1.222 master
192.168.1.120 slave01

配置ssh无密码访问集群

这个步骤可以参考我之前的一篇教程:Ubuntu配置ssh无密码登陆,在此不说了
配置完测试是否开启无密码访问,

ssh 192.168.1.222
clear
ssh 192.168.1.120
image.png

jdk与hadoop安装包安装(我把所需的软件都放在home目录的spark下,安装是根据自己的路径更改即可)

目录tree图
spark
├── hadoop-2.6.5.tar.gz
├── jdk-8u191-linux-x64.tar.gz
├── scala-2.12.8.tgz
└── spark-2.4.0-bin-hadoop2.7.tgz

1.jdk安装

解压/home/am/spark,分别在master和slave01中添加环境变量(home目录下的.bashrc隐藏文件):

export JAVA_HOME=/home/am/spark/jdk1.8.0_191
export JRE_HOME=/home/am/spark/jdk1.8.0_191/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

运行source .bashrc使环境变量生效

2.hadoop安装

解压到/home/am/spark,分别在master和slave01中添加环境变量(home目录下的.bashrc隐藏文件):

export HADOOP_HOME=/home/am/spark/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

运行source .bashrc使环境变量生效

3.配置hadoop环境

a.在/home/am/spark/hadoop-2.6.5/etc/hadoop目录下修改hadoop-env.sh 增加如下配置

export JAVA_HOME=/home/am/spark/jdk1.8.0_191
export HADOOP_PREFIX=/home/am/spark/hadoop-2.6.5

b.修改core-site.xmltmp目录需要提前创建好

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/software/hadoop/hadoop-2.6.0/tmp</value>
    </property>
</configuration>

c.修改hdfs-site.xml,指定数据的副本个数

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
</configuration>

d.修改mapred-site.xml

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

e.yarn-env.sh中增加JAVA_HOME的环境

export JAVA_HOME=/home/am/spark/jdk1.8.0_191

f.修改yarn-site.xml

<configuration>
<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
</configuration>

g.slaves中增加集群主机名

master
slave01

在slave01重复以上步骤

启动hadoop集群

1)start-dfs.sh,启动namenode和datanode


image.png

在master和slave01上使用jps命令查看java进程


image.png

2)start-yarn.sh,启动 ResourceManager 和 NodeManager


image.png

在master和slave01上使用jps命令查看java进程


image.png

如果上述都成功了,那么集群启动就成功了

scala安装

a.解压到/home/am/spark,分别在master和slave01中添加环境变量(home目录下的.bashrc隐藏文件)

export SCALA_HOME=/home/am/spark/scala-2.12.8
export SPARK_HOME=/home/am/spark/spark-2.4.0-bin-hadoop2.7
export PATH=$PATH:$SCALA_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin

b.测试scala命令是否有效


image.png

c.安装成功

Spark安装以及配置

1.Spark安装

解压到/home/am/spark,分别在master和slave01中添加环境变量(home目录下的.bashrc隐藏文件)

export SPARK_HOME=/home/am/spark/spark-2.4.0-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

每次修改完记得运行source .bashrc使环境变量生效

2.Spark配置

a.进入Spark的安装目录下的conf目录,拷贝spark-env.sh.templatespark-env.sh

cp spark-env.sh.template spark-env.sh

编辑spark-env.sh,在其中添加以下配置信息

export SCALA_HOME=/home/am/spark/scala-2.12.8
export JAVA_HOME=/home/am/spark/jdk1.8.0_191
export SPARK_MASTER_IP=192.168.1.222
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=/home/am/spark/hadoop-2.6.5/etc/hadoop

b.将slaves.template拷贝到slaves,编辑起内容为

master
slave01

此配置表示要开启的worker主机
c.slave01同样参照master配置

Spark集群启动

a启动Master节点,运行start-master.sh,结果如下


image.png

b.启动所有的worker节点,运行start-slaves.sh,运行结果如下


image.png

c.输入jps命令查看启动情况


image.png

d.浏览器访问http://192.168.1.222:8080可查看Spark集群信息

image.png

第一次搭建,很多不懂的,疑问,想知道哪一步出错了?
workers id为什么主机的ip都是192.168.1.222?

上一篇下一篇

猜你喜欢

热点阅读