【hadoop】部署hadoop全分布模式

hadoop全分布模式

全分布模式特点

  1. 真正的分布式环境,用于生产
  2. 具备Hadoop的所有功能:HDFS、Yarn

部署全分布模式

在三台虚拟机上面进行部署

准备工作

1、关闭防火墙(略)

java 复制代码
systemctl stop firewalld.service
systemctl disable firewalld.service

2、设置主机名

使用xshell工具,对三台虚拟机同时进行操作

java 复制代码
vi /etc/hosts

3、免密码登录

ssh-keygen -t rsa 产生自己的公钥和私钥

将自己的公钥都拷贝给对方

java 复制代码
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata112
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata113
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata114

验证一下,都不需要密码

4、jdk安装(略)

5、同步时间

6、解压和设置环境变量

每台都需要配置环境变量,另外两台虚拟机bigdata113和bigdata114则不需要解压。

操作详细见 在linux上设置Hadoop的环境变量

准备工作已经完成!下面进入正式的部署。

正式配置

hadoop-env.sh

路径:/root/training/hadoop-2.7.3/etc/hadoop($HADOOP_HOME/etc/hadoop)

更改第25行 export JAVA_HOME=/root/training/jdk1.8.0_181

hdfs-site.xml

进入 /root/training/hadoop-2.7.3/etc/hadoop/ 路径找到 hdfs-site.xml 文件进行编辑。

java 复制代码
vi hdfs-site.xml

将下面xml代码添加该文件

xml 复制代码
<!--数据块的冗余度,默认是3-->
<!--一般来说,数据块冗余度跟数据节点的个数一致,最大不超过3-->
<property>
	<name>dfs.replication</name>
	<value>2</value>
</property>

<!--禁用了HDFS的权限检查-->
<property>
	<name>dfs.permissions</name>
	<value>false</value>
</property>

core-site.xml

需要在hadoop目录下,先创建出tmp文件,作为HDFS对应的操作系统目录。

java 复制代码
mkdir /root/training/hadoop-2.7.3/tmp

编辑操作与上面文件相同,则不演示。

xml 复制代码
<!--配置NameNode的地址-->
<!--9000是RPC通信的端口-->
<property>
	<name>fs.defaultFS</name>
	<value>hdfs://bigdata112:9000</value>
</property>

<!--HDFS对应的操作系统目录-->
<!--默认值是Linux的tmp目录-->
<property>
	<name>hadoop.tmp.dir</name>
	<value>/root/training/hadoop-2.7.3/tmp</value>
</property>

mapred-site.xml

这个文件默认没有,需要我们先复制

java 复制代码
cp mapred-site.xml.template mapred-site.xml
xml 复制代码
<!--配置MapReduce运行的框架是Yarn-->
<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
</property>

yarn-site.xml

xml 复制代码
<!--配置ResourceManager的地址-->
<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>bigdata112</value>
</property>

<!--MapReduce运行的方式是洗牌-->
<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
</property>

slaves

slaves中指定从节点的地址,将localhost改成bigdata113 bigdata114

对NameNode进行格式化

执行下面这条命名

java 复制代码
hdfs namenode -format

成功则出现下面这句话。

复制到另外两台虚拟机

把bigdata112上的整个hadoop目录复制到bigdata113和bigdata114上面

先进入/root/training目录,执行下面两句完成复制。

java 复制代码
scp -r hadoop-2.7.3/ root@bigdata113:/root/training
scp -r hadoop-2.7.3/ root@bigdata114:/root/training

启动

在bigdata112上面启动集群

java 复制代码
start-all.sh

对部署是否成功进行测试

1、准备数据

2、将本地文件上传到hdfs

3、执行wordcount程序

进入/root/training/hadoop-2.7.3/share/hadoop/mapreduce/

java 复制代码
hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /input /output/wc

4、查看结果

java 复制代码
hdfs dfs -ls /output/wc
hdfs dfs -cat /output/wc/part-r-00000

5、停止集群

java 复制代码
 stop-all.sh

测试完成!部署成功 !!

相关推荐
桃林春风一杯酒15 分钟前
HADOOP_HOME and hadoop.home.dir are unset.
大数据·hadoop·分布式
桃木山人44 分钟前
BigData File Viewer报错
大数据·java-ee·github·bigdata
B站计算机毕业设计超人1 小时前
计算机毕业设计Python+DeepSeek-R1高考推荐系统 高考分数线预测 大数据毕设(源码+LW文档+PPT+讲解)
大数据·python·机器学习·网络爬虫·课程设计·数据可视化·推荐算法
数造科技1 小时前
紧随“可信数据空间”政策风潮,数造科技正式加入开放数据空间联盟
大数据·人工智能·科技·安全·敏捷开发
逸Y 仙X4 小时前
Git常见命令--助力开发
java·大数据·git·java-ee·github·idea
逻各斯5 小时前
Redisson分布式锁java语法, 可重入性实现原理 ,(还有可重试性,超时不释放,主从一致性)
分布式
caihuayuan45 小时前
PHP建立MySQL持久化连接(长连接)及mysql与mysqli扩展的区别
java·大数据·sql·spring
B站计算机毕业设计超人5 小时前
计算机毕业设计Hadoop+Spark+DeepSeek-R1大模型民宿推荐系统 hive民宿可视化 民宿爬虫 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·hadoop·爬虫·机器学习·课程设计·数据可视化·推荐算法
WeiLai11125 小时前
面试基础--微服务架构:如何拆分微服务、数据一致性、服务调用
java·分布式·后端·微服务·中间件·面试·架构
(; ̄ェ ̄)。6 小时前
在nodejs中使用ElasticSearch(二)核心概念,应用
大数据·elasticsearch·搜索引擎