搭建hadoop集群(超详细)

1、首先准备好三台虚拟机,可以参考如下链接搭建三个虚拟机

点击打开链接

2、首先关闭所有机器的防护墙和selinux

 

永久关闭防火墙:chkconfig --level 35 iptables off
永久关闭selinux:
       vim /etc/selinux/config
      找到SELINUX 行修改成为:SELINUX=disabled:

      source /etc/selinux/config

3、为三台虚拟机分别配置hostname,我的三台虚拟机名字还是装系统指定的,mini1,mini2,mini3,所以没有改!如果需要,如下操作

vim /etc/sysconfig/network

备注(linux下修改文件,vim命令,按i修改文件,按Esc退出编辑模式,:wq保存修改)

配置完成之后重启虚拟机

4、修改三台机器的/etc/hosts文件,将三台机器的ip地址和主机名称配进去

执行:vim /etc/hosts

192.168.25.130 mini1

192.168.25.131 mini2

192.168.25.132 mini3

写入到hosts文件中,这个配置以自己机器的实际ip和hostname配进去(注意:hostname对应的用户名,此步骤一定要注意,否则容易找不到主机名)

执行完之后

执行:source /etc/hosts

5、安装jdk

首先卸载虚拟机上原有的jdk卸载jdk:    //找到我们之前查出来的java的版本

 

命令:rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-11.1.13.4.el6.i686

      rpm -e --nodeps java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.i686

创建jdk的安装路径

在/usr/local/   创建java的目录

命令:mkdir -p /usr/local/java   //创建java的目录,-p存在就覆盖,不存在,就创建

 

按alt+p打开上传窗口,将jdk上传到linux下,会自动的放在root目录下

解压jdk

解压jdk到/usr/local/java

命令:  tar -zxvf jdk-8u144-linux-i586.tar.gz -C /usr/local/java

配置环境变量

首先进入修改linux修改环境变量的地方

命令:vim /etc/profile

然后按 i 进入写入模式将下面的环境变量写入

#set java enviroment   // ‘#’表是注释

JAVA_HOME=/usr/local/java/jdk1.8.0_144

CLASSPATH=.:$JAVA_HOME/lib.tools.jar

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

 

接着按 esc 退出写入模式进入一般模式,

使用 :wq   退出

最后:重新加载配置文件【不重新加载环境变量不会执行】

source /etc/profile

验证安装成功

命令:java

或者 java -version

6、新增hadoop用户,并且增加sudo权限

增加hadoop命令:useradd hadoop

                                  passwd hadoop

 

给hadoop增加sudo权限

1)切换到root用户,su    输入密码
2)给sudoers增加写权限:chmod u+w /etc/sudoers
3)编译sudoers文件:vim /etc/sudoers       
      在root ALL=(ALL)  ALL下方增加     hadoop ALL=(ALL)        ALL 如下图:

4)去掉sudoers文件的写权限:chmod u-w /etc/sudoers
 

7、安装hadoop

解压hadoop到指定的目录(我指定为/usr/local/hadoop)

上传文件到linux,alt+p

 tar -zxvf hadoop-2.4.1.tar.gz -C /usr/local/hadoop

 

修改配置文件:

进入:/usr/local/hadoop/hadoop-2.4.1/etc/hadoop目录

修改其中的配置文件

7.1、hadoop-env.sh

将export JAVA_HOME=${JAVA_HOME}

修改为export JAVA_HOME=/usr/local/java/jdk1.8.0_144(这个就是实际的javahome)

 

7.2、core-site.xml

<configuration></configuration>


添加

 

其中mini1为主节点的名称

 

<property>  
  <name>fs.defaultFS</name>  
  <value>hdfs://mini1:9000</value>  
</property>  
<property>  
  <name>hadoop.tmp.dir</name>  
  <value>/usr/local/hadoop/hdpdata</value>  
</property> 

 

    注意:hadoop.tmp.dir配置的临时存储的目录(2018\05\18更新)

7.3、hdfs-site.xml

在7.2处同样位置添加

 

<property>  
  <name>dfs.replication</name>  
  <value>2</value>  
</property>  

7.4 yarn-site.xml

 

同上处添加

 

<property>  
  <name>yarn.resourcemanager.hostname</name>  
  <value>mini1</value>  
</property>  
<property>  
  <name>yarn.nodemanager.aux-services</name>  
  <value>mapreduce_shuffle</value>  
</property>  

 

 

 

配置hadoop的环境变量

 

vim /etc/profile

 

HADOOP_HOME=/usr/local/hadoop/hadoop-2.4.1

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

export HADOOP_HOME PATH

--------------------------分界线--------------------------------

将上面的部分全部在其他的两个机器上做一遍,或者scp到其他机器上去

举个栗子:分发hadoop

 

scp /usr/local/hadoop mini2:/usr/local/

scp /usr/local/hadoop mini2:/usr/local/

前面的java以及其他的配置文件都可以这样操作

------------------------------------准备完毕以后进行以下操作------------------------

格式化主节点

 

hadoop namenode -format

编辑slaves文件(注意在hadoop3版本是workers文件里面)

清空文件,添加从节点名字

mini2

mini3

即可

配置mini1->mini2,mini1->3上的免密码登陆

ssh-keygen 一路回车

执行

ssh-id-copy-mini1

ssh-id-copy-mini2

ssh-id-copy-mini3

 

就OK了!

 

8、查看结果

start-dfs.sh

浏览器进入:192.168.25.130:50070

 

 

9、zookeeper集群的安装

http://www.blogjava.net/hello-yun/archive/2012/05/03/377250.html

 

 

10、更新(2018、5、16)

当备份之后,重新打开虚拟机的时候,如果ip地址发生了变化,导致启动报错的话需要修改两个地方:

1、修改hosts文件

vim /etc/hosts
修改ip
source /etc/profile

 

重新绑定的一下ip地址,例如我之前的mini1(也就是主节点的ip是192.168.25.131),现在为192.168.25.136,将现在的ip地址替换掉原来的ip地址。

2、修改hdfs--site.xml   内容,文件在相对目录/hadoop-2.4.1/etc/hadoop下

将这个ip地址也替换过来,或者避免麻烦,可以将这个ip地址直接替换为mini1(主机名称),然后就搞定了。!!

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值