开发者学堂课程【大数据 Flink 实时旅游平台环境篇 2020版:环境篇之 hadoop 安装配置】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/643/detail/10694
环境篇之 hadoop 安装配置
hadoop 安装配置
1、hadoop 是分布式的安装文件系统,进行资源管理以及文件的调度。
最常用的也就是文件管理和资源调度这两个模块,它的安装也是比较简单的,就是安装和配置一些核心配置文件,这些配置文件只是一部分配置文件,也可以配置很多其他文件。
在某一台服务器上配置完成之后,就将它分发到规划好的一些 hadoop 服务器上,再启动测试 hdfs 和 yarn 集群,测试成功后就完成。
2、Hadoop 的安装:
规划
因为总共就三台服务器,所以就分别规划到三台服务器上。最前面分别是三台服务器的主机名。在01上取了 namenode、 datanode、resourcemanager. nodemanager. Jobhistoryserver 这五个进程。
在02上取了 secondarynamenode. datanode、nodemanager
这三个进程,在03上取用了datanode.nodemanage r这两个进程,以上就是全部的进程。
之前讲到 zookeeper 都要安装在性能比较好的服务器上,
namenode、resourcemanager 这两个进程通常也被安装在配置比较好的服务器上,这里采用的也是全分布式的方式,先不采用高可用,也不进行高可用。高可用唯一的就是多配置大概五六个属性,
192.168.216.111 hadoopo1 namenode、 datanode、resourcemanager. nodemanager. Jobhistoryserver
192.168.216.112 hadoopo2 secondarynamenode. datanode、nodemanager
192.168.216.113 hadoop03 datanode.nodemanager
解压:
tar -zxvf /home/hadoop-2.7.6.tar.gz -c /usr/loca1
开始配置
第一步是将软件拉到服务器上,将 hadoop.2.7.6 拉到服务器上,采用的也是压缩包的安装方式。
[ root@hadoop01 zookeeper-3.4.10j]# cd
[ root@hadoop01 zookeeper-3.4.10j]# tar -zxvf /home/hadoop-2.7.6.tar.gz -c /usr/loca1
解压之后,也有一个到子文档,我们解压到当前文档
[ root@hadoope1 local]# cd ./hadoop-2.7.6/
[root@hadoope1 hadoop-2.7.6]# ll
[root@hadoope1 hadoop-2.7.6]# ll./ share/doc /
total 4
因为是一个学习文档没有必要,所以将它删除。
[ root@hadoop01 hadoop-2.7.6]# rm -rf ./
share/doc/[ root@hadoopo1 hadoop-2.7.6]#
配置环境变量:
#hadoop environment
export HADO0P_HOME=/usr / loca1/hadoop-2.7.6
export PATH=SPATH : SHADOOP_HOME/bin :
SHADOOP_HOME/sbin:
查看路径是否正确
[root@hadoop01 hadoop-2.7.6]# ll
/usr/local/hadoop-2.7.6total 112
没问题,配置profile
[ root@hadoopo1 hadoop-2.7.6]# vi /etc/profile
unset i
unset -f pathmunge
emysettings
export JAVA_HOME=/usr/local/jdk1.8.0_152/
export ZK_HOME=/usr/local/zookeeper-3.4.10/
export HADOOP_HOME=/usr/local/hadoop-2.7.6/
export PATH=$PATH:$JAVA_HOME/bin:$ZK_HOME/bin:$HADOoP_HONE/bin:SHdoopP_HONE /sbin:
-- INSERT –
上面配置两个文件的原因:启动停止两个命令
分发:
[ root@hadoop01 hadoop-2.7.6]# scp /etc/profile
hadoop02:/etc/
[ root@hadoop01 hadoop-2.7.6]# scp /etc/profile
hadoop03:/etc/
刷新环境变量:
Source /etc/profile
分别在01、02、03服务器上进行刷新
[root@hadoop01 ~]# source /etc/profile
[root@hadoop02 ~]# source /etc/profile
[root@hadoop03 ~]# source /etc/profile
配置6个核心配置文件:
- hadoop-env.sh
- core-site.xm1
- hdfs-site.xm1
- mapred-site.xm1 复制 mapred-site.xm1.template 而来
- yarn-site.xm1
- s1aves
配置 hadoop-env.sh
export AVA_HOME=/usr/loca1/jdk1.8.0_152/
[ root@hadoop01 hadoop-2.7.6]# ll /usr/local/jdk1.8.0_152/
[root@hadoop01 hadoop-2.7.6]# vi ./etc/hadoop/hadoop-env.sh
# The java implementation to use
.export JAVA_HOME=/usr/local/jdki.8.0_1527
第一个配置完成之后,就配置第二个
配置 core-site.xml
[ root@hadoop01 hadoop-2.7.6]#
vi ./etc/hadoop/core-site.xml
<!--文件系统的命名空间 hdfs 的文件系统的总入口-->
<property>
<name>fs.defau1tFS</name>
<value>hdfs : / /hadoop01:9000</value>
</property>
<!--hadoop 运行产生的临时数据目录-->
<property>
<name>hadoop.tmp .dir</name>
<value>/usr/1oca1/hadoop-2.7.6/hadoopdata/tmp</value>
</property>
<!--buffer大小-->
<property>
<name>io.fi1e.buffer.size</name>
<value>4096</value>
</ property>
hadoop01:9000 是一个总的路径,之后有一些配置的临时的目录。
配置 hdfs-site.xml:
[ root@hadoop01 hadoop-2.7.6]#
vi ./etc/hadoop/hdfs-site.xml
还是在同样的位置:
<configuration>
<!--配置块的副本数-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<! --hdfs 的块大小-->
<property>
<name>dfs.b1ocksize</name>
<value>134217728</value>
</ property>
<! --namenode 的 web ui 监控端口-->
<property>
<name>dfs.http.address</name>
<value>hadoopo1:50070</value>
</ property>
<!--secondarynamenode的web ui监控端口-->
<property>
<name>dfs.secondary.http.address</name>
<value>hadoop02 : 50090</value>~
</property>
<! --hdfs 元数据存储目录-->
<property>
<name>dfs.namenode.name.dir</name>
<value>/home /hadoopdata/dfs /name</value></
property>
<! --真正的数据内容(数据块)存储目录--><property>
<name>dfs.datanode .data.dir</name>
<value>/home /hadoopdata/dfs / data</value>
<propertv>
<! --文件系统检测目录-->
<property>
<name>fs.checkpoint.dir</name>
<value>/home /hadoopdata/checkpoint/dfs/cname</value:</property>
<!--edits 的检测目录--><property>
<name>fs.checkpoint.edits.dir</name>
<name>fs.checkpoint.edits.dir</name>
<value>/home /hadoopdata/checkpoint/dfs /cname</value:</property>
<! --是否开启文件系统权限--><property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
配 mapred-site.xml:
重命名
[ root@hadoop01 hadoop-2.7.6]#
mv ./etc/hadoop/mapred-site.xml.template./etc/Hadoop/mapred-site.xml
[ root@hadoop01 hadoop-2.7.6]# vi ./etc/hadoop/mapred -site.xml
<!--指定 mapreudce 的运行平台-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<! --历史作业记录的内部通信地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop01:10020</value>
</property>
<!--历史作业记录的web ui通信地址-->
<property>
<name>mapreduce.jobhistory.webapp .address</name>
<value>hadoop01:19888</value>
</property>
配置完成后里面有一些 Hadoop 和 mapred 运行的框架
配置完成的目录并不需要我们手动进行创建,进行多个磁盘的配置可以保证磁盘坏了之后我们的文件也在。
配置 yarn-site.xml:
[ root@hadoop01 hadoop-2.7.6]# vi ./etc/hadoop/yarn -site.xml
<!--指定 mapreduce 使用 shuffle-->
<property>
<name>yarn.nodemanager . aux-services</name>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--指定 yarn 的 rm 所启动的主机-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoopo1</value>
</property>
<!--指定 rm 的内部通信地址-->
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoopo1:8032</value>
</ property>
</ property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop01:8030</value>
</ property>
</ property>
<name>yarn.resourcemanager.resource-tracker .address</name><value>hadoopo1:8031</value>
</ property>
</ property>
<name>yarn.resourcemanager.admin.address</name><value>hadoop01:8033</value>
</ property>
</ property>
<name>yarn.resourcemanager.webapp .address</name><value>hadoopo1:8088</value>
</ property>
包括一些 yarn 端口和 wed 服务。
配置 slaves:
[ root@hadoop01 hadoop-2.7.6]# vi ./etc/hadoop/slaves -site.xml
将默认的 localhost 删除,
hadoopo1
hadoopo2
hadoopo3
配置完成之后所有的主机名都可以配置 id
配置完成