大数据Hadoop分布式集群部署(详细集群)
本文 介绍大数据平台Hadoop的分布式环境搭建,为保证大家都可以在自己的电脑上使用,我们选取在VMware Workstation Pro 12.0以上版本的虚拟机上部署5台CentOS-7系统模拟5台服务器。Java jdk环境采用jdk-1.8以上版本,Hadoop采用hadoop-2.8.3版本
下表为地址规划表,地址规划以及与主机名的映射关系如下表所示:master1地址为192.168.150.101;master2地址为192.168.150.102;slave1地址为192.168.150.103;slave2地址为192.168.150.104;slave3地址为192.168.150.105。
序号 |
主机名 |
IP地址 |
掩码 |
网关 |
DNS |
1 |
master1 |
192.168.150.101 |
255.255.255.0 |
192.168.150.2 |
8.8.8.8 |
2 |
master2 |
192.168.150.102 |
255.255.255.0 |
192.168.150.2 |
8.8.8.8 |
3 |
slave1 |
192.168.150.103 |
255.255.255.0 |
192.168.150.2 |
8.8.8.8 |
4 |
slave2 |
192.168.150.104 |
255.255.255.0 |
192.168.150.2 |
8.8.8.8 |
5 |
slave3 |
192.168.150.105 |
255.255.255.0 |
192.168.150.2 |
8.8.8.8 |
每台主机的资源配置如下表,后期也可以根据需要动态调整资源(vCPU的资源可以大于物理CPU 2倍左右,比如你的电脑只有4核,可以虚出8 vcpu)
序号 |
主机名 |
IP地址 |
内存 |
cpu |
硬盘 |
1 |
master1 |
192.168.150.101 |
2G |
1 |
100 |
2 |
master2 |
192.168.150.102 |
2G |
1 |
100 |
3 |
slave1 |
192.168.150.103 |
1G |
1 |
100 |
4 |
slave2 |
192.168.150.104 |
1G |
1 |
100 |
5 |
slave3 |
192.168.150.105 |
1G |
1 |
100 |
序号 |
主机名 |
IP地址 |
管理账号/密码 |
普通用户/密码 |
1 |
master1 |
192.168.150.101 |
root/huawei@123 |
hadoop/huawei@123 |
2 |
master2 |
192.168.150.102 |
root/huawei@123 |
hadoop/huawei@123 |
3 |
slave1 |
192.168.150.103 |
root/huawei@123 |
hadoop/huawei@123 |
4 |
slave2 |
192.168.150.104 |
root/huawei@123 |
hadoop/huawei@123 |
5 |
slave3 |
192.168.150.105 |
root/huawei@123 |
hadoop/huawei@123 |
以下为Hadoop节点的部署图,将NameNode部署在master1,SecondaryNameNode部署在master2,slave1、slave2、slave3中分别部署一个DataNode节点。
序号 |
主机名 |
IP地址 |
Namenode |
Secondnamenode |
Datanode |
1 |
master1 |
192.168.150.101 |
Y |
|
|
2 |
master2 |
192.168.150.102 |
|
Y |
|
3 |
slave1 |
192.168.150.103 |
|
|
Y |
4 |
slave2 |
192.168.150.104 |
|
|
Y |
5 |
slave3 |
192.168.150.105 |
|
|
Y |
序号 |
主机名 |
IP地址 |
软件存放目录 |
软件安装目录 |
文件测试目录 |
1 |
master1 |
192.168.150.101 |
/opt/software |
/opt/hadoop |
/opt/test |
2 |
master2 |
192.168.150.102 |
/opt/software |
/opt/hadoop |
/opt/test |
3 |
slave1 |
192.168.150.103 |
/opt/software |
/opt/hadoop |
/opt/test |
4 |
slave2 |
192.168.150.104 |
/opt/software |
/opt/hadoop |
/opt/test |
5 |
slave3 |
192.168.150.105 |
/opt/software |
/opt/hadoop |
/opt/test |
详细的搭建过程及其相关软件链接如下(仅参考 第三部分基础平台搭建,第1小结VMware 虚拟机安装调试即可):https://blog.csdn.net/arnoldmapo/article/details/104964971
详细的搭建过程及其相关软件链接如下(仅参考 第三部分基础平台搭建,第2小结VMware 虚拟机安装调试即可):https://blog.csdn.net/arnoldmapo/article/details/104964971
使用命令:ifconfig
使用命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33
使用命令:service network start
使用命令:ping
使用第三方软件:MobaXterm
使用命令:hostnamectl set-hostname master1
重新登陆一次root用户才能看到修改成功
使用命令:systemctl status firewalld
使用命令:systemctl disable firewalld
使用命令:groupadd hadoop
使用命令: useradd hadoop -m -g hadoop
使用命令:passwd hadoop
使用命令:mkdir software
mkdir test
mkdir hadoop
使用命令:vi /etc/hosts
192.168.150.101 master1
192.168.150.102 master2
192.168.150.103 slave1
192.168.150.104 slave2
192.168.150.105 slave3
使用命令:ping master1
使用命令:su Hadoop
使用命令:ssh-keygen -t rsa
使用命令:ssh-copy-id hadoop@master1
ssh-copy-id hadoop@master2
ssh-copy-id hadoop@slave1
ssh-copy-id hadoop@slave2
ssh-copy-id hadoop@slave3
同样操作省略
使用命令:ssh master1
成功的免密登陆
使用命令:exit
官网地址:https://archive.apache.org/dist/hadoop/common/hadoop-2.8.3/
云盘地址:https://pan.baidu.com/s/14EsLaoY1rPMYwTehDhxdvQ 提取码:mfo3
云盘地址:https://pan.baidu.com/s/1h6qrNM10B6Vl-3p06lLpEg 提取码:j071
使用命令:chown -R hadoop:hadoop /opt/software
chown -R hadoop:hadoop /opt/test
chown -R hadoop:hadoop /opt/hadoop
使用命令:tar zxvf jdk-8u231-linux-x64.tar.gz -C /opt/hadoop/
查看已经成功安装解压,使用命令:ls
使用命令:mv jdk1.8.0_231/ jdk1.8
将jdk环境路径插入到目录最下方
使用命令:vi ~/.bashrc
export JAVA_HOME=/opt/hadoop/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
使用命令:source ~/.bashrc
使用命令:java -version
大致可以看到,解压后的目录如上图:
bin目录下是常用的一些执行任务的脚本,比如我们用的hdfs相关的shell,hadoop相关的一些提交任务的脚本,都在这里。
etc下就只有一个目录,叫做hadoop,用途就是我们hdfs,mapreduce,yarn运行中的各种配置,非常重要,常用的一些调优,配置都在这里,后面做配置就是到这个目录下的hadoop中进行配置。
sbin目录,里面大部分是启动服务的脚本,与bin不同,这里是用于启动hdfs,启动yarn的,用于支撑我们其他服务的运行,hdfs和yarn后面的启动命令就存放于此。
share文件夹,里面是我们hadoop常用的很多包,这就可以解释为什么我们执行任务时候直接以hadoop jar的方式就能够正常运行一些包了,因为很多的第三方的包,都已经由hadoop默认给我们加载了;这也启发我们,如果想要对hadoop底层一些东西进行修改的话,我们可以把这里面的jar包的源码下载下来,自己进行修改,然后重新打包运行,就可以达到满意的效果了,我们的单词统计实验就是用到里面的hadoop-mapreduce-examples-2.8.3.jar包。
在启动完hdfs系统后还会定义产生data目录,用于存放hadoop使用过程中一些临时数据,。
使用命令:tar zxvf /opt/software/hadoop-2.8.3.tar.gz -C /opt/hadoop/
使用命令:mv hadoop-2.8.3/ hadoop
使用命令:vi ~./.bashrc
export HADOOP_HOME=/opt/hadoop/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使用命令:source ~/.bashrc
使用命令:cd /opt/hadoop/hadoop/etc/hadoop/
使用命令:vi core-site.xml
使用命令:vi hdfs-site.xml
由于Hadoop文件中没有携带mapred-site.xml文件,但是可以有mapred-site.xml.template复制过来
使用命令: cp mapred-site.xml.template mapred-site.xml
使用命令:vi mapred-site.xml
配置文件
使用命令:vi yarn-site.xml
使用命令:vi slaves
slave1;slave2;slave3
使用命令:vi hadoop-env.sh
export JAVA_HOME=/opt/hadoop/jdk1.8 (修改成绝对路径)
export HADOOP_CONF_DIR=/opt/hadoop/hadoop/etc/hadoop
使用命令:vi yarn-env.sh
export JAVA_HOME=/opt/hadoop/jdk1.8
使用命令:vi mapred-env.sh
export JAVA_HOME=/opt/hadooo/jdk1.8
使用命令:. yarn-env.sh;. mapred-env.sh;. hadoop-env.sh
使用命令:chown -R hadoop:hadoop /opt/
其它三个节点同理修改opt属主和属组为hadoop:hadoop
使用命令:scp -r /opt/hadoop hadoop@master2:/opt/
scp -r /opt/hadoop hadoop@slave1:/opt/
scp -r /opt/hadoop hadoop@slave2:/opt/
scp -r /opt/hadoop hadoop@slave3:/opt/
使用命令:scp -r .bashrc hadoop@master2:~
scp -r .bashrc hadoop@slave1:~
scp -r .bashrc hadoop@slave2:~
scp -r .bashrc hadoop@slave3:~
使用命令:source .bashrc
使用命令:hdfs namenode -format
需要看到成功
可以一次性全部启动
使用命令:start-dfs.sh、start-yarn.sh或者使用命令start-all.sh(这个命令已经被弃用)
可以单独一个个服务启动
使用命令:
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
hadoop-daemon.sh start secondarynamenode
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager
各个服务显示已经启动成功
使用命令: jps
使用命令:ss -tnl
Namenode节点
数据节点3个
可以通过单词统计实验测试平台使用练习,具体测试文档参考链接:
https://blog.csdn.net/arnoldmapo/article/details/105025816
http://hadoop.apache.org/docs/r2.8.3/