VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发

前言

如果你的电脑内存为8G,建议每台虚拟机给1G内存。
推荐至少内存大于等于12G,每台虚拟机2G。

1. 下载

VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第1张图片

链接:https://pan.baidu.com/s/1zxiR3xbZ73AEOxI5Kl2_ZQ
提取码:ifob


2. 安装软件(已安装可跳过直接看第3点,需要注意关闭防火墙)

  • VMware(许可证中含有密钥)、XShell、IDEA的安装省略。

  • 安装CentOS-7

VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第2张图片
2.
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第3张图片
3.
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第4张图片
4.
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第5张图片
5. 注意修改位置,默认是C盘
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第6张图片
6.
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第7张图片
7.
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第8张图片
8.
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第9张图片
9.
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第10张图片
10.
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第11张图片
11.
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第12张图片
12. 博主这是给20G,如果你后期会安装HBase、Hive、Kafka、Spark等,建议40G左右
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第13张图片

后面默认即可。。。

  • 网络设置
    安装完成VMware后,查看适配器可以看到多出了VMnet1和VMnet8,需要使用VMnet8。
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第14张图片
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第15张图片
    右键VMnet8 -> 属性 -> Internet 协议版本4:
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第16张图片
    设置如下IP和子网掩码:
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第17张图片
    VMware中设置虚拟网络:
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第18张图片
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第19张图片
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第20张图片
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第21张图片

在VMware中选中data1右键设置:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第22张图片
添加网络适配器:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第23张图片
NAT用于虚拟机与windows的通信,桥接用于连接外网:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第24张图片
设置镜像:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第25张图片

确认后,启动虚拟机:

选择安装(箭头上下移动),ctrl + alt 跳出虚拟机,等待安装:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第26张图片
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第27张图片
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第28张图片
最小化安装:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第29张图片
分盘默认即可,点击安装(如果无法点击安装,先点击有黄色警告的地方-> Done):
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第30张图片
设置密码,建议两个都设置,左边是root用户密码,右边添加新的普通用户,等待安装:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第31张图片
安装成功,重启:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第32张图片
登录root:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第33张图片
设置NAT网卡IP:
在这里插入图片描述
注意:这里第一个虚拟机设置为192.168.1.126,后面第二、三个虚拟机依次为127、128。
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第34张图片
设置桥接网卡:
在这里插入图片描述
在这里插入图片描述
保存后重启网卡:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第35张图片
测试:
与windows通信
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第36张图片
外网通信:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第37张图片
使用XShell 连接:
点击连接,输入用户名、密码
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第38张图片
下面的两个设置是为了避免输入数字小键盘键和方向键乱码:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第39张图片
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第40张图片
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第41张图片
关闭防火墙:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第42张图片
关闭selinux:
在这里插入图片描述
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第43张图片
修改主机名:
在这里插入图片描述
设置IP映射:
在这里插入图片描述
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第44张图片

上传压缩包

下载WinSCP软件:
https://winscp.net/eng/docs/lang:chs
在这里插入图片描述
连接data1:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第45张图片

在Linux中创建目录:
在这里插入图片描述
拖拽上传到 /opt/soft:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第46张图片

3. Hadoop集群安装

这里跳过单机、伪分布的安装。。。

经过第2步,你已经有了一个可以正常运行的CentOS,并且上传有Haodop、JDK安装包。

  • JDK安装
    解压JDK:
tar -zxvf /opt/soft/jdk-8u144-linux-x64.tar.gz -C /opt/module/

配置环境变量:
在这里插入图片描述
末尾添加:

# JDK
export JAVA_HOME=/opt/module/jdk1.8.0_144/
export PATH=$PATH:$JAVA_HOME/bin

测试,出现如下则安装成功:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第47张图片

  • Hadoop安装配置
    解压Hadoop:
tar -zxvf /opt/soft/hadoop-2.8.4.tar.gz -C /opt/module/

以下所有修改都在/opt/module/hadoop-2.8.4/etc/hadoop 目录下:
hadoop-env.sh
修改前:
在这里插入图片描述
修改后:
在这里插入图片描述
core-site.xml


	
	
		fs.defaultFS
		hdfs://data1:9000
	
	
	
		hadoop.tmp.dir
		/opt/module/hadoop-2.8.4/data/tmp
	

hdfs-site.xml


	
	
		dfs.replication
		3
	
	
	
		dfs.namenode.secondary.http-address
		data1:50090
	
	
	
		dfs.permissions
		false
	

yarn-site.xml




	
	
		yarn.nodemanager.aux-services
		mapreduce_shuffle
	
	
	
		yarn.resourcemanager.hostname
		data1
	

	
	
		yarn.log-aggregation-enable
		true
	
	
	
		yarn.log-aggregation-seconds
		604800
	


