SPARK+HADOOP大数据实验环境配置

最近在上大数据实验的,整理一下配置环境的过程。

本文主要包括所需安装包,通用配置、hadoop配置和spark配置。

一.实验环境:

使用虚拟机软件:VMware Workstation Pro

操作系统:Ubuntu 18.04 (master, worker1, worker2,如果没有云主机的话总共需要准备三台虚拟机)

二.安装所需软件包

①hadoop-2.7.0.tar.gz

②jdk-8u271-linux-x64.tar.gz

③spark-3.0.1-bin-hadoop2.7.tgz

版本对应不是必须,java jdk最好使用1.8版本的,然后hadoop的版本与spark安装包名指定的对应即可。

三.通用配置

注:通用配置只需配置master即可,worker1和woker2可以通过master克隆得到。

①将master、worker1、worker2至于同一局域网下,所以在虚拟机网络设置的地方我选择了桥接模式,这三台主机将处于同一局域网下。(不是必须,还有其他方法,推荐使用静态ip的方法)。可以测试一下互相之间是否可以ping通。

②安装ssh:

sudo apt-get install openssh-server

然后启动service sshd start

③安装Java

首先将jdk 安装包放入虚拟机比如/home/downloads。

在/home/downloads下执行:

tar -zxvf jdk-8u271-linux-x64.tar.gz
cp jdk-8u271-linux-x64 /usr/local/jdk_1.8

配置java环境变量(先安装vim):

vim ~/.bashrc

然后在文件尾加入

PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin”
export JAVA_HOME=/usr/local/jdk_1.8
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

保存,然后source ~/.bashrc

输入java -version测试。

图片[1]-SPARK+HADOOP大数据实验环境配置-卡咪卡咪哈-一个博客

成功。

③安装hadoop

与安装java类似

tar -zxvf hadoop-2.7.0.tar.gz
cp hadoop-2.7.0 /usr/local/hadoop-2.7.0

然后配置环境:

vim ~/.bashrc

然后在末尾加入:

export PATH=/usr/local/hadoop-2.7.0/sbin:$PATH
export PATH=/usr/local/hadoop-2.7.0/bin:$PATH
export HADOOP_HOME=/usr/local/hadoop-2.7.0
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

保存,source ~/.bashrc

测试,hadoop version

图片[2]-SPARK+HADOOP大数据实验环境配置-卡咪卡咪哈-一个博客

成功!

④修改主机名字

对于master主机:

sudo vi /etc/hostname

然后改为master。

对应于worker1和worker2则改为对应名字即可步骤相同,两者的修改步骤在克隆后再操作即可。

⑤安装spark

类似java和hadoop的安装

tar -zxvf spark-3.0.1-bin-hadoop2.7.tgz
cp spark-3.0.1-bin-hadoop2.7 /usr/local/spark-3.0.1

暂时不需要配置环境。

⑥安装scala

sudo apt-get install scala

以上完成了通用环境配置。

三、hadoop配置

①通过master克隆出worker1和worker2两台主机。

②看一下master、worker1和woker2的ip地址,分别修改三台主机的hosts(如果主机多了,需要使用ansible)

sudo vi /etc/hosts

然后插入(不要删除原来的内容):

192.168.43.152 master
192.168.43.108 worker1
192.168.43.230 worker2

然后保存。

然后在master主机上,执行ping worker1和ping worker2,测试一下能否ping通,如果可以即成功。

③配置三台主机之间的ssh免密码登录环境

在三台主机上分别执行下面的命令:

ssh-keygen -t rsa

首次会有一系列提示,只需yes或直接回车。

这样会在~/.ssh目录下生成几个文件,包括了id_rsa.pub。

然后将worker1和worker2上刚刚生成的id_rsa.pub 发送给master:

scp ~/.ssh/id_rsa.pub username@master:~/.ssh/id_rsa.pub.worker1 # worker1上执行
scp ~/.ssh/id_rsa.pub username@master:~/.ssh/id_rsa.pub.worker2 # woker2 上执行

其中的username要替换成你虚拟机登录的用户名。其中在传输的过程中,需要输入密码。

在master上,将所有公钥id_rsa.pub.worker2、id_rsa.pub.worker1加载到用于认证的公钥文件authorized_key中:

