64bit Centos6.4搭建hadoop-2.5.1

64bit Centos6.4搭建hadoop-2.5.1

1、分布式环境搭建

  采用4台安装Linux环境的机器来构建一个小规模的分布式集群。

        其中有一台机器是Master节点,即名称节点,另外三台是Slaver节点,即数据节点。这四台机器彼此间通过路由器相连,从而实验相互通信以及数据传输。

2、集群机器详细信息

  2.1 hadoop版本:

    2.5.1

  2.2 master服务器

详细信息

机器名称

Hamster

IP

192.168.1.193

USER

hadoop

PASSWORD

****


  2.3 slave1服务器

详细信息

机器名称

slave1

IP

192.168.1.194

USER

hadoop

PASSWORD

****

  2.4 slave2服务器

详细信息

机器名称

slave2

IP

192.168.1.194

USER

hadoop

PASSWORD

****

  2.5 slave3服务器

详细信息

机器名称

slave3

IP

192.168.1.195

USER

hadoop

PASSWORD

****

 

3、SSH无密码验证配置

    Hadoop运行过程中需要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Secure Shell)来启动和停止各个DataNode上的各种守护进程的。这就必须在节点之间执行指令的时候是不需要输入密码的形式,故我们需要配置SSH运用 无密码公钥认证的形式,这样NameNode使用SSH无密码登录并启动DataName进程,同样原理,DataNode上也能使用SSH无密码登录到 NameNode。

  3.1 安装和启动SSH协议

    安装ssh和rsync

    yum install openssh.x86_64 openssh-clients.x86_64 安装SSH协议
    yum install rsync (rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件)
    service sshd restart 启动服务
  3.2 配置Master无密码登录所有Salve

    1)这条命是生成其无密码密钥对,询问其保存路径时直接回车采用默认路径。生成的密钥对:id_rsa和id_rsa.pub,默认存储在"/home/hadoop/.ssh"目录下    

    ssh-keygen -t rsa -P ''

     2)接着在Master节点上做如下配置,把id_rsa.pub追加到授权的key里面去。

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    3)修改权限

    chmod -R 700 .ssh
    chmod 600 .authorized_keys

    4)修改SSH配置文件"/etc/ssh/sshd_config"的下列内容

     RSAAuthentication yes # 启用 RSA 认证
     PubkeyAuthentication yes # 启用公钥私钥配对认证方式
     AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
     service sshd restart

    5)验证localhost是否可以无密码登录 

     ssh localhost

    6)配置slave无密码登录,把公钥复制所有的Slave机器上

     scp ~/.ssh/id_rsa.pub [email protected]:~/(将id_rsa.pub复制到slave机器上面)
     mkdir ~/.ssh(创建.ssh)
     chmod 700 ~/.ssh
     cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
     chmod 660 ~/.ssh/authorized keys

     7) 执行第4-5步骤

4、jdk的安装

  配置所有机器jdk

  下载jdk,减压到目录下面,配置jdk环境

    vi /etc/profile
    #set java environment
    export JAVA_HOME=/opt/jdk1.7.0_51/
    export JRE_HOME=/opt/jdk1.7.0_51/jre
    exportCLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
    export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    source /etc/profile

5、Hadoop集群安装

  所有的机器上都要安装hadoop,现在就先在Master服务器安装,然后其他服务器按照步骤重复进行即可。安装和配置hadoop需要以"root"的身份进行。

  5.1 安装hadoop

    下载hadoop-2.5.1.tar.gz

    减压成/opt/hadoop

  5.2配置hadoop到环境变量中

    vi /etc/profile
    # set hadoop path
    export HADOOP_HOME=/opt/hadoop
    export PATH=$PATH :$HADOOP_HOME/bin
    source /etc/profile


5.3 配置以下7个文件

~/opt/hadoop/etc/hadoop/hadoop-env.sh
~/opt/hadoop/etc/hadoop/yarn-env.sh
~/opt/hadoop/etc/hadoop/slaves
~/opt/hadoop/etc/hadoop/core-site.xml
~/opt/hadoop/etc/hadoop/hdfs-site.xml
~/opt/hadoop/etc/hadoop/mapred-site.xml
~/opt/hadoop/etc/hadoop/yarn-site.xml

以上个别文件默认不存在的,可以复制相应的template文件获得。

配置文件1:hadoop-env.sh

修改JAVA_HOME值(export JAVA_HOME=/opt/jdk1.7.0_51/)

配置文件2:yarn-env.sh

修改JAVA_HOME值(exportJAVA_HOME=/opt/jdk1.7.0_51/)

配置文件3:slaves (这个文件里面保存所有slave节点)

写入以下内容:
slave1
slave2
slave3
配置文件4:core-site.xml
<configuration>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/hadoop/tmp</value>
    <description>Abase for other temporary directories.</description>
  </property>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://hmaster:9000</value>
  </property>
  <property>
    <name>io.file.buffer.size</name>
    <value>4096</value>
  </property>
</configuration>
配置文件5:hdfs-site.xml
<configuration>
  <property>
    <name>dfs.nameservices</name>
    <value>hadoop-cluster1</value>
  </property>
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>hmaster:9001</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///opt/hadoop/dfs/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///opt/hadoop/dfs/data</value>
  </property>
  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>
  <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
  </property>
</configuration>

配置文件6:mapred-site.xml

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
    <name>mapreduce.jobtracker.http.address</name>
    <value>hmaster:50030</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>hmaster:10020</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hmaster:19888</value>
  </property>
</configuration>

配置文件7:yarn-site.xml

<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.resourcemanager.address</name>
    <value>hmaster:8032</value>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>hmaster:8030</value>
  </property>
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>hmaster:8031</value>
  </property>
  <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>hmaster:8033</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>hmaster:8088</value>
  </property>
</configuration>

5.4、复制到其他slave

scp -r /opt/hadoop root@slave1:/opt
scp -r /opt/hadoop root@slave2:/opt
scp -r /opt/hadoop root@slave3:/opt

5.5、启动验证

  启动hadoop

  进入安装目录: cd  /opt/hadoop

  格式化namenode:./bin/hdfs namenode –format

  启动hdfs: ./sbin/start-dfs.sh

  使用jps查看,

  此时在hmaster上面运行的进程有:namenode secondarynamenode

  slave1/2/3上面运行的进程有:datanode

  启动yarn: ./sbin/start-yarn.sh

  使用jps查看,

  此时在hmaster上面运行的进程有:namenode secondarynamenode resourcemanager

  slave1/2/3上面运行的进程有:datanode nodemanager

  查看集群状态:./bin/hdfs dfsadmin –report

  查看文件块组成:  ./bin/hdfsfsck / -files -blocks

  查看HDFS:    http://16.187.94.161:50070

  查看RM:    http:// 16.187.94.161:8088


你可能感兴趣的:(hadoop搭建)