(三)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添加以下内容
exportHDFS_NAMENODE_USER=root
exportHDFS_DATANODE_USER=root
exportHDFS_SECONDARYNAMENODE_USER=root
exportYARN_RESOURCEMANAGER_USER=root
exportYARN_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
chmod600 ~/.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安装与配置
持续更新…
版权归原作者 认真的学习笔记 所有, 如有侵权,请联系我们删除。