美文网首页
hadoop2.7.7使用小记

hadoop2.7.7使用小记

作者: 九号自行车司机 | 来源:发表于2019-04-04 15:08 被阅读0次

    下载

    1. 打开官方下载链接:http://www.apache.org/dyn/closer.cgi/hadoop/common/,打开页面上推荐的最上面的那个链接。显示的内容如下:
    2. 打开上图中红框选中的hadoop-2.7.7文件夹,下载后缀名为tar.gz的文件

    软件要求

    1. 必须安装jdk,且版本在java7以上。
    2. 必须安装ssh,而且sshd服务需要在运行中,这样hadoop脚本就可以远程管理hadoop进程了。

    安装

    1. 将下载好的文件放到对应目录,linux系统一般将该文件放在/user/local下面
    2. 解压文件:
    tar xzvf hadoop-2.7.7.tar.gz
    
    1. 编辑etc/hadoop/hadoop-env.sh
    # 设置你的java安装目录
    export JAVA_HOME=/usr/java/latest
    # 推荐设置pid文件目录,默认的/tmp目录会导致文件丢失进而无法正常通过脚本停止应用
    export HADOOP_PID_DIR=/var/hadoop/pids
    
    1. 尝试下面的指令:
    bin/hadoop
    

    控制台将输出hadoop脚本的使用文档。

    部署

    伪分布式部署

    配置

    编辑etc/hadoop/core-site.xml

    <configuration>
        <!-- NameNode URI -->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://localhost:9000</value>
        </property>
        
        <!-- A base for other temporary directories. -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/data/hadoop</value>
        </property>
    </configuration>
    

    编辑etc/hadoop/hdfs-site.xml

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

    设置免密ssh

    检查是否能够免密ssh到本机:

    ssh localhost
    

    假如不行,那么执行下面的指令,实现免密ssh到本机:

    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 0600 ~/.ssh/authorized_keys
    

    如果ssh默认端口不是22,修改.ssh/config文件中的配置即可

    启动

    1. 格式化namenode
    bin/hdfs namenode -format
    
    1. 启动NameNode进程和DataNode进程
    sbin/start-dfs.sh
    
    1. 使用浏览器打开地址:http://localhost:50070/,可以看到namenode的web界面

    2. 停止这些进程,使用下列命令:

    sbin/stop-dfs.sh
    

    分布式部署

    配置

    可以选择在系统范围内配置一个环境变量HADOOP_PREFIX,方便之后命令的执行。在/etc/profile.d目录新建一个文件hadoop.sh,文件内容如下:

    export HADOOP_PREFIX=/path/to/hadoop
    

    NameNode和DataNode都需要的配置,编辑etc/hadoop/core-site.xml

    <configuration>
        <!-- NameNode URI -->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://NameNodeHost:9000</value>
        </property>
        
        <!-- A base for other temporary directories. -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/data/hadoop</value>
        </property>
    </configuration>
    

    NameNode的配置,编辑etc/hadoop/hdfs-site.xml

    <configuration>
        <!--
          Names a file that contains a list of hosts that are permitted to connect to the
          namenode. The full pathname of the file must be specified. If the value is empty,
          all hosts are permitted.
        -->
        <property>
            <name>dfs.hosts</name>
            <value>/usr/local/hadoop/etc/hadoop/slaves</value>
        </property>
    </configuration>
    

    编辑/usr/local/hadoop/etc/hadoop/slaves,填写所有被允许连接到NameNode的DataNode节点

    host1
    host2
    

    DataNode的配置,编辑etc/hadoop/hdfs-site.xml

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

    启动

    1. 若是初次启动,必须在NameNode所在机器上进行格式化
    bin/hdfs namenode -format
    
    1. 在NameNode所在机器上,启动NameNode
    sbin/hadoop-daemon.sh --script hdfs start namenode
    
    1. 在所有DataNode所在的机器上,启动DataNode
    sbin/hadoop-daemon.sh --script hdfs start datanode
    
    1. 打开前面提过的地址:http://localhost:50070/,查看NameNode和DataNode的情况,验证集群是否配置成功。

    停止

    1. 在NameNode所在机器上,停止NameNode
    sbin/hadoop-daemon.sh --script hdfs stop namenode
    
    1. 在所有DataNode所在的机器上,停止DataNode
    sbin/hadoop-daemon.sh --script hdfs stop datanode
    

    常用配置

    dfs.datanode.max.transfer.threads

    编辑etc/hadoop/hdfs-site.xml,修改dfs.datanode.max.transfer.threads

    <configuration>
        <!-- Specifies the maximum number of threads to use for transferring data in and out of the DN. -->
        <property>
            <name>dfs.datanode.max.transfer.threads</name>
            <value>8192</value>
        </property>
    </configuration>
    
    

    参考资料

    相关文章

      网友评论

          本文标题:hadoop2.7.7使用小记

          本文链接:https://www.haomeiwen.com/subject/muozbqtx.html