当前位置:   article > 正文

Linux安装Hadoop及其环境配置_linux hadoop环境配置

linux hadoop环境配置

目录


Linux服务器环境部署专栏目录(点击进入…)


快来加入我们的互动学习群吧,与我们一起成长和进步吧! QQ交流群:948912943

进群下载配套安装包,无需考虑版本兼容等问题!!!


Linux安装Hadoop及其环境配置

Hadoop目录

目录描述
bin对 Hadoop 进行操作的相关命令,如hadoop,hdfs等
etcHadoop的配置文件目录,入hdfs-site.xml, core-site.xml等
libHadoop本地库(解压缩的依赖)
sbin存放的是 Hadoop 集群启动停止相关脚本,命令
shareHadoop 的一些 jar,官方案例 jar,文档等

Hadoop/sbin下脚本

脚本描述
start-all.sh启动所有的Hadoop守护进程。包括NameNode、Secondary NameNode、DataNode、ResourceManager、NodeManager
stop-all.sh停止所有的Hadoop
守护进程。包括NameNode、Secondary NameNode、DataNode、ResourceManager、NodeManager
start-dfs.sh启动Hadoop HDFS守护进程NameNode、SecondaryNameNode、DataNode
stop-dfs.sh停止Hadoop HDFS守护进程NameNode、SecondaryNameNode和DataNode
hadoop-daemons.sh start namenode单独启动NameNode守护进程
hadoop-daemons.sh stop namenode单独停止NameNode守护进程
hadoop-daemons.sh start datanode单独启动DataNode守护进程
hadoop-daemons.sh stop datanode单独停止DataNode守护进程
hadoop-daemons.sh start secondarynamenode单独启动SecondaryNameNode守护进程
hadoop-daemons.sh stop secondarynamenode单独停止SecondaryNameNode守护进程
start-yarn.sh启动ResourceManager、NodeManager
stop-yarn.sh停止ResourceManager、NodeManager
yarn-daemon.sh start resourcemanager单独启动ResourceManager
yarn-daemons.sh start nodemanager单独启动NodeManager
yarn-daemon.sh stop resourcemanager单独停止ResourceManager
yarn-daemons.sh stopnodemanager单独停止NodeManager
mr-jobhistory-daemon.sh start historyserver手动启动jobhistory
mr-jobhistory-daemon.sh stop historyserver手动停止jobhistory

Web界面

NameNode 50070
DataNode 50075
ResourceManager 8088
NodeManager 8042

关闭防火墙:systemctl stop firewalld
开机时禁用防火墙:systemctl disable firewalld

集群规划

NameNode和SecondaryNameNode不要安装在同一台服务器(比较耗资源)

ResourceManager很消耗内存,不要和NameNode、SecondaryNameNode配置在一台机器上

框架node1node2node3
HDFSNameNode、DataNodeDataNodeSecondaryNameNode、DataNode
MapReduce无区分无区分无区分
YARNNodeManagerResourceManager、NodeManagerNodeManager

HDFS集群配置

Hadoop 集群配置 = HDFS 集群配置 + MapReduce 集群配置 + Yarn 集群配置

1.将JDK路径明确配置给HDFS(修改hadoop-env.sh)

指定NameNode节点以及数据存储目录(修改core-site.xml)
指定SecondaryNameNode节点(修改hdfs-site.xml)
指定DataNode从节点(修改etc/hadoop/slaves文件,每个节点配置信息占一行)

2.MapReduce集群配置

将JDK路径明确配置给 MapReduce(修改 mapred-env.sh)
指定MapReduce计算框架运行 Yarn资源调度框架(修改mapred-site.xml)

3.Yarn集群配置

将JDK路径明确配置给Yarn(修改 yarn-env.sh)
指定ResourceManager老大节点所在计算机节点(修改yarn-site.xml)
指定NodeManager节点(会通过slaves文件内容确定)

节点说明
NameNodeHadoop中的主服务器,管理文件系统名称空间和对集群中存储的文件的访问,保存由metadata
SecondaryNameNode它不是NameNode的冗余守护进程,而是提供周期检查点和清理任务。帮助NN合并EditsLog,减少NN启动时间
DataNode管理连接到节点的存储(一个集群可以有多个节点),每个存储数据的节点运行一个DataNode守护线程
ResourcreManager(Job Tracker),负责调度DataNode上的工作,每个DataNode有一个TaskTracker,它执行实际工作
ModeManager(Task Tracker)执行实际任务
DFSZKFailoverController高可用时它负责监控NN的状态,并及时的把状态信息写入ZK。它通过一个独立线程周期性的调用NN上的一个特定接口来获取NN的健康状态。FC也有选择谁作为Active NN的权利,因为最多只有两个节点,目前选择策略还比较简单(先到先得,轮换)
JournalNode高可用情况下存放namenode的editlog文件
HDFS NameNode 内部通信端口:8020/9000
HDFS NameNode 对用户的查询端口:50070
Yarn查看任务运行情况:8088
历史服务器:19888
  • 1
  • 2
  • 3
  • 4

