1 概述
浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。浪潮信息云峦服务器操作系统KeyarchOS_KOS服务器操作系统-浪潮信息
Hadoop是一个由Apache基金会所开发的分布式系统基础架构,允许使用简单的编程模型在计算机集群上分布式处理大型数据集。它旨在从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。该库本身不是依靠硬件来提供高可用性,而是设计为检测和处理应用层的故障,因此可以在计算机集群上提供高可用性服务。https://hadoop.apache.org/
2 安装准备
操作系统版本:KOS 5.8 (4.19.91-26.6.8.kos5.x86_64)
测试架构:x86_64,8核4G虚拟机
Hadoop 3.3.6
openjdk 1.8.0_345
OpenJDK Runtime Environment (build 1.8.0_345-b01)
3 安装Hadoop
Hadoop3.x需要依赖java8,可以通过kos官方源安装java8:
dnf install java-1.8.0 java-1.8.0-openjdk-devel –y
执行java -version检查java版本。
添加图片注释,不超过 140 字(可选)
在apache基金会网站获取hadoop二进制包。
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6-aarch64.tar.gz
添加图片注释,不超过 140 字(可选)
创建hadoop的安装目录,将hadoop二进制包解压到此目录,本文以/hadoop为例。解压完成的文件结构如下所示
mkdir /hadoop
tar -zxvf hadoop-3.3.6.tar.gz -C /hadoop/
添加图片注释,不超过 140 字(可选)
本文以root用户登录,因此修改/root/.bashrc修改环境变量。亦可修改/etc/profile实现。
vim /root/.bashrc
在文件末尾添加:
export JAVA_HOME=/usr/lib/jvm/jre
export HADOOP_HOME=/hadoop/hadoop-3.3.6
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
更新环境变量:source /root/.bashrc
执行 hadoop version 用于检查hadoop是否可以成功运行。
添加图片注释,不超过 140 字(可选)
4 单机测试
运行MapReduce程序验证,这里用hadoop自带的wordcount例子来在本地模式下测试跑mapreduce。
准备输入文件wc.input
vim wc.input
wc.input文件内容为:
hadoop mapreduce hive
hbase spark storm
sqoop hadoop hive
spark hadoop
添加图片注释,不超过 140 字(可选)
4.2 调用MapReduce
使用mapreduce-examples中的wordcount程序进行测试,输入文件wc.input,输出结果wc.output。
hadoop jar /hadoop/hadoop-3.3.6/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount wc.input wc.output
执行结束会在当前文件夹生成wc.output结果文件夹,在part-r-00000文件中输出了对文件中单词的统计结果。
添加图片注释,不超过 140 字(可选)
5 伪分布式部署测试
修改当前主机的主机名
hostnamectl set-hostname Hadoop01
为当前主机的ip添加主机名。
vim /etc/hosts
添加图片注释,不超过 140 字(可选)
重启,执行hostname 可以查看当前主机名
添加图片注释,不超过 140 字(可选)
配置免密登录,本机生成公钥、私钥和验证文件
ssh-keygen -t rsa
将登录信息复制到验证文件
ssh-copy-id Hadoop01
修改伪分布式部署的环境变量
vim /root/.bashrc
添加环境变量
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 /root/.bashrc
进入hadoop的安装路径 cd /hadoop/hadoop-3.3.6/
添加图片注释,不超过 140 字(可选)
创建hadoop临时目录,这里取名hadoopTmp。
mkdir /hadoop/hadoopTmp
修改hadoop-env.sh,设置hadoop的JAVA_PATH。
vim etc/hadoop/hadoop-env.sh
添加图片注释,不超过 140 字(可选)
修改core-site.xml,设置通信地址和临时目录。
vim etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/hadoopTmp/</value>
</property>
</configuration>
添加图片注释,不超过 140 字(可选)
修改hdfs-site.xml,配置HDFS系统的副本数,因为是伪分布测试所以只有一个节点
vim etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
添加图片注释,不超过 140 字(可选)
格式化HDFS
hdfs namenode -format
添加图片注释,不超过 140 字(可选)
启动HDFS:start-dfs.sh
停止HDFS:stop-dfs.sh
添加图片注释,不超过 140 字(可选)
使用jps验证
添加图片注释,不超过 140 字(可选)
同样进入hadoop的安装路径 cd /hadoop/hadoop-3.3.6/
修改yarn-site.xml,配置节点和YARN混选算法
vim etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostsname</name>
<value>Hadoop01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
添加图片注释,不超过 140 字(可选)
修改mapred-site.xml,指定MapReduce运行在YARN
vim etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
添加图片注释,不超过 140 字(可选)
启动YARN:start-yarn.sh
停止YARN:stop-yarn.sh
添加图片注释,不超过 140 字(可选)
使用jps验证
添加图片注释,不超过 140 字(可选)