Linux搭建完全分布式

@[TOC](完全分布式搭建过程)
准备工作:安装好三台虚拟机(node01,node02,node03),hadoop安装包,zookeeper安装包,jdk安装包

首先:进入虚拟机的root用户(su root) 在三台虚拟机上完成这些配置:

1:网络配置(ifcfg-ens33)

vi /etc/sysconfig/network-scripts/ifcfg-ens33
进入设置ip地址,修改配置文件

在这里插入图片描述
填入VM生成好的网关地址:
在这里插入图片描述

2:主机名配置 (hostname)

vi /etc/hostname
第一台设置为node01 第二台为node02,第三台为node03(取名可以自己取,这样是方便记忆)
在这里插入图片描述

3:配置域名的映射

vi /etc/hosts
在这里插入图片描述

4:关闭防火墙

永久关闭的命令:systemctl disable firewalld
临时关闭的命令:systemctl stop firewalld
查看防火墙状态:systemctl status firewalld(如果没有关闭就会显示running关闭就是dead):
在这里插入图片描述

5:关闭selinux

vi /etc/selinux/config
将SELINUX的值设置为disabled:
在这里插入图片描述

6:安装JDK 写好路径。三台同步

先创建好java文件夹
创建命令:mkdir /usr/local/java
查看文件夹是否创建好:先进入local目录中,在用ls命令来查看是否有java文件夹
在这里插入图片描述

创建好之后就可以通过rz命令和scp命令从系统中将安装包移动到虚拟机中
这里演示scp命令(因为有的电脑可能虚拟机中rz命令不可以用)
在这里插入图片描述
将传入的压缩包解压
命令:tar -xzvf jdk-8u261-linux-x64.tar.gz
然后将名字改为jdk1.8
命令:mv jdk1.8.0_261 jdk1.8
在这里插入图片描述

添加环境变量
vi /etc/profile

export JAVA_HOME=/usr/local/java/jdk1.8 
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib /tools.jar
 export PATH=$PATH:${JAVA_HOME}/bin

在这里插入图片描述

刷新环境变量命令:source /etc/profile

验证是否安装成功命令:java -version
在这里插入图片描述

将jdk同步到第二台和第三台机器
scp -r jdk1.8 node02:/usr/local/java
scp -r jdk1.8 node03:/usr/local/java

然后像node01一样添加环境变量

7:安装配置zookeeper

使用rz或者scp方式把安装包上传到/opt目录下,并进行解压

在这里插入图片描述

进入zookeeper文件,在里面创建一个data目录,目录data用来存放ZK数据,此路径需要在coo.cfg配置文件里面使用
	创建data目录的命令:mkdir data

在这里插入图片描述

进入到conf目录下找到zoo_sample.cfg文件,拷贝模板文件为zoo.cfg
	命令为:cp zoo_sample.cfg zoo.cfg

在这里插入图片描述

	修改配置zoo.cfg文件

zoo.cfg配置文件中找到dataDir选项,修改成之前创建的data目录.然后在zoo.cfg添加主机相关配置服务节点的信息,主机编号为简单起见一般会用 1、2、3 这样的方式来命名。
在这里插入图片描述

在/opt/data目录下创建myid文件

当前主机是node01,只需要配置1即可
在这里插入图片描述

然后用scp命令同步到第二台和第三台,然后修改node02和node03的myid配置即可
最后进入ZK的bin目录下面,执行./zkServer.sh start即可以启动
在这里插入图片描述

8:配置免密通道

三台机器分别⽣成各⾃的公钥、私钥
ssh-keygen -t rsa
输⼊命令后直接三个回车
然后拷贝三台机器的密钥到第一台机器
ssh-copy-id node01
配置好后用cat /root/.ssh/authorized_keys可以查看到三台机器的密钥
在这里插入图片描述

最后复制node01的认证到其他机器
在node01上执⾏命令:(这里的node02和node03可以写为你自己的ip地址,如192.168.80.120)。
scp /root/.ssh/authorized_keys node02:/root/.ssh
scp /root/.ssh/authorized_keys node03:/root/.ssh

