当前位置:   article > 正文

Hadoop(一) 伪分布式集群搭建详解_hadoop伪分布式集群原理

hadoop伪分布式集群原理

搭建环境的步骤如下:

1.修改主机名   vi /etc/sysconfig/network

2.修改ip地址     vi /etc/sysconfig/network-scripts/ifcfg-eth0网段不要乱设置,要在同一网段内

   注:个人认为由于192.168开头的ip是一个C类地址,所以在设置ip的时候要将前三位地址设置的和本机一样。

3.修改hosts文件,添加映射   vi /etc/hosts 

4.永久关闭节点防火墙    1.service  iptables stop     2.chkconfig iptables off

5.创建普通用户 

6.

修改文件夹的所有者

chown -R hadoop /bd

修改文件夹的所属组

chgrp -R hadoop /b

vim /etc/sudoers

给普通用户添加执行的权限

7.重启虚拟机

8.传输Linux版本的jdk和hadoop 压缩包至节点服务器并解压(快捷键:alt+P)

如果文件传输后解压出问题,建议重新用binary 模式传输

步骤:按下alt+P,输入binary 回车即可

9.配置环境变量     vi /etc/profile

export JAVA_HOME=jdk路径

export PATH=$PATH:$JAVA_HOME/bin

export HADOOP_HOME= hadoop路径

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

环境变量只要修改,切记刷新:source profile

10.配置相关xml配置文件

配置hadoop

第一个:+/etc/profile/hadoop-env.sh

vim hadoop-env.sh

#第25行

export JAVA_HOME=(改成自己的jdk路径)

第二个:core-site.xml

<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://node01:9000</value>

</property>

<!-- 指定hadoop运行时产生文件的存储目录 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/home/hadoop/tmp</value>

    </property>

第三个:hdfs-site.xml   

<!-- 指定HDFS副本的数量 -->

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>dfs.secondary.http.address</name>

<value>node01:50090</value>

</property>

第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)

vim mapred-site.xml

<!-- 指定mr运行在yarn上 -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

第五个:yarn-site.xml

<!-- 指定YARN的老大(ResourceManager)的地址 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>node01</value>

</property>

<!-- reducer获取数据的方式 -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

第六个

 修改Slaves

删除localhost 添加

node01

node02

node03

克隆后

修改主机名和ip地址

192.168.174.134 node01

192.168.174.135 node02

192.168.174.136 node03

操作:

1. vim /etc/sysconfig/network

2. vim /etc/udev/rules.d/70-persistent-net.rules

注释掉“eth1”所在行

3. vim /etc/sysconfig/network-scripts/ifcfg-eth0

---------------------

11设置ssh免密登录   ssh-keygen -t rsa  (四个回车)

12将各台节点服务器加入免密登录集群中

.ssh-copy-id 主机名

ssh-copy-id 主机名

ssh-copy-id 主机名

13.

hadoop namenode -format

14开启HDFS

15jps命令(java 进程服务)验证集群各节点的运行情况,共有六个进程

在会使用的基础上,我们更应该去了解内部的原理,这样我们才能在遇到errors时从容地处理所遇到的问题。下面我将根据各个步骤分析这样操作的原因;

1.由于本次搭建集群采取的是伪分布式集群,所有的数据节点服务器系统采用克隆的方式产生,所以所有的机器都是一样的ip,修改ip后节点才能正常通信。

2.修改主机名。也即是修改超级用户的用户名

3.修改hosts文件,是因为本次搭建的是伪分布式集群,其使用的是内网ip地址,无法从DNS服务器上获得节点的位置和ip,而hosts文件的作用是,当搜索某个域名时,系统先会向hosts文件检索,如果存在对应的域名映射,则不用向DNS服务器发起请求。修改hosts文件就能找到对应节点的正确ip.

4.关闭防火墙, 因为都是内网搭建的,且在同一台机器上,如果内网内开启防火墙,内网集群通讯会出现很多问题。

5.创建用户,不同的使用者登录不同权限的账户,能最大程度保证系统的安全。

6.重启虚拟机,使得之前的配置生效。

7.传输文件一定要注意不要在Windows下解压,然后传输,这样会造成文件的损坏

8.配置xml文件,设置namenode 和secondary node ,副本数量等基本信息。

9.开启ssh登录,将你的SSH公钥复制到远程主机,开启无密码登录 – 简单的方法,便于数据节点之间信息传输。

10启动服务

11使用jps命令检查哪些服务开启出现问题,对待具体问题具体解决  

 一般问题出现的解决方法在我的另一篇博文中有介绍:关于jps命令namenode等进程不显示的问题解决方案

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号