hadoop完全分布式搭建

hadoop完全分布式搭建

一、前期准备 新建一台虚拟机

1、基础配置

配置网络(静态ip)

vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e03b9c84-1624-432a-935a-c8c67420d34b
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.2
DNS1=144.144.144.144
DNS2=8.8.8.8

重启网络使网络生效

systemctl restart network

关闭防火墙

systemctl stop firewalld

查看防火墙状态

systemctl status firewalld

关闭selinux

vim /etc/selinux/config

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1fCzRYui-1633676973350)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20211007204417782.png)]

创建hadoop用户

2、克隆三个虚拟机(2_master、2_slave1、2_slave2)

关机克隆

更改三台虚拟机的静态ip

修改主机名

hostnamectl set-hostname master
hostnamectl set-hostname slave1
hostnamectl set-hostname slave2

添加主机名的映射

vim /etc/hosts

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iSb0I0Ha-1633676973352)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20211007211918746.png)]

三台主机互相免密登录

[root@master ~]# ssh-keygen -t rsa -P ''
[root@master ~]# ssh-copy-id -i .ssh/id_rsa.pub root@master
[root@master ~]# ssh-copy-id -i .ssh/id_rsa.pub root@slave1
[root@master ~]# ssh-copy-id -i .ssh/id_rsa.pub root@slave2


查看密钥

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-keuKnaRg-1633676973353)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20211007212851393.png)]

二、配置hadoop

1、安装Hadoop

解压hadoop压缩包和jdk压缩包

[root@master ~]# tar zxvf hadoop-2.7.1.tar.gz -C /usr/local/src
[root@master ~]# tar zxvf jdk-8u231-linux-x64.tar.gz -C /usr/local/src

修改Hadoop和jdk所在文件夹名

[root@master ~]# mv /usr/local/src/hadoop-2.7.1/ /usr/local/src/hadoop
[root@master ~]# mv /usr/local/src/jdk1.8.0_231/ /usr/local/src/jdk1.8

配置hadoop和jdk的环境变量

[root@master ~]# vim /etc/profile

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SNPky7rK-1633676973354)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20211007220710475.png)]

使环境变量生效

[root@master hadoop]# source /etc/profile

2、修改配置文件

配置hadoop-env.sh文件,目的是告诉Hadoop系统jdk的安装目录

[root@master hadoop]# vim etc/hadoop/hadoop-env.sh

25行注释掉

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-biNtpykK-1633676973355)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20211007221801459.png)]

切换路径更改配置文件/usr/local/src/hadoop/etc/hadoop

[root@master hadoop]# vim hdfs-site.xml



<configuration>
	<property>
	 <name>dfs.namenode.name.dir</name>
	 <value>file:/usr/local/src/hadoop/dfs/name</value>
	 </property>

	 <property>
	 <name>dfs.datanode.data.dir</name>
	 <value>file:/usr/local/src/hadoop/dfs/data</value>
	 </property>
	 
	 <property>
	 <name>dfs.replication</name> 
	 <value>3</value> 
	 </property>


</configuration>


[root@master hadoop]# vim core-site.xml



<configuration>

	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://192.168.1.10:9000</value>
	</property>
	<property>
		<name>io.file.buffer.size</name>
		<value>131072</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>file:/usr/local/src/hadoop/tmp</value>
	</property>


</configuration>

在“/usr/local/src/hadoop/etc/hadoop”目录下有一个mapred-site.xml.template,需要修改文件名成,把它重命名为mapred-site.xml然后修改mapred-site.xml文件配置

[root@master hadoop]# cd /usr/local/src/hadoop/etc/hadoop/
[root@master hadoop]# cp mapred-site.xml.template mapred-site.xml
[root@master hadoop]# vim mapred-site.xml



<configuration>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>	 
	</property>

	<property>
		<name>mapreduce.jobhistory.address</name>
		<value>master:10020</value>
	</property>
	 
	<property>
		<name>mapreduce.jobhistory.webapp.address</name>
		<value>master:19888</value>
	</property>


</configuration>

