hadoop入门(二)之hdfs环境搭建(单机版)

来源:互联网 发布:金融行业 工资 知乎 编辑:程序博客网 时间:2024/05/21 07:52

1.hadoop环境搭建  

系统:CentOS6.5 32 位  安装JDK1.7+ (并且已经配置过环境变量JAVA_HOME)  

1.安装JDK

 略...

2配置主机名:

 [root@CentOS ~]# vi  /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=CentOS

3.配置主机名和IP的映射关系

[root@CentOS ~]# vi   /etc/hosts

127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4

::1        localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.0.8 CentOS


5.取消防火墙

[root@CentOS ~]# service iptables stop

iptables: Setting chains to policy ACCEPT:filter          [  OK  ]

iptables: Flushingfirewall rules:                        [  OK  ]

iptables: Unloading modules:                               [  OK  ]

[root@CentOS ~]# chkconfig --del iptables   -- 关闭防火墙的开启自启动

6.配置SSH免密码登陆

(1)生成公私钥对

[root@CentOS ~]# ssh-keygen -t dsa -P '' -f~/.ssh/id_dsa


Generating public/private dsa key pair.

Your identification has been saved in/root/.ssh/id_dsa.

Your public key has been saved in/root/.ssh/id_dsa.pub.

The key fingerprint is:

06:76:81:51:1f:94:7c:02:6b:49:c5:e8:cc:80:df:8broot@CentOS

The key's randomart image is:

+--[ DSA 1024]----+

|    ..+=B+.     |

|   . o..==..    |

|    .o*= .o     |

|    ..+=        |

|      .S.       |

|     E..        |

|                 |

|                 |

|                 |

+-----------------+

(2)上传给需要登陆的目标机器

[root@CentOS ~]#  scp -r ~/.ssh/id_dsa.pub 192.168.0.8:/root/

注意:一般会提示输入目标机器的登录密码,正常输入就好。

因为我是单机,所以目标机器就是自己。

(3)目标机器将上传的公钥添加到自己的信任列表

 [root@CentOS ~]#  cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys


7.上传Hadoop-2.6.0.tar.gz文件并解压到/usr目录

[root@CentOS ~]# tar -zxf hadoop-2.6.0.tar.gz   -C  /usr/

8.配置Hadoop的相关配置

(1)vi etc/hadoop/core-site.xml

<configuration>
  <property>
   <name>fs.defaultFS</name>
   <value>hdfs://CentOS:9000</value>
  </property>
</configuration>

(2)vi etc /hadoop/hdfs-site.xml

<configuration>
   <property>
    <name>dfs.replication</name>
    <value>1</value>
   </property>
</configuration>

注意:因为单机版,所以只有一个nameNode和一个dateNode,这里value指定每一个block只存储一份。

(3)vi etc/hadoop/slaves

CentOs

说明:这里配置的是DataNode,如果有多台机器作为DataNode,那每个机器的HostName占一行

9.格式化namenode (创建fsimage文件,只有第一次启动时格式化)

注意:如果配置文件改变了,需要删除通过格式化生成好的  /tmp/hadoop-root  文件,后重新执行下面命令格式化

[root@CentOS hadoop-2.6.0]#./bin/hdfs namenode -format

16/07/2723:25:12 INFO namenode.NameNode: STARTUP_MSG:

/************************************************************

.....

16/07/27 23:25:13 INFO namenode.NNConf:XAttrs enabled? true

16/07/27 23:25:13 INFO namenode.NNConf:Maximum size of an xattr: 16384

16/07/27 23:25:13 INFO namenode.FSImage:Allocated new BlockPoolId: BP-1909604994-192.168.0.8-1469633113883

16/07/27 23:25:13 INFOcommon.Storage: Storage directory /tmp/hadoop-root/dfs/name has beensuccessfully formatted.

16/07/27 23:25:14 INFOnamenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0

16/07/27 23:25:14 INFO util.ExitUtil:Exiting with status 0

16/07/27 23:25:14 INFO namenode.NameNode:SHUTDOWN_MSG:

/************************************************************

SHUTDOWN_MSG: Shutting down NameNode atCentOS/192.168.0.8

************************************************************/

10.配置hadoop环境变量:

在根部录下

[root@CentOS ~]# ls -a    (会把隐藏的文件都显示出来,其中就有 .bashrc,可以在这里配,也可以在etc/profile里配)

[root@CentOS ~]# vi .bashrc

export CLASSPATH=.
export HADOOP_HOME=/usr/hadoop-2.6.0
export PATH=$HADOOP_HOME/bin:$PATH
export JAVA_HOME=/usr/local/jdk/jdk1.7.0_65
export PATH=$PATH:$JAVA_HOME/bin

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native 
export HADOOP_OPTS=-Djava.library.path=$HADOOP_HOME/lib

另外也可以把环境变量配置在

[root@CentOS ~]# vi /etc/profile

内容同上

之后,执行source /etc/profile  或 source .bashrc或者重启使刚刚配置的文件生效。

验证配置是否成功

[root@CentOS hadoop-2.6.0]# hadoop version
Hadoop 2.6.0


11.启动hadoop

[root@CentOS hadoop-2.6.0]#./sbin/start-dfs.sh

Starting namenodes on [CentOS]

CentOS: starting namenode, logging to/usr/hadoop-2.6.0/logs/hadoop-root-namenode-CentOS.out

CentOS: starting datanode, logging to/usr/hadoop-2.6.0/logs/hadoop-root-datanode-CentOS.out

Starting secondary namenodes [0.0.0.0]

0.0.0.0: starting secondarynamenode, logging to/usr/hadoop-2.6.0/logs/hadoop-root-secondarynamenode-CentOS.out

12.检验是否启动成功

[root@CentOShadoop-2.6.0]# jps

3459NameNode

3713SecondaryNameNode

3571DataNode

可以在浏览器地址栏输入:http://192.168.19.128:50070/可以看到效果页面

13.关闭hadoop

[root@CentOShadoop-2.6.0]# ./sbin/stop-dfs.sh

Stoppingnamenodes on [CentOS]

CentOS:stopping namenode

CentOS:stopping datanode

Stoppingsecondary namenodes [0.0.0.0]

0.0.0.0: stopping secondarynamenode

 

原创粉丝点击