Linux下搭建Hadoop集群/伪分布式环境——保姆级教程(CentOS7&Hadoop2.8.5)

我成为今天的我,是在 1975 年某个阴云密布的寒冷冬日,那年我十二岁。我清楚地记
得当时自己趴在一堵坍塌的泥墙后面,窥视着那条小巷,旁边是结冰的小溪。许多年过去了,
人们说陈年旧事可以被埋葬,然而我终于明白这是错的,因为往事会自行爬上来

——《追风筝的人》Khaled Hosseini

以下是关于搭建Hadoop集群的实际操作

1. 安装三台虚拟机并实现ssh免密登录

1.1 使用VMware Workstation pro 14,对预先安装好的CentOS_7_server_104,进行克隆,分别命名为CentOS_7_server_105、CentOS_7_server_106。

Linux下搭建Hadoop集群/伪分布式环境——保姆级教程(CentOS7&Hadoop2.8.5)_第1张图片

1.2 修改/etc/hosts文件,使得三台虚拟机连通。

Linux下搭建Hadoop集群/伪分布式环境——保姆级教程(CentOS7&Hadoop2.8.5)_第2张图片

1.3 使用ping命令测试三台虚拟机是否连通。

ping105
Linux下搭建Hadoop集群/伪分布式环境——保姆级教程(CentOS7&Hadoop2.8.5)_第3张图片
ping106
Linux下搭建Hadoop集群/伪分布式环境——保姆级教程(CentOS7&Hadoop2.8.5)_第4张图片

1.4为三台虚拟机生成密钥文件,实现免密访问。

Linux下搭建Hadoop集群/伪分布式环境——保姆级教程(CentOS7&Hadoop2.8.5)_第5张图片

1.5 新建authorized_keys 文件,将三台虚拟机的密钥合并在该文件中,并且通过FileZilla客户端传输到各个虚拟机下的/root/.ssh目录下。

Linux下搭建Hadoop集群/伪分布式环境——保姆级教程(CentOS7&Hadoop2.8.5)_第6张图片

测试(在104下,ssh登录105、106):
Linux下搭建Hadoop集群/伪分布式环境——保姆级教程(CentOS7&Hadoop2.8.5)_第7张图片

Linux下搭建Hadoop集群/伪分布式环境——保姆级教程(CentOS7&Hadoop2.8.5)_第8张图片

2. 安装JDK和Hadoop

JDK的安装我用的 yum install maven,装maven的同时安装Java8。记得先更新yum update

2.1 使用FileZilla上传hadoop2.8.5.tar.gz文件到,/opt/hadoop目录下。

Linux下搭建Hadoop集群/伪分布式环境——保姆级教程(CentOS7&Hadoop2.8.5)_第9张图片

2.2 执行tar -xvf /opt/hadoop/hadoop-2.8.5.tar.gz命令,解压hadoop,并且在/root/hadoop/下新建几个文件夹用于管理文件。

Linux下搭建Hadoop集群/伪分布式环境——保姆级教程(CentOS7&Hadoop2.8.5)_第10张图片

2.3 修改etc/hadoop中的一系列配置文件

Linux下搭建Hadoop集群/伪分布式环境——保姆级教程(CentOS7&Hadoop2.8.5)_第11张图片

core-site.xml

 <property>
        <name>hadoop.tmp.dirname>
        <value>/root/hadoop/tmpvalue>
        <description>Abase for other temporary directories.description>
   property>
   <property>
        <name>fs.default.namename>
        <value>hdfs://server104:9000value>
   property>

hadoop-env.sh

export JAVA_HOME=${JAVA_HOME}

修改为自己的JDK路径。

hdfs-site.xml

<configuration>
<property>
   <name>dfs.name.dirname>
   <value>/root/hadoop/dfs/namevalue>
   <description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.description>
property>
<property>
   <name>dfs.data.dirname>
   <value>/root/hadoop/dfs/datavalue>
   <description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.description>
property>
<property>
   <name>dfs.replicationname>
   <value>2value>
property>
<property>
      <name>dfs.permissionsname>
      <value>falsevalue>
      <description>need not permissionsdescription>
