CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)

完全分布式Hadoop的搭建,请见链接: link.
https://blog.csdn.net/qq_45720792/article/details/107299423

以下所有在终端上执行的操作均在root用户下完成!!!
su - //带环境配置文件切换为root用户

一、建立虚拟机

在VMware中新建1台虚拟机
1、主机名:hadp
2、镜像文件:Centos7
链接: link.
(https://pan.baidu.com/s/1pqGMlRwC-t5Qp5YF-aowuA 提取码:w3du)
3、内存建议为4G,CPU建议为2核
4、网络连接:NAT
5、记录各虚拟机IP
ip addr //适用于Centos7以上版本
ipconfig //适用于Centos7以下版本

二、配置静态网卡(IP)

虚拟机每次开机时都有可能更改IP,我们在搭建项目时,虚拟机的IP是不可以改变的。

vi /etc/sysconfig/network-scripts/ifcfg-ens33 //编辑网卡文件
该图是一个未修改的网卡文件(即默认网卡文件)

1、将BOOTPROTO的值(默认是dhcp)修改为static,即静态地址
2、添加IPADDR(IP地址)、NETMASK(子网掩码)、GATEWAY(网关)
IPADDR="192.168.137.152"
NETMASK="255.255.255.0"
GATEWAY="192.168.137.2"
DNS1=114.114.114.114
DNS2=119.29.29.29

vim操作不熟练的小可爱们,见链接: link.(https://blog.csdn.net/qq_45720792/article/details/107300929)

IPADDR:我们可以设置该虚拟机现在时刻的IP,此作用是保持该虚拟机IP不发生改变(查询IP的命令上文已提到);我们也可以设置一个我们想要的IP,便于理解和记忆(前提是该IP必须有效且未被占用)
NETMASK、GATEWAY:可以打开VMware→编辑→虚拟网络编辑器(→NET设置),进行查看(NETMASK、GATEWAY要与虚拟机的配置保持一致)

我们将ifcfg-ens33文件编辑后,如下:
CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第1张图片

3、重启网卡
service network restart //重启网卡,使设置生效

三、配置host文件

vi /etc/hosts在四台虚拟机上编辑hosts文件
该图是一个未修改的host文件(即默认host文件)

CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第2张图片

我们在hosts文件中增加以下内容:

192.168.137.100 hadp

我们将host文件编辑后,如下:
CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第3张图片

四、配置防火墙

systemctl status firewalld.service 查看防火墙状态
active(running) 防火墙为开启状态
inavtive(dead) 防火墙为关闭状态
systemctl disable firewalld.service禁止防火墙服务器
再次查看防火墙状态,确保为disavtive(dead)
reboot 重启CentOS系统,即时生效

防火墙为开启状态

防火墙为开启状态

五、Centos系统—jdk的安装

1、下载jdk

Windows系统中下载jdk文件

jdk-8u73-linux-x64.tar.gz
链接1: link.(https://pan.baidu.com/s/1cna38PQykYN03Hy_bUZ9pw 提取码:a42v)
链接2(oracle官网下载): link.(https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)

2、上传jdk

创建目录(置放安装文件)
mkdir -p /home/root/apps //在root目录下创建apps文件夹

将Windows系统中下载好的jdk-8u73-linux-x64.tar.gz上传至/home/root目录下

禁止!!!:此处严禁通过VMware tools工具,从Windows系统中将jdk安装包文件直接拖拽至虚拟机中,这个方法传输的文件很有可能都不完整,在解压的过程中将会出现如下异常提示

tar: 归档文件中异常的 EOF
tar: 归档文件中异常的 EOF
tar: Error is not recoverable: exiting now

这种方法通过后续的安装步骤,尽管jdk安装成功了,但显示的版本却是openjdk(Centos自带的jdk),这种情况就是安装出错,后续启动hadoop时将会出现路径上的问题

解决方法:使用Xftp上传jdk文件
链接: link.(https://pan.baidu.com/s/1oHCoCmxxLuTiE4JOyVZE6w 提取码:ntsi)

3、安装jdk

cd /home/root //进入root目录
tar -zxvf jdk-8u73-linux-x64.tar.gz -C apps // 将jdk解压至指定目录中(/home/root/apps)

4、配置jdk环境变量

vi /etc/profile //编辑/etc/profile文件
在文件的末尾设置JAVA环境变量(添加以下语句)
export JAVA_HOME=/home/root/apps/jdk1.8.0_73
export PATH=$PATH:$JAVA_HOME/bin
(jdk1.8.0_73,可在/home/root/apps路径下查看jdk的版本号,即文件夹名)

vim操作不熟练的小可爱们,见链接: link.(https://blog.csdn.net/qq_45720792/article/details/107300929)

source /etc/profile // 让修改后的/etc/profile文件立即生效
java -version //查看jdk版本信息
若版本信息与安装包一致,则安装成功

番外篇:

如果安装成openjdk,如何再调试为想要安装的jdk版本jdk1.8.0_73(即上传安装包的jdk版本)

1、查看jdk版本信息
java -version //查看jdk版本信息

此时显示的版本为:openjdk1.8.0_102
2、查找openjdk相关文件
rpm -qa |grep java //查出openjdk相关的文件

如图,我们可以看到相关文件有4个:

java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64

3、删除openjdk
rpm -e --nodeps+文件名 //删除该文件
把这4个openjdk都删除:
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64

4、查看jdk版本信息
java -version //查看jdk版本信息

此时,显示没有安装jdk

5、重新安装
我们将/home/root/apps/目录下的jdk1.8.0_73文件夹删除,可以用Xftp删除(可能会有残留,不过没事,我们重新解压时会覆盖它)
cd /home/root //进入root目录(若在该目录内,忽略该步)
tar -zxvf jdk-8u73-linux-x64.tar.gz -C apps // 将jdk重新解压至指定目录中(/home/root/apps)
source /etc/profile // 刷新/etc/profile文件
java -version //查看jdk版本信息
若版本信息与安装包一致,则安装成功

六、Centos系统—hadoop的安装

1、安装wget

yum install wget

2、下载hadoop安装包

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz

3、安装hadoop

tar -xzvf hadoop-2.7.7.tar.gz -C /home/root/apps //将hadoop安装包解压到目录(apps)中
cd /home/root/apps //进入apps目录

4、配置Hadoop环境变量

vi /etc/profile //编辑/etc/profile文件
在文件的末尾设置JAVA环境变量(添加以下语句)
export HADOOP_HOME=/home/root/apps/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

vim操作不熟练的小可爱们,见链接: link.(https://blog.csdn.net/qq_45720792/article/details/107300929)

source /etc/profile // 让修改后的/etc/profile文件立即生效
hadoop //检查是否安装成功

七、配置SSH免密登录

生成公私钥

ssh-keygen -t rsa //生成公私钥
按三次回车键
CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第4张图片
执行完毕后,将在用户主目录下生成.ssh文件夹,其中包括公私钥文件。

发送公私钥

把公钥发送到服务器端(发送前要保证虚拟机服务器已通过root用户登录)
ssh-copy-id -i ~/.ssh/id_rsa.pub hadp //把公钥发送到hadp01

八、Hadoop集群配置

cd /home/root/apps/hadoop-2.7.7/etc/hadoop //进入工作目录

core-site.xml

vi core-site.xml //修改core-site.xml文件

该图是一个未修改的core-site.xml文件(即默认core-site.xml文件)
CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第5张图片


    fs.defaultFS
    hdfs://hadp:9000


    hadoop.tmp.dir
    /home/root/apps/hadoop-2.7.7/tmp

修改后的效果图:
CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第6张图片

hdfs-site.xml

vi hdfs-site.xml //修改vi hdfs-site.xml文件

该图是一个未修改的hdfs-site.xml文件(即默认hdfs-site.xml文件)
CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第7张图片

 
    dfs.replication
    1


    dfs.name.dir
    /root/hdfs/name


    dfs.data.dir
    /root/hdfs/data


    dfs.namenode.secondary.http-address
    hadp:50090


    dfs.namenode.secondary.https-address
    hadp:50091

修改后的效果图:
CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第8张图片

mapred-site.xml

cp mapred-site.xml.template mapred-site.xml //根据模板创建mapred-site.xml文件
vi mapred-site.xml //修改mapred-site.xml文件

该图是一个未修改的mapred-site.xml文件(即默认mapred-site.xml文件)
CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第9张图片


  mapreduce.framework.name
  yarn

修改后的效果图:
CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第10张图片

yarn-site.xml

vi yarn-site.xml //修改yarn-site.xml文件

该图是一个未修改的yarn-site.xml文件(即默认yarn-site.xml文件)

CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第11张图片

    yarn.nodemanager.aux-services
    mapreduce_shuffle


    yarn.resourcemanager.hostname
    hadp

修改后的效果图:
CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第12张图片

hadoop-env.sh

vi hadoop-env.sh //修改hadoop-env.sh文件

该图是一个未修改的hadoop-env.sh文件(即默认hadoop-env.sh文件)
CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第13张图片

将默认的export JAVA_HOME=${JAVA_HOME}
替换为export JAVA_HOME=/home/root/apps/jdk1.8.0_73

修改后的效果图:

CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第14张图片

yarn-env.sh

vi yarn-env.sh //修改yarn-env.sh文件

该图是一个未修改的hadoop-env.sh文件(即默认hadoop-env.sh文件)
CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第15张图片

将默认的# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
替换为export JAVA_HOME=/home/root/apps/jdk1.8.0_73
别忘记删除这一行最前面的#

修改后的效果图:

CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第16张图片

九、Hadoop的格式化与启动

格式化

cd /home/root/apps/hadoop-2.7.7/ //进入至hadoop目录下
bin/hadoop namenode -format //格式化namenode

CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第17张图片

hadoop version //查看Hadoop版本信息
CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第18张图片

启动

sbin/start-all.sh //启动Hadoop

CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第19张图片

在Windows中启动浏览器查看运行情况(即使用外网查询,IP+端口号)

YARN

YARN的Web端口号是8088
http://192.168.137.153:8088/

CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第20张图片 CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第21张图片

HDFS

HDFS的Web端口号是50070
http://192.168.137.153:50070/
CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第22张图片

常见错误:可以打开YARN或HDFS任意一端口,但另外一个无法打开,输入jps时,也可以看见相应的节点未开启
解决方法:重新格式化并重启

jps

jps //查看各个虚拟机节点启动的状况
CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第23张图片

十、Hadoop的停止

sbin/stop-all.sh //停止Hadoop

CentOS 7 系统虚拟机之搭建伪分布式Hadoop环境(超级完整版 没有之一)_第24张图片

完全分布式Hadoop的搭建,请见链接: link.
https://blog.csdn.net/qq_45720792/article/details/107299423

你可能感兴趣的:(hadoop,centos,大数据,linux,java)