目录
总序
一、下载相关软件的压缩包
二、配置虚拟机上主节点相关设置
1、修改主机用户名
2、进行ip地址映射
3、配置虚拟机网络设置
三、解压并配置java、hadoop环境
1、解压jdk、hadoop压缩文件
2、配置jdk、hadoop环境
3、修改hadoop中的相关配置文件信息(最重要)
四、克隆两个子节点
1、克隆虚拟机
2、修改子节点机器的相关配置
五、设置免密登录
1、关闭防火墙和禁止启动防火墙(三个节点都需要)
2、生成密钥
3、分配密钥(三个节点都要执行以下操作)
六、启动hadoop集群
1、格式化hadoop集群
2、启动hadoop集群 (在主节点启动)
七、说明
本次hadoop集群搭建的虚拟机采用的软件为VMware Workstation Pro,用的镜像文件为CentOS-7,此篇文章是为自己准备大数据比赛中的大数据平台搭建部分所写,故只针对搭建hadoop集群搭建的部分进行概述,前绪工作包括虚拟机的搭建读者可以阅读下面的文章自行进行安装。hadoop集群安装的流程本人多次实践过,从而编写出最简单、最明了的操作过程。
虚拟机安装及CentOS-7镜像文件安装的详细步骤
此次hadoop集群的搭建设置了三个节点,主节点的名称为:bigdata2021master,剩余两个子节点的名称分别为:bigdata2021slave1,bigdata2021slave2。
搭建hadoop集群需要配置java、hadoop环境,因此需要去官网下载相关的压缩包。注:尽量不要下载最新版本的压缩包,可能会出现不兼容等相关问题,建议下载老一点版本的。在window中下载的文件可通过qq邮箱、xshell软件等方式传送到虚拟机上去。
1、hadoop下载地址:https://archive.apache.org/dist/hadoop/common/hadoop-2.7.1/(注:选择:hadoop-2.7.1.tar.gz 的文件下载即可)
2、jdk下载地址:https://www.oracle.com/java/technologies/downloads/#java8(注:选择:jdk-8u381-linux-x64.tar.gz文件下载即可)
首先要将你的主机用户名改为所需要的用户名,这里我改成bigdata2021master。
(1)打开终端,输入:su 后并输入密码切换成管理员模式;
(2)输入:vi etc/hostname,修改成对应的用户名(注:用vi命令编辑文件时按i进入编辑模式,编辑完成后按esc后输入wq!保存并退出);
在终端中输入:vi etc/hosts 后输入(如下图)三个节点名称和ip地址(ip地址可在终端中输入ifconfig命令中可查看,剩余两个子节点的ip地址最后三位自己可随便定义);
(1)在终端中输入vi /etc/sysconfig/network-scripts/ifcfg-ens33 后,修改和增加相关配置,修改和增加的内容为下图1中红色框的内容。其中IPADDR表示为IP地址,NETMASK表示为子网掩码,GATEWAY为网关,以上地址可在虚拟机菜单中点击编辑-->虚拟网络编辑器-->VMnet8-->NAT设置后即可看到相关地址信息(如下图2步骤),DNS1和DNS2可用图中默认的地址;
(2)完成上述配置,要重启网络,在终端中输入:service network restart
图1:(注:可能读者在操作时有些配置和此图片不一样,读者要统一成和此图片一致,除红框中的信息要根据自己计算机的地址信息来修改)
图2:可能需要管理员权限
(1)切换到保存压缩包的文件夹下输入:tar -zxvf 压缩包名
(2)文件名过长时可用mv命令修改方便后续操作
(1)在终端中输入:vi /etc/profile 来修改文件;
(2)在结尾加上以下内容(如下图所示):
export JAVA_HOME=解压后的jdk文件路径
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=解压后的hadoop文件路径
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
(3)保存退出后输入:source /etc/profile 让修改的配置文件生效;
(4)验证是否配置成功,输入:java -version 如果出现下图信息说明配置成功。
(1)新建几个目录用来存储修改配置文件后的相关信息,在终端中输入以下命令:
mkdir /root/hadoop
mkdir /root/hadoop/tmp
mkdir /root/hadoop/var
mkdir /root/hadoop/dfs
mkdir /root/hadoop/dfs/name
mkdir /root/hadoop/dfs/data
(2)切换到 etc/hadoop 下,修改一系列配置文件:
hadoop.tmp.dir
/root/hadoop/tmp
Abase for other temporary directories.
fs.default.name
hdfs://bigdata2021master:9000
dfs.name.dir
/root/hadoop/dfs/name
Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.
dfs.data.dir
/root/hadoop/dfs/data
Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.
dfs.replication
2 #表示副节点的个数
dfs.permissions
false
need not permissions
mapred.job.tracker
bigdata2021master:49001
mapred.local.dir
/root/hadoop/var
mapreduce.framework.name
yarn
yarn.resourcemanager.hostname
bigdata2021master
The address of the applications manager interface in the RM.
yarn.resourcemanager.address
${yarn.resourcemanager.hostname}:8032
The address of the scheduler interface.
yarn.resourcemanager.scheduler.address
${yarn.resourcemanager.hostname}:8030
The http address of the RM web application.
yarn.resourcemanager.webapp.address
${yarn.resourcemanager.hostname}:8088
The https adddress of the RM web application.
yarn.resourcemanager.webapp.https.address
${yarn.resourcemanager.hostname}:8090
yarn.resourcemanager.resource-tracker.address
${yarn.resourcemanager.hostname}:8031
The address of the RM admin interface.
yarn.resourcemanager.admin.address
${yarn.resourcemanager.hostname}:8033
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.scheduler.maximum-allocation-mb
2048
每个节点可用内存,单位MB,默认8182MB
yarn.nodemanager.vmem-pmem-ratio
2.1
yarn.nodemanager.resource.memory-mb
2048
yarn.nodemanager.vmem-check-enabled
false
(1)选择对应左侧虚拟机的名称,右击选择管理-->克隆;
(2)接下来直接选择默认选项即可,但注意其中一步必须选择如下图的选项。
因为克隆机器后的两个子节点和主机点的信息完全一致,因此要把两个子节点的用户名、ip地址根据之前修改的hosts文件改掉,方法和前面一致。
♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
特别说明:有的时候需要用scp命令将主机上的hadoop文件传输到副机上去,这里可以先新建两个虚拟机并且和前面一样配置好相关信息,再在终端中输入:scp -r 源hadoop文件路径 机器用户名:目标路径位置后,即可传输,比较麻烦,建议没有要求的情况下使用克隆虚拟机的方法。
♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
(1)关闭防火墙,终端中输入:systemctl stop firewalld.service
(2)关闭开机时自动开启防火墙 :systemctl disable firewalld.service
在终端中输入:ssh-keygen -t rsa ,一直按回车键即可
(1)在终端中输入以下指令(中途根据提示输入yes、密码):
ssh-copy-id bigdata2021master
ssh-copy-id bigdata2021slave1
ssh-copy-id bigdata2021slave2
(2)验证是否能够免密成功登录,终端输入:ssh 机器名称,若能够成功登录其他机器则免密登陆设置成功
(1)切换到 下载的hadoop文件中的 bin 目录下
(2)格式化hadoop集群,在终端中输入:./hadoop namenode -format ,若在 /root/hadoop/dfs/name中出现一个current目录并有一些列文件,即表示格式化成功,注意不要多次格式化会出错。
(3)修改下列启动和停止集群的配置文件(在主节点修改即可)
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=root
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=root
YARN_NODEMANAGER_USER=root
(1)在终端输入:start-all.sh;
(2)三个节点分别输入jps查看进程(注意都要切换到管理员权限,并切换到hadoop文件下的bin目录下),出现下列结果(关键是看主机点的进程中是否有NameNode进程、子结点中是否有DataNode进程),则表明搭建集群成功;(注:必须都为管理员权限下进入hadoop目录下的bin路径下才能查看到启动的进程)
❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤
如果没有成功搭建,大概率是因为在配置hadoop文件时有问题,请务必在配置时仔细检查,创作不易,希望留下您的点赞哦,如果此篇文章编写有问题,欢迎批评指正。
❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