Ubuntu 16下配置多节点Hadoop和Spark

记录一下配置多节点Hadoop和Spark的过程。
建立三个节点node,分别是node0,node1,node2.其中node0作为master节点。三台云虚拟机均为Ubuntu 16版本,Hadoop为3.1.4版本,Spark为2.4.7版本。

Hadoop

首先是下载和配置Hadoop.

第一步,更新软件包,安装Java

sudo apt-get update --fix-missing
sudo apt-get install openjdk-8-jdk

第二步,生成master节点ssh的公有key,并分别拷贝到所有节点的~/.ssh/authorized_keys,从而允许master和slave nodes之间通讯。特别注意,在master节点生成公有key的时候,不需要设置任何密码。

ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub
vim ~/.ssh/authorized_keys

第三步,在三个节点下分别下载Hadoop 3.1.4并解压缩

wget http://apache.mirrors.hoobly.com/hadoop/common/hadoop-3.1.4/hadoop-3.1.4.tar.gz
tar zvxf hadoop-3.1.4.tar.gz

第四步,修改三个节点的配置文件hadoop-3.1.4/etc/hadoop/core-site.xml,设置value为master节点的ip,这里设置为10.10.1.1.注意,三个节点均需要设置为master节点的ip.

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://10.10.1.1:9000</value>
</property>
</configuration>

第五步,分别在三个节点新建namenode和datanode文件

mkdir /mnt/data/hadoop/hadoop-3.1.4/data/namenode
mkdir /mnt/data/hadoop/hadoop-3.1.4/data/datanode

修改hadoop-3.1.4/etc/hadoop/hdfs-site.xml,并设置为刚才新建文件夹的路径

<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/mnt/data/hadoop/hadoop-3.1.4/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/mnt/data/hadoop/hadoop-3.1.4/data/datanode</value>
</property>
</configuration>

第六步,hadoop-3.1.4/etc/hadoop/hadoop-env.sh,添加JAVA_HOME,可以使用如下命令查看JAVA_HOME:
update-alternatives --display java
JAVA_HOME案例路径如下:/usr/lib/jvm/java-8-openjdk-amd64/jre

接下来,分别在三个节点修改hadoop-3.1.4/etc/hadoop/workers,移除localhost并添加所有节点的ip

10.10.1.1
10.10.1.2
10.10.1.3

之后,修改环境变量

export PATH=$PATH:/mnt/data/hadoop/hadoop-3.1.4/bin
export PATH=$PATH:/mnt/data/hadoop/hadoop-3.1.4/sbin

运行Hadoop,查看是否成功

hdfs namenode -format
start-dfs.sh

Spark

下面介绍如何配置Spark,首先下载Spark

wget http://mirror.metrocast.net/apache/spark/spark-2.4.7/spark-2.4.7-bin-hadoop2.7.tgz
tar zvxf spark-2.4.7-bin-hadoop2.7.tgz

接下来,修改网络配置文件,修改各个template的文件名,包括conf/slaves和conf/spark-env.sh. 在conf/slaves下移除localhost并添加所有节点的ip

mv spark-2.4.7-bin-hadoop2.7/conf/slaves.template spark-2.4.7-bin-hadoop2.7/conf/slaves
10.10.1.1
10.10.1.2
10.10.1.3

修改conf/spark-env.sh并分别设置master和slave的ip:

SPARK_MASTER_HOST=10.10.1.1
SPARK_LOCAL_IP=10.10.1.1

设置完毕后,运行Spark
spark-2.4.7-bin-hadoop2.7/sbin/start-all.sh

原文地址:https://www.cnblogs.com/kkyyhh96/p/13688840.html