Hadoop集群搭建教程

一、装前准备

  1. VMware Workstation(我这里下载的是VM15pro)
    https://www.vmware.com/cn.html.
  2. XSHELL下载
    Xshell用于和虚拟机远程链接,可以传输文件。并且在后续输入代码时可以复制粘贴。
  3. Centos镜像文件
    链接:https://pan.baidu.com/s/1kVBAdfWTMDs1zYuBlDqP4Q
    提取码:r6sq
  4. JDK和hadoop
    链接:https://pan.baidu.com/s/1Q8wRWR2KDzAoWCrLbSrtow
    提取码:z66f

二、在虚拟机中安装CentOS 7

  1. VMare Workstation15pro 点击创建虚拟机
    在这里插入图片描述

  2. 进入到“欢迎使用新建虚拟机向导”,选择自定义(高级),然后下一步
    在这里插入图片描述

  3. 一直next,直到如下图时。iso使用的就是装前准备中的CentOS
    在这里插入图片描述

  4. 然后命名虚拟机的名称以及存放虚拟机的位置。
    在这里插入图片描述

  5. 处理器配置界面,默认就好,点击“下一步”

  6. 虚拟机内存界面,默认即可,点击“下一步”,以后可以根据自己需求继续增加

  7. 网络类型界面,选择“使用网络地址转换(NAT)

  8. 选择I/O控制器类型界面、选择磁盘类型界面,默认就可以了,点击下一步

  9. 选择磁盘界面,选择“创建新虚拟磁盘”,然后下一步

  10. 指定磁盘容量选默认就好了。
    在这里插入图片描述

  11. 指定磁盘文件界面,默认的就好,点击“下一步”

  12. 完成创建,启动
    在这里插入图片描述

  13. 选中第一个回车,等待加载。
    在这里插入图片描述

  14. 选择语言
    在这里插入图片描述

  15. 选择安装位置
    在这里插入图片描述

  16. 安装目标位置
    在这里插入图片描述

  17. 网络和主机名进行配置在这里插入图片描述

  18. 进行配置网络和主机名(记住框起来的,后面要用到)
    在这里插入图片描述

  19. 修改主机名,后面好操作
    在这里插入图片描述

  20. 点击配置,然后点击IPv4设置,方法改为手动,点击add
    在这里插入图片描述

  21. 然后设置IPv4,将方法改为手动,目的是固定IP地址,方便之后的连接以及Hadoop集群的通信,点击Add添加地址就是刚刚截图的内容,如下图输入,网关就是路由IP地址。这里我刚开始用的腾讯的DNS,后面改用用阿里的DNS223.5.5.5,223.6.6.6,然后勾选IPv4点击保存。注意:这里要使用你们自己的IP地址,就是在配置网络时的IP要记住。
    在这里插入图片描述
    在这里插入图片描述

  22. 开始安装
    在这里插入图片描述

  23. 点击配置ROOT密码,这里我们方便记,密码直接设为123456,然后点击两次完成即可。
    在这里插入图片描述
    在这里插入图片描述

  24. 安装完成后点击重启,在master login那一行输入root用户名。回车,输入刚刚设置的密码,这里密码是不显示的,不要误以为出bug了
    在这里插入图片描述
    出现下面图片情况,表示安装成功。
    在这里插入图片描述
    这里输入ping www.baidu.com测试虚拟机是否联网成功。(按ctrl+c结束命令),到这CentOS7安装成功。

三、配置CentOS7

更细一下yum源,运行命令yum -y update。当看到Complete! 表示更细完成。
在这里插入图片描述
将系统的防火墙关闭。依次输入下面两个命令。
1.临时关闭防火墙 systemctl stop firewalld.service
2.永久关闭防火墙 systemctl disable firewalld.service
在这里插入图片描述
接着关闭Linux系统内核SELinux。输入vi /etc/selinux/config

linux中vi是编辑文本的命令,按下键盘上的字母 i ,进入编辑模式,按下后底下会提示为INSERT状态。
退出则是按下键盘的ESC键后输入:q就可以退出,:q!为强制退出。
保存并退出则是按下键盘的ESC键后输入:wq就可以保存并退出。

找到SELINUX=enforcing这一行,将enforcing修改为disabled。
在这里插入图片描述
然后输入reboot命令回车重启系统,使命令生效。重启之后输入 /usr/sbin/sestatus -v 查看SELinux是否被禁用
在这里插入图片描述
输入yum install vim -y 安装vim编辑器,作用vi命令一样,对后面修改Hadoop配置有帮助。

