hadoop集群 安装步骤

    技术2022-05-19  22

    安装步骤:

    1、安装centos5.5

    在/etc/hosts 中添加机器名和相应的IP:

    如:

    192.168.1.107  hdfs1    master

    192.168.1.109  hdfs3    slave

    2、开启ssh 服务

    安装openssh-server:yum -y install openssh

    机器名IP 作用

    hdfs1     192.168.1.107  NameNode、master、jobTracker

    hdfs2     192.168.1.108 DataNode、slave、taskTracker

    hdfs3     192.168.1.109  DataNode、slave、taskTracker

    3、建立ssh 无密码登录

    (1)在NameNode 上实现无密码登录本机:

    $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa ,

    直接回车,完成后会在~/.ssh/生成两个文件:id_dsa 和id_dsa.pub。这两个是成对

    出现,类似钥匙和锁。再把id_dsa.pub 追加到授权key 里面(当前并没有authorized_keys

    文件):$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys。完成后可以实现无密码

    登录本机:$ ssh localhost。除了在master中做,在slave中也要执行

    (2)实现NameNode 无密码登录其他DataNode:

    把NameNode 上的id_dsa.pub 文件追加到dataNode 的authorized_keys 内( 以

    192.168.1.107 节点为例):

    a. 拷贝NameNode 的id_dsa.pub 文件:

    $ scp id_dsa.pub root@192.168.1.108:/home/hadoop/

    b. 登录192.168.1.108,执行$ cat id_dsa.pub >> .ssh/authorized_keys

    其他的dataNode 执行同样的操作。

    注意:如果配置完毕,如果namenode 依然不能访问datanode,可以修改datanode 的

    authorized_keys:$ chmod 600 authorized_keys。

    4、关闭防火墙

    $ sudo ufw disable

    注意:这步非常重要。如果不关闭,会出现找不到datanode 问题。

    5、安装jdk1.6

    安装后,添加如下语句到/etc/profile 中:

    export JAVA_HOME=/home/hadoop/jdk1.6.0_22

    export JRE_HOME=/home/hadoop/jdk1.6.0_22/jre

    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

    注意:每台机器的java 环境最好一致。安装过程中如有中断,切换为root 权限来安装。

    6、安装hadoop

    下载hadoop-0.20.2.tar.gz:

    解压:$ tar –zvxf hadoop-0.20.2.tar.gz

    把Hadoop 的安装路径添加到环/etc/profile 中:

    export HADOOP_HOME=/home/hexianghui/hadoop-0.20.2

    export PATH=$HADOOP_HOME/bin:$PATH

    7、配置hadoop

    hadoop 的主要配置都在hadoop-0.20.2/conf 下。

    (1)在conf/hadoop-env.sh 中配置Java 环境(namenode 与datanode 的配置相同):

    $ gedit hadoop-env.sh

    $ export JAVA_HOME=/home/hexianghui/jdk1.6.0_14

    (2)配置conf/masters 和conf/slaves 文件:(只在namenode 上配置)

    masters: 192.168.1.107

    slaves:

    192.168.1.108

    192.168.1.109

    (3)配置conf/core-site.xml, conf/hdfs-site.xml 及conf/mapred-site.xml(简单配

    置,datanode 的配置相同)

    core-site.xml:

    <configuration>

    <!--- global properties -->

    <property>

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

    <value>/home/hexianghui/tmp</value>

    <description>A base for other temporary directories.</description>

    </property>

    <!-- file system properties -->

    <property>

    <name>fs.default.name</name>

    <value>hdfs://192.168.1.107:9000</value>

    </property>

    </configuration>

    hdfs-site.xml:( replication 默认为3,如果不修改,datanode 少于三台就会报错)

    <configuration>

    <property>

    <name>dfs.replication</name>

    <value>1</value>

    </property>

    </configuration>

    mapred-site.xml:

    <configuration>

    <property>

    <name>mapred.job.tracker</name>

    <value>192.168.1.107:9001</value>

    </property>

    </configuration>

    8、运行hadoop

     

    进入hadoop-0.20.1/bin,首先格式化文件系统:$ hadoop namenode –format

    启动Hadoop:$ start-all.sh

     

    查看集群状态:$ hadoop dfsadmin -report

    Hadoop 的web 方式查看:http://192.168.1.107:50070

     

    9、运行wordcount.java 程序

    (1)先在本地磁盘建立两个输入文件file01 和file02:

    $ echo “Hello World Bye World” > file01

    $ echo “Hello Hadoop Goodbye Hadoop” > file02

    (2)在hdfs 中建立一个input 目录:$ hadoop fs –mkdir input

    (3)将file01 和file02 拷贝到hdfs 中:

    $ hadoop fs –copyFromLocal /home/hexianghui/soft/file0* input

    (4)执行wordcount:

    $ hadoop jar hadoop-0.20.2-examples.jar wordcount input output

    (5)完成之后,查看结果:

    $ hadoop fs -cat output/part-r-00000

    简单直接的方法就是在一台机器上面配置好了,直接考到其他机器上面,修改少量的东西。


    最新回复(0)