[root@master hadoop]# vim yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
	<property>
		<name>yarn.resourcemanager.address</name>
		<value>master:8032</value>
	</property>

	<property>
		<name>yarn.resourcemanager.scheduler.address</name>
		<value>master:8030</value>
	</property>

	<property>
		<name>yarn.resourcemanager.resource-tracker.address</name>
		<value>master:8031</value>
	</property>

	<property>
		<name>yarn.resourcemanager.admin.address</name>
		<value>master:8033</value>
	</property>

	<property>
		<name>yarn.resourcemanager.webapp.address</name>
		<value>master:8088</value>
	</property>

	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>

	<property>
		<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
		<value>org.apache.hadoop.mapred.ShuffleHandler</value>
	</property>



</configuration>



3、hadoop其他相关配置文件

修改masters配置文件

[root@master hadoop]# vim masters

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-INj44DfN-1633676973356)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20211007230517211.png)]

修改slaves配置文件

[root@master hadoop]# vim slaves

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JmVFCdax-1633676973356)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20211007230738545.png)]

新建目录

[root@master hadoop]# mkdir /usr/local/src/hadoop/tmp
[root@master hadoop]# mkdir /usr/local/src/hadoop/dfs/name -p
[root@master hadoop]# mkdir /usr/local/src/hadoop/dfs/data -p

同步配置文件到slave 节点

hadoop用户之间相互免密

[root@master hadoop]# su hadoop
[hadoop@master hadoop]$ cd
[hadoop@master ~]$ ssh-keygen -t rsa -P ''
[hadoop@master ~]$ ssh-copy-id -i .ssh/id_rsa.pub hadoop@master
[hadoop@master ~]$ ssh-copy-id -i .ssh/id_rsa.pub hadoop@slave1
[hadoop@master ~]$ ssh-copy-id -i .ssh/id_rsa.pub hadoop@slave2


登出Hadoop用户

[hadoop@master ~]$ exit

(1)将master上的Hadoop安装文件同步到slave1、slave2

[root@master ~]# scp -r /usr/local/src/ root@slave1:/usr/local/
[root@master ~]# scp -r /usr/local/src/ root@slave2:/usr/local/


(2)在每个slave节点上配置Hadoop和jdk的环境变量

[root@slave1 ~]# vim /etc/profile

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PYLUemt7-1633676973357)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20211007234833935.png)]

(3)是每个slave节点上的环境变量生效

[root@slave1 ~]# source /etc/profile

(4)在每个master 和slave节点上修改/usr/local/src/hadoop目录的权限

[root@slave1 ~]# chown -R hadoop:hadoop /usr/local/src/hadoop/

(5)在每个slave节点上切换用户到hadoop用户


[root@slave1 ~]# su - hadoop

三、Hadoop集群运行

配置Hadoop格式化

[hadoop@master hadoop]$ cd /usr/local/src/hadoop/

[hadoop@master hadoop]$ bin/hdfs namenode -format

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UIGx5wzn-1633676973358)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20211008003101036.png)]

status 0 表示成功

启动NameNode、DataNode、SecondaryNameNode进程

[hadoop@master hadoop]$ start-all.sh

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9CYQhgO6-1633676973358)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20211008003425386.png)]

ll

[root@slave1 ~]# su - hadoop


## 三、Hadoop集群运行

配置Hadoop格式化

```shell
[hadoop@master hadoop]$ cd /usr/local/src/hadoop/

[hadoop@master hadoop]$ bin/hdfs namenode -format

[外链图片转存中…(img-UIGx5wzn-1633676973358)]

status 0 表示成功

启动NameNode、DataNode、SecondaryNameNode进程

[hadoop@master hadoop]$ start-all.sh

[外链图片转存中…(img-9CYQhgO6-1633676973358)]

dfs.namenode.name.dir file:/usr/local/src/hadoop/dfs/name
 <property>
 <name>dfs.datanode.data.dir</name>
 <value>file:/usr/local/src/hadoop/dfs/data</value>
 </property>
 
 <property>
 <name>dfs.replication</name> 
 <value>3</value> 
 </property>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值