HADOOP集群搭建

安装步骤

机器mini_yum,mini2,mini3,mini4

注意:下面的步骤在4台机子上都要做的操作

1先将虚拟机的网络模式选为NAT
2修改主机名
        vi /etc/sysconfig/network
        NETWORKING=yes
        HOSTNAME=xxxx ###

3修改IP
            vim /etc/sysconfig/network-scripts/ifcfg-eth0
         
            DEVICE="eth0"
            BOOTPROTO="static"               ###
            HWADDR="xxxxxxx"
            IPV6INIT="yes"
            NM_CONTROLLED="yes"
            ONBOOT="yes"
            TYPE="Ethernet"
            UUID="xxxxxxx"
            IPADDR="xxxx"           ###
            NETMASK="255.255.255.0"          ###
            GATEWAY="xxxx"            ###
            
4 修改主机名和IP的映射关系
        vim /etc/hosts
        xxxx    mini2
    
5关闭防火墙
        #查看防火墙状态
        service iptables status
        #关闭防火墙
        service iptables stop
        #查看防火墙开机启动状态
        chkconfig iptables --list
        #关闭防火墙开机启动
        chkconfig iptables off
6修改sudo
        su root
        vim /etc/sudoers
        给hadoop用户添加执行的权限

7免密

8重启Linux:    reboot
9 安装JDK

10为每个机器创建hadoop用户,密码为hadoop

[root@mini-yum ~]# echo $JAVA_HOME
/usr/local/jdk1.7.0_45
[root@mini-yum ~]# 

上面步骤在以前的内容都有介绍,我就不截图从新做一遍了。

重点(我下面都是用root用户操作,实际上应该使用hadoop)

安装hadoop2.6.4(已经编译过了,怎么编译看https://download.csdn.net/download/zhou920786312/10889695
1上传hadoop的安装包到服务器上去/home/hadoop/

2解压

[root@mini-yum hadoop]# tar -zxvf cenos-6.5-hadoop-2.6.4.tar.gz -C apps/

3修改配置文件 

cd  /home/hadoop/apps/hadoop-2.6.4/etc/hadoop

3.1配置环境变量
  hadoop-env.sh

[root@mini-yum hadoop]# vi hadoop-env.sh 

 export JAVA_HOME=/usr/local/jdk1.7.0_45

 


3.2运行时参数配置(在mini-yum 上操作)
core-site.xml

[root@mini-yum hadoop]# vi core-site.xml 

  <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
    <property>
     <!-- 使用的文件系统名称 -->
        <name>fs.defaultFS</name>
        <!-- 使用的协议是hdfs,地址是mini-yum:9000 -->
        <value>hdfs://mini-yum:9000</value>
    </property>
     <!-- 指定hadoop集群(也就是dataNode)运行时产生文件的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/apps/hadoop-2.6.4/tmp</value>
    </property>

     

 

hdfs-site.xml  (可以配也可以不配,因为有默认配置)

  <!-- 指定HDFS副本的数量,默认是3,也就是说存储在nodeDate的数据有3份副本 -->
  <property>
   <name>dfs.replication</name>
   <value>2</value>
  </property>

[root@mini-yum hadoop]# vi hdfs-site.xml 

        

mapred-site.xml.template(mapreduce)

修改名称

[root@mini-yum hadoop]# mv mapred-site.xml.template mapred-site.xml

<!-- 指定mapreduce运行在yarn上,默认是local就是本地跑-->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
 

[root@mini-yum hadoop]# vi  mapred-site.xml 



yarn-site.xml

<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>mini-yum</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

[root@mini-yum hadoop]# vi yarn-site.xml 


4 将mini-yum的apps分发到mini2,mini3,mini4

当前目录

[root@mini-yum hadoop]# pwd
/home/hadoop
[root@mini-yum hadoop]# ll
总用量 176584
drwxr-xr-x. 3 root root      4096 1月   2 07:21 apps
-rw-r--r--. 1 root root 180813065 12月  6 18:40 cenos-6.5-hadoop-2.6.4.tar.gz

分发命令

[root@mini-yum hadoop]# scp -r apps mini2:/home/hadoop

[root@mini-yum hadoop]# scp -r apps mini3:/home/hadoop

[root@mini-yum hadoop]# scp -r apps mini4:/home/hadoop

 

5配置hadoop环境变量

mini-yum配置
[root@mini-yum etc]# vi /etc/profile

export JAVA_HOME=/usr/local/jdk1.7.0_45
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.6.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin


[root@mini-yum etc]# source /etc/profile

同时对mini2,mini3,mini4也这样配置

 

6 格式化namenode(是对namenode进行初始化,也就是mini-yum)

[root@mini-yum hadoop]# hdfs namenode -format
 

红色表示成功格式话,这个目录怎么来的?

来自core-site.xml配置的

    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/apps/hadoop-2.6.4/tmp</value>
    </property>

这个目录有什么?

 


        
7  启动hadoop

启动namedate(mini-yum)

[root@mini-yum hadoop-2.6.4]# cd /home/hadoop/apps/hadoop-2.6.4/sbin

[root@mini-yum sbin]# hadoop-daemon.sh  start namenode


      

验证

http://mini-yum:50070/

 

启动mini2的datanode

[root@mini2 hadoop]# cd /home/hadoop/apps/hadoop-2.6.4/sbin
[root@mini2 sbin]#  hadoop-daemon.sh  start datanode
starting datanode, logging to /home/hadoop/apps/hadoop-2.6.4/logs/hadoop-root-datanode-mini2.out
[root@mini2 sbin]# jps
5330 DataNode
5397 Jps
[root@mini2 sbin]# 

验证

 

后面可以一个一个启动mini3,mini4

缺点:加上有1000个节点,手动启动非常麻烦,所以才有下面的内容

8自启动所有节点

启动前,关闭所有节点,这边就写2个列子,mini3,mini4就参照mini2

mini-yum:

[root@mini-yum sbin]# hadoop-daemon.sh  stop namenode
stopping namenode
[root@mini-yum sbin]# jps
5561 Jps

mini2:

[root@mini2 sbin]#  hadoop-daemon.sh  stop  datanode
stopping datanode
[root@mini2 sbin]# jps
5435 Jps

自启动所有节点配置

启动前我mini-yum对mini-yum,mini2,mini3,mini4做了免登陆

 先到目录

[root@mini-yum hadoop-2.6.4]# cd /home/hadoop/apps/hadoop-2.6.4/etc/hadoop

[root@mini-yum hadoop]# vi slaves 

 

启动所有节点

[root@mini-yum hadoop]# cd /home/hadoop/apps/hadoop-2.6.4/sbin
[root@mini-yum sbin]# start-dfs.sh

验证

 

9停止所有节点

因为前面8已经配置了slave,所有只要在mini-yum执行以下命令就可以了

[root@mini-yum sbin]# stop-dfs.sh

验证

 

最后发现一个很郁闷的问题,那就是我用root用户操作了

 

所以我最后修改了apps文件及所有子文件的权限,将他们都改为hadoop用户组

机器mini_yum,mini2,mini3,mini4都要改

[root@mini4 hadoop]# pwd
/home/hadoop
[root@mini4 hadoop]# chown hadoop.hadoop -R  apps

[root@mini4 hadoop]# ll
总用量 44
drwxr-xr-x.  3 hadoop hadoop  4096 1月   2 10:23 apps
drwxr-xr-x. 12 hadoop hadoop  4096 12月  5 09:08 zookeeper
-rw-rw-r--.  1 hadoop hadoop 31049 12月  7 08:27 zookeeper.out

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值