hadoop2.7.7使用小记

下载

  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


    
    
        fs.defaultFS
        hdfs://localhost:9000
    
    
    
    
        hadoop.tmp.dir
        /data/hadoop
    

编辑etc/hadoop/hdfs-site.xml


    
        dfs.replication
        1
    

设置免密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


    
    
        fs.defaultFS
        hdfs://NameNodeHost:9000
    
    
    
    
        hadoop.tmp.dir
        /data/hadoop
    

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


    
    
        dfs.hosts
        /usr/local/hadoop/etc/hadoop/slaves
    

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

host1
host2

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


    
        dfs.replication
        1
    

启动

  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


    
    
        dfs.datanode.max.transfer.threads
        8192
    


参考资料

  • hadoop2.7.7官方文档:https://hadoop.apache.org/docs/r2.7.7/index.html
  • Hadoop 伪分布式下更换默认hadoop.tmp.dir路径
  • Re: HADOOP_SSH_OPTS

你可能感兴趣的:(hadoop2.7.7使用小记)