property>
configuration>

mapred-site.xml

<configuration>
 <property>
   <name>mapred.job.trackername>
   <value>server104:49001value>
property>
<property>
      <name>mapred.local.dirname>
       <value>/root/hadoop/varvalue>
property>
<property>
       <name>mapreduce.framework.namename>
       <value>yarnvalue>
property>
configuration>

修改/opt/hadoop/hadoop-2.8.5/etc/hadoop/slaves文件,删除原有的localhost,改为:

// 两个节点的名称
server105
server106

yarn-site.xml

<configuration>


<property>
        <name>yarn.resourcemanager.hostnamename>
        <value>server104value>
   property>
   <property>
        <description>The address of the applications manager interface in the RM.description>
        <name>yarn.resourcemanager.addressname>
        <value>${yarn.resourcemanager.hostname}:8032value>
   property>
   <property>
        <description>The address of the scheduler interface.description>
        <name>yarn.resourcemanager.scheduler.addressname>
        <value>${yarn.resourcemanager.hostname}:8030value>
   property>
   <property>
        <description>The http address of the RM web application.description>
        <name>yarn.resourcemanager.webapp.addressname>
        <value>${yarn.resourcemanager.hostname}:8088value>
   property>
   <property>
        <description>The https adddress of the RM web application.description>
        <name>yarn.resourcemanager.webapp.https.addressname>
        <value>${yarn.resourcemanager.hostname}:8090value>
   property>
   <property>
        <name>yarn.resourcemanager.resource-tracker.addressname>
        <value>${yarn.resourcemanager.hostname}:8031value>
   property>
   <property>
        <description>The address of the RM admin interface.description>
        <name>yarn.resourcemanager.admin.addressname>
        <value>${yarn.resourcemanager.hostname}:8033value>
   property>
   <property>
        <name>yarn.nodemanager.aux-servicesname>
        <value>mapreduce_shufflevalue>
   property>
   <property>
        <name>yarn.scheduler.maximum-allocation-mbname>
        <value>1024value>
        <discription>每个节点可用内存,单位MB,默认8182MBdiscription>
   property>
   <property>
        <name>yarn.nodemanager.vmem-pmem-rationame>
        <value>2.1value>
   property>
   <property>
        <name>yarn.nodemanager.resource.memory-mbname>
        <value>1024value>
property>
   <property>
        <name>yarn.nodemanager.vmem-check-enabledname>
        <value>falsevalue>
property>
configuration>

以上配置必须在三台主机上都修改

3.启动hadoop

3.1因为server104是namenode,server105和server106都是datanode,所以只需要对server104进行初始化操作,也就是对hdfs进行格式化。

进入到server104这台机器的/opt/hadoop/hadoop-2.8.5/bin目录,也就是执行命令:

cd/opt/hadoop/hadoop-2.8.5/bin

执行初始化脚本,也就是执行命令:

./hadoop namenode -format

3.2格式化成功后,可以在看到在/root/hadoop/dfs/name/目录多了一个current目录

Linux下搭建Hadoop集群/伪分布式环境——保姆级教程(CentOS7&Hadoop2.8.5)_第12张图片

3.3 进入/opt/hadoop/hadoop-2.8.5/sbin

执行语句 ./start-all.sh

Linux下搭建Hadoop集群/伪分布式环境——保姆级教程(CentOS7&Hadoop2.8.5)_第13张图片

3.4 systemctl stop firewalld.service关闭防火墙

并且在本地192.168.0.104:50070
Linux下搭建Hadoop集群/伪分布式环境——保姆级教程(CentOS7&Hadoop2.8.5)_第14张图片

访问192.168.0.104:8088
Linux下搭建Hadoop集群/伪分布式环境——保姆级教程(CentOS7&Hadoop2.8.5)_第15张图片

至此Hadoop的集群环境搭建就已经完成了,接下来就是自己去折腾吧。感谢阅读!

参考链接:https://blog.csdn.net/pucao_cug/article/details/71698903

你可能感兴趣的:(hadoop,大数据,centos,linux,spark)