mapred-site.xml (原文件为mapred-site.xml.template,修改名称即可)


	
	
		mapreduce.framework.name
		yarn
	
	
	
	
		mapreduce.jobhistory.address
		data1:10020
	
	
	
		mapreduce.jobhistory.webapp.address
		data1:19888
	

slaves

data1
data2
data3

设置环境变量,添加到/etc/profile 末尾:

# HADOOP
export HADOOP_HOME=/opt/module/hadoop-2.8.4/
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

测试:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第48张图片

克隆data2、data3

关机data1:
shutdown -h now

克隆出data2和data3:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第49张图片
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第50张图片
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第51张图片

注意修改位置

VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第52张图片
克隆完成:
在这里插入图片描述
启动三台虚拟机:
修改第二台主机名为data2、修改IP为192.168.1.127
修改第二台主机名为data3、修改IP为192.168.1.128(不清楚如何修改可以看第2步)

重启后,使用Xshell连接,得到如下三台机器:
在这里插入图片描述
在data1中测试是否能够与data2、data3通信:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第53张图片

免密设置:

在XShell中设置一键操作三台虚拟机(如果没有安装XShell的推荐安装):
作用是在一台虚拟机中发送命令在其他两台中将执行同样的命令。。。。
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第54张图片
开启后的效果:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第55张图片
生成密钥(一直回车即可):
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第56张图片
添加本机的密钥到指定的主机:
连续执行了三条命令,这样每台虚拟机都会有包括自己在内的另外两台虚拟机的密钥:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第57张图片
关闭一键执行到所有会话:
在这里插入图片描述
测试免密登录:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第58张图片

格式化Hadoop:

在data1中执行:

hadoop namenode -format

出现0则成功:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第59张图片
启动 hdfs:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第60张图片
启动 yarn:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第61张图片
页面访问:
因为在windows可以与虚拟机的通信,所以可以在windows下访问集群的hadoop页面:
192.168.1.126:50070
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第62张图片
可以在命令中查看data2和data3的启动情况:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第63张图片
也可以在页面中查看是否启动成功:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第64张图片
至此,Hadoop集群搭建成功。。。

4. Windows下使用IDEA连接集群

前提:已安装IDEA

  • Windows下安装Maven
    解压Maven,设置环境变量:
    在这里插入图片描述
    测试:
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第65张图片
    配置Maven仓库地址,使用阿里仓库:
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第66张图片
    本地仓库地址(默认为C盘):
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第67张图片

阿里仓库(默认国外):
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第68张图片

  
    
    
        alimaven
        central
        aliyun maven
        http://maven.aliyun.com/nexus/content/repositories/central/
    


    
    
        repo1
        central
        Human Readable Name for this Mirror.
        http://repo1.maven.org/maven2/
    


    
    
        repo2
        central
        Human Readable Name for this Mirror.
        http://repo2.maven.org/maven2/
    
  
  • Windows下配置Hadoop
    解压Ha的oop安装包(与Linux上的为同一解压包)到安装JDK的目录(windows确保你安装了jdk)
    在这里插入图片描述
    并将hadoop.dll 和 winutils.exe 复制到 hadoop-2.8.4/bin 目录下:
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第69张图片
    设置环境变量:
    在这里插入图片描述
    在这里插入图片描述
    测试:
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第70张图片

  • IDEA中设置Maven
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第71张图片
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第72张图片

  • 新建Maven项目
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第73张图片
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第74张图片
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第75张图片

在pom.xml (该文件在新建的Maven项目路径下)中导入Hadoop相关依赖,等待下载完成:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第76张图片

    
        
            org.apache.hadoop
            hadoop-common
            2.8.4
        
        
            org.apache.hadoop
            hadoop-hdfs
            2.8.4
        
        
            org.apache.hadoop
            hadoop-client
            2.8.4
        







        
            log4j
            log4j
            1.2.17
        
        
            org.slf4j
            slf4j-api
            1.7.7
        

        
        
            junit
            junit
            4.12
            test
        
    

Maven依赖下载的jar在设置Maven的本地仓库地址:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第77张图片

  • 编写上传文件代码,右键Run
    VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第78张图片
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.IOException;

public class HadoopTest {
    public static void main(String[] args) throws IOException {
        // 1. 创建配置信息对象
        Configuration configuration = new Configuration();
        configuration.set("fs.defaultFS", "hdfs://192.168.1.126:9000");
        // 2. 获取文件系统
        FileSystem fileSystem = FileSystem.get(configuration);
        // 3. 上传文件
        Path source = new Path("D:\\Test\\Test.txt");
        Path out = new Path("/");
        fileSystem.copyFromLocalFile(source, out);
        // 4. 关闭文件系统
        fileSystem.close();
    }
}

HDFS中查看上传的文件:
VMware-14.1.2 +CentOS7 + Hadoop-2.8.4 搭建集群环境,Windows下使用IDEA开发_第79张图片

完!

你可能感兴趣的:(Hadoop,Hadoop生态圈学习)