hadoop完全分布式环境搭建

以三台虚拟机为例

建立主机名和ip映射

sudo vi /etc/hosts
在这里插入图片描述
上传到slave1和slave2
sudo scp -r /etc/hosts slave2:/etc/hosts
在这里插入图片描述

关闭防火墙

(master,slave1,slave2)

关闭防火墙:sudo service iptables stop
关闭防火墙自启:sudo chkconfig iptables off
在这里插入图片描述

配置免密登录

(每台虚拟机上都要执行这四条语句)
ssh-keygen -t rsa
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2

master
在这里插入图片描述
slave1(slave2)
在这里插入图片描述
ssh免密登录验证

在这里插入图片描述

安装JDK

创建自定义文件夹
mkdir apps(每台虚拟机都要创建)
在这里插入图片描述
上传JDK文件并解压

上传教程点这里

解压JDK文件
tar -zxvf jdk-8u181-linux-x64.tar.gz -C /home/hadoop/apps
解压完成更改配置文件
sudo vi /etc/profile
在最后面增加
export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_181

export PATH=$PATH:$JAVA_HOME/bin

在这里插入图片描述
更新配置文件
source /etc/profile
Java环境测试
java/javac

在这里插入图片描述
把Java上传到slave1,slave2
scp -r jdk1.8.0_161/ slave1:/home/hadoop/apps
scp -r jdk1.8.0_161/ slave2:/home/hadoop/apps
在这里插入图片描述
把配置环境上传到其他虚拟机
scp -r /etc/profile slave1: /etc/
scp -r /etc/profile slave2: /etc/
在这里插入图片描述
在其他机器上做Java测试
在这里插入图片描述

hdfs安装与配置

解压hadoop
tar -xzvf hadoop-2.8.5.tar.gz -C /home/hadoop/apps
修改hadoop-env.sh
进入/home/hadoop/apps/hadoop-2.8.5/etc/hadoop
vi hadoop-env.sh
添加
export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_181
修改 core-site.xml
vi core-site.xml


fs.defaultFS
hdfs://master:9000


hadoop.tmp.dir
/home/hadoop/tmp


在这里插入图片描述
修改hdfs-site.xml

vi hdfs-site.xml

dfs.namenode.http-address master:50070 dfs.namenode.secondary.http-address master:50090 dfs.namenode.name.dir /home/hadoop/hdpdata/name/ dfs.datanode.data.dir /home/hadoop/hdpdata/data

在这里插入图片描述
修改slaves
sudo vi slaves
添加
slave1、slave2
(slaves文件打开后出现localhost的名称这个默认是master节点的名称,应该把它修改为master或者是你自己设定的主节点名称,不然后续格式化,jps验证时会出错)

配置hadoop环境变量
sudo vi /etc/profile
添加

export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_181
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.6
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

上传到slave1,slave2
sudo scp -r /etc/profile slave2:/etc/profile
sudo scp -r /etc/profile slave1:/etc/profile
在这里插入图片描述
更新配置文件
source /etc/profile
将hadoop上传到其他主机
scp -r hadoop-2.7.6/ slave1:/home/hadoopapps/(此命令需要在/home/Hadoop/apps路径下运行)
scp -r hadoop-2.7.6/ slave2:/home/hadoopapps/
在这里插入图片描述
格式化元数据目录
hadoop namenode –format(master节点做,其他节点不做)
格式化完成后启动hdfs
start-dfs.sh(所有节点都做)

在这里插入图片描述
启动之后jps验证(这是正确的,如果master节点jps这四项显示错误证明格式化出错,namenode和datanode未出现的解决方法,点击这里查看
在这里插入图片描述
在这里插入图片描述

下载安装spark

解压spark
tar xzvf spark-2.2.3-bin-hadoop2.7.tgz -C /home/hadoop/apps
spark集群规划
在这里插入图片描述
配置文件修改
进入到解压缩后的spark文件夹下的conf文件夹

在这里插入图片描述
复制模板文件

在这里插入图片描述

配置环境变量
vi spark-env.sh (记得把路径和地址改成自己的,脑子要时刻保持清醒!)

export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_161
export SPARK_MASTER_HOST=192.168.3.100
export SPARK_MASTER_PORT=7077
在这里插入图片描述
配置slaves
vi slaves

增加slave1,slave2
在这里插入图片描述
将master配置好的spark 拷贝到slave1,slave2(存放解压缩文件的路径下做)
scp -r spark-2.2.3-bin-hadoop2.7/ slave1:/home/hadoop/apps
scp -r spark-2.2.3-bin-hadoop2.7/ slave2:/home/hadoop/apps

在这里插入图片描述
配置环境变量
sudo vi /etc/profile
增加

export SPARK_HOME=/home/hadoop/apps/spark-2.2.3-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

更新
source /etc/profile

把环境变量拷贝到其他主机
sudo scp –r /etc/profile slave1:/etc/profile
sudo scp –r /etc/profile slave2:/etc/profile

在这里插入图片描述
启动与验证
进入到spark文件夹下的conf文件夹

start-master.sh (启动主节点)
在这里插入图片描述

start-slaves.sh (启动从节点)
在这里插入图片描述
jps验证
master
在这里插入图片描述
出现了master

slave1,slave2验证

在这里插入图片描述
出现了woker
接下来网页验证
在网页地址栏输入 master节点主机名:8080 进行查看
在这里插入图片描述
如果无法查看的话可以在主机的windows/system/divers/etc/hosts文件下添加master主机的ip试试

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页