输入:vim /etc/hosts 编辑hosts文件,后面配置虚拟机将IP先添加到hosts当中。
在这里插入图片描述
master地址是刚刚安装虚拟机的ip地址,图片中的a1、a2是之后的虚拟机的名称,他们的地址是master的地址加一。

创建Hadooptools文件夹,后面文件放在此文件夹。再根目录进行创建。依次输入下面命令:
cd /root
mkdir Hadooptools
cd Hadooptools

打开xshell工具,连接到服务器
输入服务器的ip、账号、密码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
完成以上步骤就可以连接到虚拟机master了,虚拟机要开机。成功如图
在这里插入图片描述
yum安装lrzsz工具:其命令为:yum -y install lrzsz
在这里插入图片描述

查看是否安装成功,其命令为:rpm -qa|grep lrzsz
在这里插入图片描述
出现以上,则安装成功。

cd Hadooptools进入到我们新建的文件夹输入rz
在这里插入图片描述
将要添加的文件选择就好了
输入ls,有红色的包就成功了。
在这里插入图片描述
输入下面命令分别解压2个压缩包:

tar -zxvf hadoop-2.7.3.tar.gz

tar -zxvf jdk-8u161-linux-x64.tar.gz

版本号要对应

四、JDK安装和配置

输入以下命令
cd ~
ls -all
然后输入:vim .bash_profile
将下面内容添加到文件中:

export JAVA_HOME=/root/Hadooptools/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATH

在这里插入图片描述

保存退出后输入下面命令使其生效:source .bash_profile

然后输入java -version 查看是否成功,如下图表示配置成功。到此CentOS,配置完成,输入shutdown now关闭虚拟机。
在这里插入图片描述

五、克隆虚拟机,配置主机,搭建集群。

右键虚拟机,点击管理,然后点击克隆。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击完成则完成克隆。
克隆创建2次,将这个两个虚拟机分别命名为a1,a2.如下图
在这里插入图片描述
然后依次启动3台虚拟机,然后修改IP。进入a1虚拟机,输入下面命令,配置网络文件:

vim /etc/sysconfig/network-scripts/ifcfg-ens33 将其IPADDR改为192.168.137.136,保存退出后,输入service network restart 使配置生效
在这里插入图片描述
同样的命令配置a2,其地址为192.168.137.137.然后保存退出,同样命令使其生效。

接下来修改主机名,输入下面命令:

A1:hostnamectl set-hostname a1

A2:hostnamectl set-hostname a2
完成后分别输入logout用户登出。
在次登陆就可以看到我们的主机名变为a1.
在这里插入图片描述
然后在master主机分别输入以下命令看是否能ping通。

ping master
ping a1
ping a2

下图表明master和a1,a2连接正常。依次在a1和a2做验证看是否成功。
在这里插入图片描述

六、用Xshell连接三台虚拟机

首先添加三台虚拟机,上面传输文件的时候讲过了。
连接上三台虚拟机。
在这里插入图片描述
在xshell中制作免密码登陆,在master中输入以下命令:ssh-keygen -t rsa然后一直按回车直到命令结束。同样的操作子在,a1,a2中进行。
在这里插入图片描述
在master依次输入下面命令:

ssh-copy-id master
ssh-copy-id a1
ssh-copy-id a2

然后根据提示输入master,a1,a2的密码,这里就是实现了对登陆的免密操作。
在a1中输入下面命令:

ssh-copy-id master
ssh-copy-id a2

在a2中依次输入以下命令:

ssh-copy-id master
ssh-copy-id a1

通过ssh命令测试看是否设置免密登陆成功,如下图操作:
在这里插入图片描述
对a1、a2进行同样的操作

七、配置Hadoop

修改hadoop-env.sh

输入下面命令:cd /root/Hadooptools/hadoop-2.7.3/etc/hadoop/ 进入到
hadoop-2.7.3文件夹。
输入下面命令修改hadoop-env.sh。
vim hadoop-env.sh
将export JAVA_HOME修改为下面的值,然后保存并退出。

# The java implementation to use.
export JAVA_HOME=/root/Hadooptools/jdk1.8.0_161

在这里插入图片描述
修改yarn-env.sh

输入:vim yarn-env.sh

修改JAVA_HOME,然后保存退出。

# some Java parameters
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
if [ "$JAVA_HOME" != "" ]; then
  #echo "run java in $JAVA_HOME"
  JAVA_HOME=/root/Hadooptools/jdk1.8.0_161

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

输入:vim core-site.xml,修改 core-site.xml
将下面内容复制粘贴到文件中,然后保存退出。

<configuration>
        <property>
                <name>fs.default.name</name>
                <value>hdfs://master:9000</value>
                <description>配置NameNode的URL</description>
        </property>
        <!--用来指定hadoop运行时产生的存放目录 -->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/root/Hadooptools/hadoop-tmp</value>
        </property>
