(三)Java日志大数据(单机环境)学习笔记——Hadoop安装与配置

(三)Java日志大数据(单机环境)学习笔记——Hadoop安装与配置

Hadoop介绍

    大家好,我是认真🇨🇳。本章我会记录hadoop分布式系统的搭建、配置和Java Api远程调用hadoop,hadoop对大数据搭建极为重要,因为它属于大数据架构的底层存储,其他的大数据软件的服务和运行将会建立在hadoop之上,下面先简单介绍下hadoop。
    hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。hadoop实现了一个分布式文件系统,其中一个组件是HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的硬件上;而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。HDFS放宽了POSIX的要求,可以以流的形式访问文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。

一、安装Hadoop

hadoop下载地址:hadoop-3.2.2.tar.gz,提取码:net0

1. 将hadoop-3.2.2.tar.gz移动到 /usr/local 目录下

cd /usr/local

2. 解压hadoop-3.2.2.tar.gz

tar -zxvf /usr/local/hadoop-3.2.2.tar.gz

3. 对解压后的文件夹重命名

mv /usr/local/hadoop-3.2.2 /usr/local/hadoop

4. 修改core-site.xml配置文件

cd /usr/local/hadoop/etc/hadoop/core-site.xml
<configuration>
	<!--默认文件系统的uri-->
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://localhost:9000</value>
	</property>
	<!--配置临时目录,如果处理大数据很多,需要指定目录,这个很重要-->
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/data/hadoop_temp</value>
	</property>
	<!--配置文件压缩类型,当前指定压缩类型为Gzip-->
 	<property>
		<name>io.compression.codecs</name>
		<value>org.apache.hadoop.io.compress.GzipCodec</value>
	</property>
</configuration>

5. 修改hdfs-site.xml配置文件

vi /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
	<!--配置hdfs文件地址-->
	<property>
		<name>dfs.http.address</name>
		<value>0.0.0.0:50070</value>
	</property>
	<!--配置文件副本个数,默认为3,由于我做的是单机,配置2-->
	<property>
		<name>dfs.replication</name>
		<value>2</value>
	</property>
	<!--配置文件操作最大线程数,默认为4096-->
	<property>
		<name>dfs.datanode.max.transfer.threads</name>
		<value>8192</value>
	</property>
</configuration>

6. 修改mapred-site.xml配置文件

vi /usr/local/hadoop/etc/hadoop/mapred-site.xml
<configuration>
	<!--提交作业时使用的暂存目录,默认为local-->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
	<!--MR应用程序的类路径-->
	<property>
		<name>mapreduce.application.classpath</name>
		<value>/usr/local/hadoop/share/hadoop/mapreduce/*:/usr/local/hadoop/share/hadoop/mapreduce/lib/*</value>
	</property>
	<!--mapreduce过程数据是否压缩-->
	<property>
    	<name>mapreduce.map.output.compress</name>
    	<value>true</value>
	</property>
	<!--mapreduce过程数据压缩格式,和core-site.xml配置保持一致-->
	<property>
    	<name>mapreduce.map.output.compress.codec</name>
    	<value>org.apache.hadoop.io.compress.GzipCodec</value>
	</property>
	<!--是否压缩作业输出-->
	<property>
    	<name>mapreduce.output.fileoutputformat.compress</name>
    	<value>true</value>
	</property>
	<!--数据输出压缩格式,和core-site.xml配置保持一致-->
	<property>
		<name>mapreduce.output.fileoutputformat.compress.codec</name>
		<value>org.apache.hadoop.io.compress.GzipCodec</value>
	</property>
	<!--每个mapper可请求的内存量-->
	<property>
		<name>mapreduce.map.memory.mb</name>
		<value>4096</value>
	</property>
	<!--每个reduce可请求的内存量-->
	<property>
		<name>mapreduce.reduce.memory.mb</name>
		<value>4096</value>
	</property>
	<!--mapper可请求的内存量-->
	<property>
		<name>mapreduce.map.java.opts</name>
		<value>-Xmx5120m</value>
	</property>
	<!--java选项配置-->
	<property>
		<name>mapreduce.reduce.java.opts</name>
		<value>-Xmx5120m</value>
	</property>
	<property>
		<name>mapred.child.java.opts</name>
		<value>-Xmx5120m</value>
	</property>
</configuration>

7. 修改yarn-site.xml配置文件

vi /usr/local/hadoop/etc/hadoop/yarn-site.xml
<configuration>
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
	<!--默认值的环境变量-->
	<property>
		<name>yarn.nodemanager.env-whitelist</name>
		<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
	</property>
	<!--应用程序的类路径-->
	<property>
		<name>yarn.application.classpath</name>
		<value>/usr/local/hadoop/etc/hadoop:/usr/local/hadoop/share/hadoop/common/lib/*:/usr/local/hadoop/share/hadoop/common/*:/usr/local/hadoop/share/hadoop/hdfs:/usr/local/hadoop/share/hadoop/hdfs/lib/*:/usr/local/hadoop/share/hadoop/hdfs/*:/usr/local/hadoop/share/hadoop/mapreduce/lib/*:/usr/local/hadoop/share/hadoop/mapreduce/*:/usr/local/hadoop/share/hadoop/yarn:/usr/local/hadoop/share/hadoop/yarn/lib/*:/usr/local/hadoop/share/hadoop/yarn/*</value>
	</property>
	<!-- 关闭检查虚拟内存量 -->
	<property>
    	<name>yarn.nodemanager.vmem-check-enabled</name>
    	<value>false</value>
	</property>
	<!--RM上每个容器请求的最小分配(以虚拟CPU核为单位)-->
	<property>
    	<name>yarn.scheduler.minimum-allocation-vcores</name>
    	<value>4</value>
	</property>
	<!--RM上每个容器请求的最最大分配(以虚拟CPU核为单位)-->
	<property>
    	<name>yarn.scheduler.maximum-allocation-vcores</name>
    	<value>8</value>
	</property>
	<!--RM上每个容器请求的最小分配,单位MB-->
	<property>
    	<name>yarn.scheduler.minimum-allocation-mb</name>
    	<value>4096</value>
	</property>
	<!--RM上每个容器请求的最大分配,单位MB-->
	<property>
    	<name>yarn.scheduler.maximum-allocation-mb</name>
    	<value>8192</value>
	</property>
</configuration>

8. 修改/etc/profile配置文件

vi /etc/profile

-- 在/etc/profile添加以下内容
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

source /etc/profile

9. 修改hadoop-env.sh配置文件

-- 找到sh中的JAVA_HOME位置,修改为以下配置
JAVA_HOME=/usr/local/jdk1.8

10. 进入到bin目录下

cd /usr/local/hadoop/bin

11. 配置 SSH 免密

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

12. 格式化 HDFS 文件系统

./hdfs namenode -format

13. 开启hadoop

cd /usr/local/hadoop/sbin
./start-all.sh

在这里插入图片描述
14. 检测hadoop是否运作

jps

在这里插入图片描述

15. 查看All Application运行状态

    访问服务器的8088端口即可访问hadoop的web管理端,查看mr运行状态

在这里插入图片描述

15. 查看hdfs文件系统运行状态
    访问服务器的50070端口即可访问hadoop的hdfs系统存储,点击"Utilities "下的"Browse the file system"查看文件存储
在这里插入图片描述
在这里插入图片描述

五、学习路线

(一)Java日志大数据(单机环境)学习笔记——开篇

(二)Java日志大数据(单机环境)学习笔记——基础环境搭建

(三)Java日志大数据(单机环境)学习笔记——Hadoop安装与配置

 持续更新…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值