zoukankan      html  css  js  c++  java
  • hadoop2.7.3 搭建

    一、Java环境搭建

    1.1、下载JDK(操作系统为ubuntu16.04 ,这里使用1.8.0_101版本,jdk-8u101-linux-x64.tar.gz)

      下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    1.2、解压jdk文件至/usr/lib/jvm目录

    sudo tar zxvf jdk-8u101-linux-x64.tar.gz -C /usr/lib/jvm 
    

     1.3、设置环境变量

      打开profile文件

    sudo vim /etc/profile
    

      插入java环境配置节

    export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_101
    export JAVA_BIN=$JAVA_HOME/bin
    export JAVA_LIB=$JAVA_HOME/lib
    export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar
    

      打开environment 文件

    sudo vim /etc/environment 
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games“

       在 environment中修改PATH,追加JDK路径,添加CLASSPATH与JAVA_HOME后如下:

    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/jdk1.8.0_101/bin"
    CLASSPATH="/usr/lib/jvm/jdk1.8.0_101/lib"
    JAVA_HOME="/usr/lib/jvm/jdk1.8.0_101"
    

      配置生效

    source /etc/environment
    

     1.4、告诉ubuntu系统,我们使用的sun的JDK,而非OpenJDK

    sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_101/bin/java 300
    
    sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_101/bin/javac 300
    
    sudo update-alternatives --config java
    

      最后一步没有显示有多个jdk ,则配置到此结束。如果有显示则如下:

    sudo update-alternatives --config java
    有 2 个候选项可用于替换 java (提供 /usr/bin/java)。
    选择    路径                                       优先级  状态------------------------------------------------------------* 0      
    /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061   自动模式  1      
    /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 手动模式 2 /usr/lib/jvm/jdk1.8.0_05/bin/java 300 手动模式要维持当前值[*]请按回车键,或者键入选择的编号:?

      想用那个输那个号码,如上所示,这样就设置好了要使用的java了。 

    1.5、验证java环境是否配置成功

    java -version
    

       显示如下信息,配置成功。

    abc@ubuntu:/usr/local/hadoop$ java -version
    java version "1.8.0_101"
    Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
    

    、安装SSH

    sudo apt-get install openssh-server
    

      启动ssh

    sudo /etc/init.d/ssh start
    

       查看ssh服务是否启动,如果有显示相关ssh字样则表示成功

    ps -ef|grep ssh
    root       913     1  0 09:11 ?        00:00:00 /usr/sbin/sshd -D
    abc       8197  3837  0 14:57 pts/6    00:00:00 grep --color=auto ssh

       设置免密码登录

      $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
      $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
      $ export HADOOP\_PREFIX=/usr/local/hadoop
    
    ssh localhost
    

      如图设置成功。

       

      修改网卡

      注释掉127.0.1.1 ubuntu,添加新的映射127.0.0.1 ubuntu。这里必须修改,否则后面会遇到连接拒绝等问题。

    abc@ubuntu:~$ sudo vim /etc/hosts
    

       

    三、安装hadoop

    3.1、下载hadoop-2.7.3.tar.gz,解压到/usr/local (单机模式搭建)

    sudo tar zxvf hadoop-2.7.3.tar.gz -C /usr/local
    

       给/usr/local/hadoop设置访问权限

     sudo chmod 777 /usr/local/hadoop
    

     3.2、配置.bashrc文件

    sudo vim ~/.bashrc
    

     该命令会打开该文件的编辑窗口,在文件末尾追加下面内容,然后保存,关闭编辑窗口。

    #HADOOP VARIABLES START
    
    export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_101
    
    export HADOOP_INSTALL=/usr/local/hadoop
    
    export PATH=$PATH:$HADOOP_INSTALL/bin
    
    export PATH=$PATH:$HADOOP_INSTALL/sbin
    
    export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
    
    export HADOOP_COMMON_HOME=$HADOOP_INSTALL
    
    export HADOOP_HDFS_HOME=$HADOOP_INSTALL
    
    export YARN_HOME=$HADOOP_INSTALL
    
    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
    
    export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
    
    #HADOOP VARIABLES END
    

     执行下面命令,使添加的环境变量生效:

    source ~/.bashrc
    

     3.3、hadoop配置 (伪分布模式搭建)

    配置hadoop-env.sh

    sudo vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
    
    # The java implementation to use.
    export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_101
    export HADOOP=/usr/local/hadoop
    export PATH=$PATH:/usr/local/hadoop/bin
    

     配置yarn-env.sh

    sudo vim /usr/local/hadoop/etc/hadoop/yarn-env.sh
    
    # export JAVA_HOME=/home/y/libexec/jdk1.6.0/
    export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_101
    

     配置core-site.xml,在home目录地下创建 /home/abc/hadoop_tmp目录

    <configuration>
    <!-- 指定HDFS老大(namenode)的通信地址 -->
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
    </property>
    <!-- 指定hadoop运行时产生文件的存储目录 -->
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/abc/hadoop_tmp</value>
    </property>
    </configuration>
    

    配置hdfs-site.xml

    <configuration>
    <!-- 指定HDFS副本的数量 -->
    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    </configuration>
    

    配置yarn-site.xml

    <configuration>
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
    <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
      <property>
        <name>yarn.resourcemanager.address</name>
        <value>127.0.0.1:8032</value>
      </property>
      <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>127.0.0.1:8030</value>
      </property>
      <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>127.0.0.1:8031</value>
      </property>
    </configuration>
    

    3.4、常用命令

      格式化namenode

    hdfs namenode -format
    

      启动集群 

    start-dfs.sh
    

     这时候单节点伪分布就已经安装成功了,输入下面:http://localhost:50070/

    输入 http://localhost:8088/

     四、wordcount案例运行

      查看hdfs底下包含的文件目录

    hadoop dfs -ls /
    

      hdfs创建一个文件目录

    hdfs dfs -mkdir /input
    

     其他常用命令

        hadoop fs -mkdir /tmp/input              在HDFS上新建文件夹
        hadoop fs -put input1.txt /tmp/input  把本地文件input1.txt传到HDFS的/tmp/input目录下
        hadoop fs -get  input1.txt /tmp/input/input1.txt  把HDFS文件拉到本地
        hadoop fs -ls /tmp/output                  列出HDFS的某目录
        hadoop fs -cat /tmp/ouput/output1.txt  查看HDFS上的文件
        hadoop fs -rmr /home/less/hadoop/tmp/output  删除HDFS上的目录
        hadoop dfsadmin -report 查看HDFS状态,比如有哪些datanode,每个datanode的情况
        hadoop dfsadmin -safemode leave  离开安全模式
        hadoop dfsadmin -safemode enter  进入安全模式
    

       新建input文件夹,上传readme.txt至input,执行命令

    abc@ubuntu:/usr/local/hadoop$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /tmp/input /output1
    

     

    执行成功后output1 目录底下会生成两个文件 _SUCCESS 成功标志的文件,里面没有内容。 一个是 part-r-00000 ,通过hadoop fs -cat /output1/part-r-00000进行查看执行的结果。

  • 相关阅读:
    JVM内存的划分
    劝学
    java中switch的用法
    方法传递参数的分类
    ajax缓存机制
    vuex
    keep-alive
    路由滚动行为scrollBehavior
    vue等
    防止刷新路由后参数消失
  • 原文地址:https://www.cnblogs.com/tatungzhang/p/5993138.html
Copyright © 2011-2022 走看看