</configuration>

在这里插入图片描述
目前系统中是没有这个目录的,后面需要新建这个目录

修改hdfs-site.xml

输入:vim hdfs-site.xml,修改 hdfs-site.xml
将下面内容粘贴到文件中,再保存退出。

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

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

输入:vim mapred-site.xml,修改 mapred-site.xml
将下面内容粘贴到文件中,保存退出。

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<!-- Put site-specific property overrides in this file. -->

<configuration>
        <!-- 指定mr框架为yarn方式 -->
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>

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

输入:vim yarn-site.xml,修改 yarn-site.xml
将下面内容粘贴到文件中:

<configuration>

<!-- Site specific YARN configuration properties -->
<property>
    <!--指定yarn的老大resoucemanager的地址-->
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
</property>
<!--NodeManager 获取数据的方式-->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
</configuration>

在这里插入图片描述
修改slaves

输入:vim slaves,修改 slaves
粘贴以下内容到文件:

master
a1
a2

在这里插入图片描述
建立hadoop-tmp文件夹

进入到Hadooptools文件夹下,新建文件夹(依次输入):
cd /root/Hadooptools/

mkdir hadoop-tmp

删除a1,a2上的Hadooptools文件夹
依次再a1,a2,上执行,输入下面命令:

rm -rf /root/Hadooptools/

将 master 上的 Hadooptools文件夹复制到a1,a2上,输入下面命令:

scp -r /root/Hadooptools root@a1:/root/
scp -r /root/Hadooptools root@a2:/root/

配置系统环境变量

输入下面命令:vim /root/.bash_profile
将下面内容添加到文件中:

export HADOOP_HOME=/root/Hadooptools/hadoop-2.7.7
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:

然后执行source /root/.bash_profile,使其生效。

a1,a2虚拟机配置同上。

格式化hadoop文件系统

输入:hdfs namenode -format
在这里插入图片描述
当看到successful信息时,表明格式化成功。

八、启动Hadoop

输入:start-all.sh
根据提示,输入yes。用主浏览器访问 http://192.168.154.128:50070 查看启动是否成功
在这里插入图片描述
再上图可以看到有3台节点同时在线,如果不是3台证明有问题,需要查看哪里出错了。如果是3台表示配置成功。

登陆yarn的WebUI http://192.168.154.128:8088/
在这里插入图片描述
安装spark

登陆Apache spark官网下载spark

地址:http://spark.apache.org/downloads.html
选择如下图:
在这里插入图片描述
将下载下了的压缩包使用Xshell传到master主机:
在Xshell中解压刚刚上传的压缩包(依次输入下面命令):
cd /root/Hadooptools

tar -zxvf spark-3.1.1-bin-hadoop2.7.tgz

将spark-3.1.1-bin-hadoop2.7文件夹名字修改成spark
输入:mv spark-3.1.1-bin-hadoop2.7 spark

修改环境变量,添加spark
输入:vim /root/.bash_profile
添加下面内容:

export SPARK_HOME=/root/Hadooptools/spark
export PATH=${SPARK_HOME}/bin:$PATH

在这里插入图片描述
输入:source /root/.bash_profile,使其生效。

编辑spark-env.sh

输入:cd /root/Hadooptools/spark/conf/

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

vim spark-env.sh

将下面内容添加到文件中:

export JAVA_HOME=/root/Hadooptools/jdk1.8.0_171
export SPARK_MASTER_IP=192.168.154.128
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=/root/Hadooptools/hadoop-2.7.7/etc/hadoop

添加s1,s2节点信息
vim /root/Hadooptools/spark/conf/slaves

在文件中添加,保存退出:

a1
a2

将spark文件夹复制到a1,a2
运行下面命令:
cd /root/Hadooptools

scp -r spark root@a1:/root/Hadooptools/

scp -r spark root@a2:/root/Hadooptools/
进入spark文件夹,启动spark
运行以下命令:
cd /root/Hadooptools/spark/sbin/

./start-all.sh
在主机的浏览器中访问地址:http://192.168.154.128:8080 ,查看是否能成功访问
在这里插入图片描述
测试spark运行是否正常
运行以下命令:
cd /root

./Hadooptools/spark/bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://master:7077 /root/Hadooptools/spark/examples//jars/spark-examples_2.12-3.1.1.jar 100
然后打开spark的WebUI查看运行情况
http://192.168.154.128:8080/
在这里插入图片描述
当你以上操作都成功了,说明你已经成功的搭建了Hadoop了,恭喜你。
感谢你的阅读!

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值