cat ~/.ssh/id_rsa.pub*>>~/.ssh/authorized_keys

然后将authorized_key再发给worker1和worker2

scp ~/.ssh/authorized_keys username@worker1:~/.ssh/
scp ~/.ssh/authorized_keys username@worker2:~/.ssh/

以上配置完毕,在master上测试ssh worker1和ssh worker2是否能够连接。

图片[3]-SPARK+HADOOP大数据实验环境配置-卡咪卡咪哈-一个博客

④配置hadoop

进入目录/usr/local/hadoop-2.7.0/etc/hadoop

分别修改以下:

<1>修改hadoop-env.sh:

export JAVAHOME=/usr/local/jdk_1.8

<2>修改yarn-env.sh

export JAVAHOME=/usr/local/jdk_1.8

<3>修改slaves

master
worker1
worker2

<4>修改core-site.xml

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

<5>修改hdfs-site.xml

<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop-2.7.0/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop-2.7.0/tmp/dfs/data</value>
</property>
</configuration>

<6>修改mapred-site.xml

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

<7>修改yarn-site.xml

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>

全部修改好后,将hadoop的配置文件发送给worker1、worker2:

scp -r /usr/local/hadoop-2.7.0/etc/hadoop username@worker1:/usr/local/hadoop-2.7.0/etc
scp -r /usr/local/hadoop-2.7.0/etc/hadoop username@worker2:/usr/local/hadoop-2.7.0/etc

⑤启动hadoop

格式化namenode, 进入/usr/local/hadoop-2.7.0,然后输入以下:

hdfs namenode -format
图片[4]-SPARK+HADOOP大数据实验环境配置-卡咪卡咪哈-一个博客

启动hadoop集群:

cd /usr/local/hadoop-2.7.0
sbin/start-dfs.sh
图片[5]-SPARK+HADOOP大数据实验环境配置-卡咪卡咪哈-一个博客
sbin/start-yarn.sh
图片[6]-SPARK+HADOOP大数据实验环境配置-卡咪卡咪哈-一个博客

使用jps命令,查看启动情况

图片[7]-SPARK+HADOOP大数据实验环境配置-卡咪卡咪哈-一个博客

出现NameNode和SecondaryNameNode等四项证明配置没有问题。

接着我们可以在http://master:50070http://master:8088查看集群运行的相关情况:

图片[8]-SPARK+HADOOP大数据实验环境配置-卡咪卡咪哈-一个博客
图片[9]-SPARK+HADOOP大数据实验环境配置-卡咪卡咪哈-一个博客

四、配置和运行SPARK

①配置SPARK

<1>修改spark-env.sh

cd /usr/local/spark-3.0.1/conf
cp spark-env.sh.template spark-env.sh
vim spark-env.sh

在文件中插入以下内容:

export SCALA_HOME=/usr/local/scala
export JAVA_HOME=/usr/local/jdk_1.8
export HADOOP_INSTALL=/usr/local/hadoop-2.7.0
export HADOOP_CONF_DIR=$HADOOP_INSTALL$/etc/hadoop
SPARK_MASTER_IP=master
SPARK_LOCAL_DIRS=/usr/local/spark-3.0.1
SPART_DRIVER_MEMORY=2G

<2>修改slaves文件

cp slaves.template slaves
vim slaves

插入以下内容:

master
worker1
worker2

最后将所有配置的文件传送到worker1和worker2

scp -r /usr/local/spark-3.0.1/conf username@worker1:/usr/local/spark-3.0.1
scp -r /usr/local/spark-3.0.1/conf username@worker2:/usr/local/spark-3.0.1

②启动SPARK

进入/usr/local/spark-3.0.1,运行:

sbin/start-all.sh
图片[10]-SPARK+HADOOP大数据实验环境配置-卡咪卡咪哈-一个博客

启动成功。

可以在https://master:8080中查看spark运行情况

图片[11]-SPARK+HADOOP大数据实验环境配置-卡咪卡咪哈-一个博客

运行jps,你会看到多出master和worker两个进程。

以上完成了集群的配置。

    THE END
    喜欢就支持一下吧
    点赞5 分享
    评论 抢沙发
    头像
    欢迎您留下宝贵的见解!
    提交
    头像

    昵称

    取消
    昵称表情代码图片

      暂无评论内容