zoukankan      html  css  js  c++  java
  • CentOS 配置hadoop

     Hadoop是用作处理大数据用的,核心是HDFS、Map/Reduce。虽然目前工作中不需要使用这个,但是,技多不压身,经过虚拟机很多遍的尝试,终于将Hadoop2.5.2的环境顺利搭建起来了。

           首先准备一个CentOS,将主机名改为master,并且在/etc/hosts里面加入master对应的本机ip地址。

    Linux基本配置

    vi /etc/sysconfig/network
    #编辑文件里面的HOSTNAME=master
    vi /etc/hosts
    #添加
    本机IP地址   master
             然后关闭iptables并设置开机不启动。

    service iptables stop
    chkconfig iptables off
    重启系统,接下来是配置ssh无密码登陆。配置这个的理由是在启动hadoop可以不用输入密码。

    SSH无密码登陆

    vi /etc/ssh/sshd_config
    #以下4行的注释需要打开
    HostKey /etc/ssh/ssh_host_rsa_key
    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile      .ssh/authorized_keys

    #保存,并重启sshd

    service sshd restart

    #生成免登陆秘钥
    ssh-keygen -t rsa
    #一路回车就行。之后会在当前登陆用户主目录中的.ssh文件夹里生成2个文件。
    #进入.ssh目录。
    cat id_rsa.pub >> authorized_keys

    #现在可以用ssh无密码登陆系统了。
    ssh localhost
    JDK安装配置(略)

    使用的版本是jdk-7u79-linux-x64。

    安装并配置Hadoop2.5.2
    将下载好的tar.gz包上传至环境。

    tar -zxvf hadoop-2.5.2.tar.gz -C /usr

    vi /etc/profile

    #将以下内容放在最后面。
    export JAVA_HOME=/usr/java/jdk1.7.0_79
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export HADOOP_HOME=/usr/hadoop-2.5.2
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    export HADOOP_COMMON_HOME=$HADOOP_HOME
    export HADOOP_HDFS_HOME=$HADOOP_HOME
    export HADOOP_MAPRED_HOME=$HADOOP_HOME
    export HADOOP_YARN_HOME=$HADOOP_HOME
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
    export HADOOP_OPTS=-Djava.library.path=$HADOOP_HOME/lib


    #保存,并执行source /etc/profile



    #配置Hadoop
    #创建hadoop的name与data目录
    mkdir -p /usr/hdfs/name
    mkdir -p /usr/hdfs/data
    mkdir -p /usr/hdfs/tmp

    cd /usr/hadoop-2.5.2/etc/hadoop
    设置以下文件的JAVA_HOME
    hadoop-env.sh hadoop-yarn.sh


    vi core-site.xml
    #在configuration节点里面加入以下配置,注意ip改为本机ip
    <property>
          <name>hadoop.tmp.dir</name>
          <value>/usr/hdfs/tmp</value>
          <description>A base for other temporary directories.</description>
      </property>
    <!--file system properties-->
      <property>
          <name>fs.defaultFS</name>
          <value>hdfs://192.168.1.112:9000</value>
      </property>
     


    vi hdfs-site.xml
    #同样在configuration节点里面加入以下配置
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>/usr/hdfs/name</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>/usr/hdfs/data</value>
        </property>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
        <property>
            <name>dfs.permissions</name>
            <value>false</value>
        </property>
        

    #从模板复制一份mapred-site.xml
    cp mapred-site.xml.template mapred-site.xml
    vi mapred-site.xml
    #同样在configuration节点里面加入以下配置
    <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>
     

    vi yarn-site.xml
    #同样在configuration节点里面加入以下配置,注意将ip地址换成本机的。
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
      <property>
        <description>The address of the applications manager interface in the RM.</description>
        <name>yarn.resourcemanager.address</name>
        <value>192.168.1.112:18040</value>
      </property>
      <property>
        <description>The address of the scheduler interface.</description>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>192.168.1.112:18030</value>
      </property>
      <property>
        <description>The address of the RM web application.</description>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>192.168.1.112:18088</value>
      </property>
      <property>
        <description>The address of the resource tracker interface.</description>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>192.168.1.112:8025</value>
      </property>
    至此,已经将Hadoop初步的环境配置好了,在启动之前还需要格式化namenode。

    输入命令“hadoop namenode -format”;

    启动命令:

    start-dfs.sh

    start-yarn.sh

    停止命令:

    stop-dfs.sh

    stop-yarn.sh

    启动完毕,打开浏览器输入  http://192.168.1.112:50070  与  http://192.168.1.112:18088  验证安装。



    测试Hadoop

    通过运行hadoop自带的wordcount来验证安装是否正确。

    进入hadoop安装的目录,输入以下命令。

    mkdir example
    cd example


    编辑file1.txt与file2.txt

    vi file1.txt
    hello zhm

    hello hadoop

    hello cz


    vi file2.txt
    hadoop is ok

    hadoop is newbee

    hadoop 2.5.2

    cd ..
    hadoop fs -mkdir /data
    hadoop fs -put -f example/file1.txt example/file2.txt /data
    #运行wordcount例子
    hadoop jar ./share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.5.2-sources.jar org.apache.hadoop.examples.WordCount /data /output
    #查看运行结果
    hadoop fs -cat /output/part-r-00000
    #结果如下:
    2.5.2   1
    cz      1
    hadoop  4
    hello   3
    is      2
    newbee  1
    ok      1
    zhm     1
       到这里,环境就已经配置好了,下面就是搞使用Maven开发Hadoop项目了。

       在安装的过程中,遇到问题是必然的。好好在网络上搜索搜索一般都可以找到你想要的答案的。

  • 相关阅读:
    Oracle-函数-split 和 splitstr 的创建
    git merge方法
    查看Android 设备进程id
    内存泄漏
    Mac显示隐藏文件快捷键
    gradle版本
    commit单一文件
    21不下发信号
    FileInputStream read函数何时返回-1
    maven turbonet目录
  • 原文地址:https://www.cnblogs.com/wxb20/p/6011294.html
Copyright © 2011-2022 走看看