当前位置:   article > 正文

【大数据环境搭建(三)】在Centos7上搭建Hadoop集群(完全分布式)_core-site.sml完全分布部署

core-site.sml完全分布部署

【大数据环境搭建(三)】在Centos7上搭建Hadoop集群(完全分布式)


集群配置

使用三节点,master、slave1、slave2,
jdk1.8.0_171
zookeeper-3.4.10
hadoop-2.7.3


一、基础配置

首先使用Xshell连接虚拟机,不知道怎么连接的同学可以参考文章底下的系列文章链接。

更改主机名

hostnamectl set-hostname master(在master执行)
hostnamectl set-hostname slave1(在slave1执行)
hostnamectl set-hostname slave2(在slave2执行)
  • 1
  • 2
  • 3

更改完后输入bash进行生效

下载Vim(三台机器都执行)

yum -y install vim
  • 1

配置hosts文件(三台机器都执行)

使用ifconfigip addr查看ip地址,接着将ip及其对应的主机名填入hosts文件中。

vim /etc/hosts
  • 1

注意:使用tab间隔
在这里插入图片描述

无网络,无ip信息?

如果在正常开启网络后输入ip addr命令看不到本机ip时,
在这里插入图片描述

修改网卡的配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33 
  • 1

(网卡名ens33可能会不一样,按上图框框里面的网卡名为准)
在这里插入图片描述

将ONBOOT从no改为yes后保存退出,

重启network服务
service network restart
  • 1

最后再次输入ip addr即可获取ip信息。

关闭防火墙(三台机器都执行)

关闭防火墙:

systemctl stop firewalld
  • 1

查看状态:

systemctl status firewalld
  • 1

永久关闭防火墙:

systemctl disable firewalld
  • 1

SSH免密(master节点执行)

生成 sshkey

ssh-keygen -t rsa
  • 1

在这里插入图片描述

分发密钥

ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
  • 1
  • 2
  • 3

在这里插入图片描述

时间同步

下载ntp(三台机器都执行)

yum install -y ntp
  • 1

修改ntp配置文件(master节点执行)

vim /etc/ntp.conf
  • 1

在文件末尾添加:

server 	127.127.1.0
fudge	127.127.1.0	stratum	10
  • 1
  • 2

注意:使用tab间隔
在这里插入图片描述

重启ntp服务

systemctl restart ntpd
  • 1

同步master时间(在slave1,slave2中执行)

ntpdate master 
  • 1

在这里插入图片描述
在这里插入图片描述

二、JDK安装及配置(在master执行)

创建工作路径

mkdir /usr/java
  • 1

解压JDK

tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/java/
  • 1

注意:jdk文件名以自己下载的为准

配置环境变量

vim /etc/profile
  • 1

在文件末尾添加:

export JAVA_HOME=/usr/java/jdk1.8.0_171
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
  • 1
  • 2
  • 3

保存退出

分发jdk

scp -r /usr/java root@slave1:/usr/
scp -r /usr/java root@slave2:/usr/
  • 1
  • 2

分发/etc/profile文件

scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
  • 1
  • 2

生效环境变量(三台机器都执行)

source /etc/profile
  • 1

检验安装是否成功

java -version
  • 1

在这里插入图片描述
能看到版本信息说明安装配置成功

三、zookeeper安装及配置(在master执行)

创建工作路径

mkdir /usr/zookeeper
  • 1

解压zookeeper

tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/zookeeper
  • 1

创建zkdata和zkdatalog

在zookeeper的目录中,创建zkdata和zkdatalog两个文件夹

cd /usr/zookeeper/zookeeper-3.4.10
mkdir zkdata zkdatalog
  • 1
  • 2

配置zoo.cfg文件

cd /usr/zookeeper/zookeeper-3.4.10/conf/
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg
  • 1
  • 2
  • 3

修改如下:

dataDir=/usr/zookeeper/zookeeper-3.4.10/zkdata
dataLogDir=/usr/zookeeper/zookeeper-3.4.10/zkdatalog
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

配置环境变量

vim /etc/profile
  • 1

在文件末尾添加:

export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.10 
export PATH=$PATH:$ZOOKEEPER_HOME/bin
  • 1
  • 2

分发zookeeper

scp -r /usr/zookeeper root@slave1:/usr/
scp -r /usr/zookeeper root@slave2:/usr/
  • 1
  • 2

创建myid文件

echo '1' > /usr/zookeeper/zookeeper-3.4.10/zkdata/myid(在master执行)
echo '2' > /usr/zookeeper/zookeeper-3.4.10/zkdata/myid(在slave1执行)
echo '3' > /usr/zookeeper/zookeeper-3.4.10/zkdata/myid(在slave2执行)
  • 1
  • 2
  • 3

分发/etc/profile文件

scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
  • 1
  • 2

生效环境变量(三台机器都执行)

source /etc/profile
  • 1

检验安装是否成功

启动zookeeper(三台机器都执行)

zkServer.sh start 
  • 1

查看zookeeper状态(三台机器都执行)

zkServer.sh status 
  • 1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到有follower和leader,说明安装配置成功。

四、hadoop安装及配置(在master执行)

创建工作路径

mkdir /usr/hadoop
  • 1

解压hadoop

tar -zxvf hadoop-2.7.3.tar.gz -C /usr/hadoop
  • 1

修改配置文件

文件列表如下:

hadoop-env.sh
core-site.xml
hdfs-site.xml
yarn-site.xml
mapred-site.xml
master
slaves
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

进入配置文件所在目录:

cd /usr/hadoop/hadoop-2.7.3/etc/hadoop
  • 1

hadoop-env.sh

vim hadoop-env.sh
  • 1

修改java环境变量

export JAVA_HOME=/usr/java/jdk1.8.0_171
  • 1