然后以node01为例:在node01上完成hadoop配置,然后在将配置好的内容scp到node02和node03上面。(在开始配置前,检查以上配置是否完成,然后清理和关掉-之前的虚拟机上的HDFS服务(zookeeper,hdfs)

1.先安装好Hadoop

创建安装目录

cd /usr/local/
mkdir hadoop
cd hadoop/ mkdir
hdfs cd hdfs/
mkdir data
mkdir name
mkdir tmp

然后上传安装包到hadoop目录并解压

在这里插入图片描述

配置HDOOP_HOME环境变量(vi /etc/profile)

export HADOOP_HOME=/usr/local/hadoop/hadoop-2.9.2
 export PATH=${PATH}:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

在这里插入图片描述
检查是否安装好(hadoop version)
在这里插入图片描述

2:修改配置文件:(以下文件都在目录/usr/local/hadoop/hadoop-2.9.2/etc/hadoop中 )

cd /usr/local/hadoop/hadoop-2.9.2/etc/hadoop

1.hadoop-env.sh

vi hadoop-env.sh

	export JAVA_HOME=/usr/local/java/jdk1.8 
	export HADOOP_CONF_DIR=/usr/local/hadoop/hadoop-2.9.2/etc/hadoop

在这里插入图片描述

2.yarn-env.sh

vi yarn-env.sh
在这里插入图片描述

3. core-site.xml

vi core-site.xml
fs.defaultFS表示指定集群的文件系统类型是分布式文件系统,datanode心跳发送到namenode的地址
fs.defaultFS hdfs://node01:9000 hadoop.tmp.dir /usr/local/hadoop/hadoop-2.9.2/tmp
在这里插入图片描述

4.hdfs-site.xml

vi hdfs-site.xml

		<property> 
		<name>dfs.replication</name>
		 <value>3</value> 
		 </property>
		  <property>
		   <name>dfs.name.dir</name> <value>/usr/local/hadoop/hdfs/name</value>
		    </property>
		     <property>
		      <name>dfs.data.dir</name>
		<value>/usr/local/hadoop/hdfs/data</value>
		 </property>
		  <property>
		   <name>dfs.datanode.max.locked.memory</name> <value>65536</value>
		    </property>
		     <property>
		      <name>dfs.permissions</name>
		       <value>false</value>
		      </property>

dfs.replication修改为3,三副本策略,表示副本数是三 dfs.permissions配置添加值false,表示不开启文件权限
在这里插入图片描述

5.mapred-site.xml (需要把marpred-site.xml.template拷贝成mapred-site.xml文件进行配置

vi mapred-site.xml
mapreduce.framework.name指定资源分配使用yarn

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

在这里插入图片描述

6.yarn-site.xml

vi yarn-site.xml

yarn.resourcemanager.hostname.yarn相关资源服务器的主机名,使用node01
yarn.nodemanager.aux-services和MapReduce计算相关
yarn.nodemanager.vmem-Check-enabled 关闭虚拟内存检查
yarn.resourcemanager.hostname node01


yarn.nodemanager.aux-services mapreduce_shuffle

yarn.nodemanager.vmem-check-enabled false

在这里插入图片描述

7. slaves(配置三台主机名,此配置表示三台机器都作为DataNode)

vi slaves
在这里插入图片描述

8.同步配置信息,把node01上的配置同步到node02和node03,使用scp进行同步

	scp -r /usr/local/hadoop root@node02:/usr/local/
	scp -r /usr/local/hadoop root@node03:/usr/local/

最后启动集群:

1.在node01上格式化

使用命令:hdfs namenode -format

2.启动集群,不需要三台机器都启动,只需要在node01上启动

使用启动命令:start-all.sh
用jps命令查看node01是否有五个进程
node02和node03是否有两个进程
在这里插入图片描述
在这里插入图片描述

最后在node02和node03上面像node01一样配置HDOOP_HOME环境变量(vi /etc/profile)

export HADOOP_HOME=/usr/local/hadoop/hadoop-2.9.2
 export PATH=${PATH}:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

(在上文中你可能会看见node05和node06,那是因为我的主机名叫node05,node06,node07。大家按照node01,node02,node03配置就好)
希望大家学习愉快!!^ ~ ^

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值