Hadoop安装包下载

Hadoop官方地址:https://hadoop.apache.org/

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


(1)解压到安装目录

tar -zxvf hadoop-2.10.2.tar.gz
  • 1

(2)设置环境变量

export HADOOP_HOME=/home/environment/hadoop-2.10.2
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
export PATH=$HADOOP_HOME/sbin:$PATH
  • 1
  • 2
  • 3
  • 4

使环境变量生效:source /etc/profile
测试是否配置成功:hadoop version

(3)配置hosts

vim /etc/hosts

192.168.50.129	node1
192.168.50.130	node2
192.168.50.131	node3
  • 1
  • 2
  • 3

(4)配置slaves

指定datanode从节点(根目录/etc/hadoop/slaves文件,每个节点配置信息占一行)

vim /etc/hadoop/slaves

node1
node2
node3
  • 1
  • 2
  • 3

(5)修改配置文件

配置Hadoop中相应的文件(文件均位于/etc/hadoop)

使用的是Hadoop的伪分布式,因此需要配置的文件如下:hadoop-env.sh、core-site.xml、mapred-site.xml、hdfs-site.xml、yarn-site.xml

(6)HDFS初始化只能在主节点上进行

注意:如果集群是第一次启动,需要Namenode所在节点格式化NameNode,非第一次不用执行格式化Namenode操作。

始化HDFS系统,在hadoop/bin目录下使用如下命令:

hdfs namenode -format
  • 1

(7)配置ssh免密码登陆

解决运行start-yarn.sh需要输入密码

ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  • 1
  • 2

(8)解决主节点远程访问从节点需要密码

①将主节点生成的密钥传给各个从节点(node1,node2)
②node1,node2节点将密钥添加到authorized_keys

scp ~/.ssh/id_rsa.pub node2:/home
cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
  • 1
  • 2

最后将node1、node2、node3的id_rsa.pub分别添加到authorized_keys并同步到各自的服务器

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  • 1

(9)启动

方式一:

./sbin/start-dfs.sh
./sbin/start-yarn.sh
  • 1
  • 2

①开启NameNode和DataNode守护进程:sbin/start-dfs.sh
查看Web UI,在浏览器中输入http://localhost:50070,即可查看相关信息。可以在终端使用netstat -ntlp查看一下服务器启动的端口

②start-yarn.sh

方式二:
在主节点启动即可,两个从节点会自动启动

start-all.sh(不推荐,可能会覆盖环境变量)
  • 1

查看历史服务记录

./sbin/mr-jobhistory-daemon.sh start historyserver
./sbin/mr-jobhistory-daemon.sh stop historyserver
  • 1
  • 2

在浏览器中查看:
HDFS:http://192.168.50.129:50070
YARN:http://192.168.50.129:8088/cluster

(10)测试

①在HDFS上创建一个文件夹/test/input

cd /hadoop.2.10.2
./bin/hdfs dfs -mkdir -p /test/input
  • 1
  • 2

②创建一个word.txt测试文件
vim word.txt

he situation of your mother's family, though objectionable, was nothing in comparison to that total want of propriety so frequently, so almost uniformly betrayed by herself, by your three younger sisters, and occasionally even by your father. Pardon me. It pains me to offend you. But amidst your concern for the defects of your nearest relations, and your displeasure at this representation of them, let it give you consolation to consider that, to have conducted yourselves so as to avoid any share of the like censure
  • 1

③将word.txt上传到HDFS的/test/inpu文件夹中
注意:要先上传文件在运行mapreduce程序

./bin/hdfs dfs -put word.txt /test/input
  • 1

④运行一个mapreduce的例子程序:wordcount

./bin/hadoop jar /home/environment/hadoop-2.10.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.2.jar wordcount /test/input /test/output
  • 1

任务启动后
第一步:代理客户端连接ResourceManager
第二步:FileInputFormat指定由三个input files进程
第三步:JobSubmitter 提交后有三个split
第四步:创建job序号,并提交job_1610510670587_0001

任务执行流程
第一步:yarn客户端进行提交应用
第二步:mapreduce根据url进行处理应用
第三步:mr运行job_1610510670587_0001
第四步:发现map和reduce处于传递执行(一方处理完后,传递到下一方),没有同时执行任务

⑤查看文件列表

./bin/hadoop fs -ls /test/input
  • 1

⑥查看运行结果

./bin/hdfs dfs -cat /test/output/*
  • 1

Hadoop解决SecondaryNameNode Web页面加载问题

/hadoop-2.10.2/share/hadoop/hdfs/webapps/static 替换文件
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/516857
推荐阅读
相关标签
  

闽ICP备14008679号