在这里插入图片描述

core-site.xml

vim core-site.xml
  • 1

<configuration></configuration>中加入以下代码:

<property>
	<name>fs.default.name</name>
	<value>hdfs://master:9000</value>
</property>
<property>
	<name>hadoop.tmp.dir</name>
	<value>/usr/hadoop/hadoop-2.7.3/hdfs/tmp</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

hdfs-site.xml

vim hdfs-site.xml
  • 1

<configuration></configuration>中加入以下代码:

<property>
	<name>dfs.replication</name>
	<value>2</value>
 </property>
 <property>
	<name>dfs.namenode.name.dir</name>
	<value>file:/usr/hadoop/hadoop-2.7.3/hdfs/name</value>
	<final>true</final>
</property>
<property>
	<name>dfs.datanode.data.dir</name>
	<value>file:/usr/hadoop/hadoop-2.7.3/hdfs/data</value>
	<final>true</final>
</property>
<property>
	<name>dfs.namenode.secondary.http-address</name>
	<value>master:9001</value>
</property>
<property>
	<name>dfs.webhdfs.enabled</name>
	<value>true</value>
</property>
<property>
	<name>dfs.permissions</name>
	<value>false</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

在这里插入图片描述

yarn-site.xml

vim yarn-site.xml
  • 1

<configuration></configuration>中加入以下代码:

<property>
	<name>yarn.resourcemanager.address</name>
	<value>master:18040</value>
</property>
<property>
	<name>yarn.resourcemanager.scheduler.address</name>
	<value>master:18030</value>
</property>
<property>
	<name>yarn.resourcemanager.webapp.address</name>
	<value>master:18088</value>
</property>
<property>
	<name>yarn.resourcemanager.resource-tracker.address</name>
	<value>master:18025</value>
</property>
<property>
	<name>yarn.resourcemanager.admin.address</name>
	<value>master:18141</value>
</property>
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>
<property>
	<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
	<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

在这里插入图片描述

mapred-site.xml

mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
  • 1
  • 2

<configuration></configuration>中加入以下代码:

<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

master

vim master
  • 1

输入:

master
  • 1

在这里插入图片描述

slaves

vim slaves
  • 1

清空原来的localhost,重新输入:

slave1
slave2
  • 1
  • 2

分发hadoop

scp -r /usr/hadoop root@slave1:/usr/
scp -r /usr/hadoop root@slave2:/usr/
  • 1
  • 2

配置环境变量

vim /etc/profile
  • 1

在文件末尾添加:

export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  • 1
  • 2
  • 3

保存退出

分发/etc/profile文件

scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
  • 1
  • 2

生效环境变量(三台机器都执行)

source /etc/profile
  • 1

检验安装是否成功(在master执行)

格式化hadoop

注意:首次搭建集群时才需格式化,下次使用时无需再次格式化,切勿多次格式化!

hadoop namenode -format
  • 1

在这里插入图片描述
返回0时,说明格式化成功。

启动hadoop集群

start-all.sh
  • 1

查看状态(三台机器都执行)

jps
  • 1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当出现这些节点时,说明hadoop集群已经搭建成功了

五、运行hadoop官方实例–WordCount

本地创建数据文件

vim input.txt
  • 1

输入一些单词,例如:

Hello World
Hello Hadoop
Hello zookeeper
I Love Hadoop
I Love BigData
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

保存退出

上传input.txt到hdfs上

hdfs dfs -put input.txt /
  • 1

运行wordcount

hadoop jar /usr/hadoop/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input.txt /output
  • 1

在这里插入图片描述
可以看到已经成功了

打印结果

查看输出文件夹,其中的part-r-00000就是我们要的结果文件

hdfs dfs -ls -R /output
  • 1

在这里插入图片描述

hdfs dfs -cat /out*/part*
  • 1

在这里插入图片描述
可以看到,词频统计运行成功了。

六、关闭集群

关闭hadoop

stop-all.sh(在master执行)
  • 1

关闭zookeeper

zkServer.sh stop(三台机器都执行)
  • 1

关闭虚拟机

shutdown -h now(三台机器都执行)
  • 1

总结

需要注意的是,

1、以上所有路径如果要自定义的话,那么相同路径输入时应该保持一致。

2、xml中,一定要检查<configuration></configuration><property></property>是否是一一对应的,切勿多敲出一个或少敲一个。

3、切勿多次格式化hadoop。

4、如果格式化之后发现配置文件没配好的话,首先停掉hadoop,然后删除临时文件:

rm -rf /usr/hadoop/hadoop-2.7.3/hdfs
  • 1

接着修改配置文件,最后重新格式化一遍。

大数据环境搭建系列文章链接

【大数据环境搭建(一)】VMware虚拟机安装Centos7详细教程:
https://blog.csdn.net/weixin_45092204/article/details/118885153

【大数据环境搭建(二)】使用Xshell SSH连接虚拟机详细教程:
https://blog.csdn.net/weixin_45092204/article/details/118932663

【大数据环境搭建(三)】在Centos7上搭建Hadoop集群(完全分布式)
https://blog.csdn.net/weixin_45092204/article/details/119085553

【大数据环境搭建(四)】在Centos7上搭建Hive集群(Mysql远程模式)
https://blog.csdn.net/weixin_45092204/article/details/120218392

后续

此教程是大数据环境的第三篇文章,后续还会发布大数据各种组件的安装及配置教程,以及在安装过程中需要注意的问题。

刚刚要入手大数据的同学可以持续关注我,安装过程中遇到什么问题的同学也可以评论区留言。

要是本教程对你有帮助的话,希望大家能三连 三连 三连!

最后,祝各位同学学习顺利~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/873992
推荐阅读
相关标签
  

闽ICP备14008679号