欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

hadoop,

来源: javaer 分享于  点击 38952 次 点评:137

hadoop,


Hadoop搭建

Java命令

安装ssh, rsync

  • 将产生的key放到许可证文件中

  • 下载hadoop 2.6.4版本

    https://archive.apache.org/dist/hadoop/common/hadoop-2.6.4/hadoop-2.6.4.tar.gz

  • 将其移动到/usr/local/hadoop
  • 设置Hadoop环境变量

    sudo vim ~/.bashrc
    把下面写进去

    export JAVA_HOME=你的JAVA路径
    export HADOOP_HOME=/usr/local/hadoop 
    export PATH=$PATH:$HADOOP_HOME/bin 
    export PATH=$PATH:$HADOOP_HOME/sbin 
    export HADOOP_MAPRED_HOME=$HADOOP_HOME 
    export HADOOP_COMMON_HOME=$HADOOP_HOME 
    export HADOOP_HDFS_HOME=$HADOOP_HOME 
    export YARN_HOME=$HADOOP_HOME 
    export HADOOP_COMMON_HOME=$HADOOP_HOME 
    export HADOOP_HDFS_HOME=$HADOOP_HOME 
    export YARN_HOME=$HADOOP_HOME 
    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native 
    export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib" 
    export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
    

    让以上的环境变量生效
    source ~/.bashrc

    设置 Hadoop配置

  • 修改core-sit.xml, 设置HDFS默认名称
  • <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:9000</value>
    </property>
    
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/hadoop/hadoop-hduser</value>
    </property>
    
    
    1. 设置YARN-site.xml, 含有MapReduce2(YARN)相关的配置
    <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>
    
    1. 设置mapred-site.xml, 用于设置监控Map与Reduce程序的JobTracker任务分配情况以及TaskTracker任务运行的情况, Hadoop提供了设置的模板文件
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    
    1. 设置hdfs-site.xml, 用于设置HDFS分布式文件系统
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value>
    </property>
    
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value>
    </property>
    

    默认的blocks副本备份数量是每一个文件在其他node的备份数量, 默认值为3

    创建并格式化HDFS目录

  • 创建datanode数据存储目录
  • 将Hadoop目录的所有者更改为hduser
  • 格式化HDFS

    hadoop namenode -format

    启动Hadoop

  • 启动Hadoop MapReduce框架Yarn
  • 同时启动(可以跳过1,2)

  • Hadoop集群

    设置data1服务器

  • 设置网卡2
  • # 网卡1
    # NAT interface
    auto eth0		# eth0是教程里的网卡名, 实际上填写自己的网卡名
    iface eth0 inet dhcp
    
    # 网卡2
    # host only interface
    auto eth1
    iface eth1 inet static
    address		192.168.56.101
    netmask		255.255.255.0
    network		192.168.56.0
    broadcast	192.168.56.255
    
    1. 设置hostname
    2. 编辑hosts文件
    192.168.56.100 master
    192.168.56.101 data1
    192.168.56.102 data2
    192.168.56.103 data3
    
    1. 编辑core-stie.xml
    <property>
        <name>fs.default.name</name>
        <value>hdfs://master:9000</value>
    </property>
    
    1. 编辑YARN-site.xml
    <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.resource-tracker.address</name>
        <value>master:8025</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>master:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>master:8050</value>
    </property>
    
    1. 编辑mapred-site.xml
    <property>
        <name>mapred.job.tracker</name>
        <value>master:54311</value>
    </property>
    
    1. 修改hdfs-site.xml
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value>
    </property>
    

    设置data2服务器

    第一步, sudo vim /etc/network/interfaces变成192.168.56.102
    第二步, sudo vim /etc/hostname更改为data2

    设置data3服务器

    第一步, 变成192.168.56.103
    第二步, 更改为data3

    设置master服务器

    第一步, 变成192.168.56.100
    第二步, 更改为master
    第七步, sudo vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml只改动下面那个

    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value>
    </property>
    
  • 编辑slaves文件
  • data1
    data2
    data3
    

    创建data1, data2, data3的HDFS目录

  • 创建DataNode存储目录
  • 将目录的所有者改为hduser
  • 创建并格式化NameNode HDFS

  • 创建NameNode目录
  • 将目录的所有者更改为hduser
  • 格式化NameNode HDFS目录
  • 启动Hadoop集群

  • Hadoop HDFS命令

    命令 说明
    hadoop fs -mkdir -p HDFS路径创建多级HDFS目录
    hadoop fs -ls -R HDFS路径 一次查看所有HDFS目录
    hadoop fs -copyFromLocal 本地 HDFS路径 复制本地文件到HDFS
    hadoop fs -put 本地 HDFS路径 强制覆盖本地文件到HDFS(忽略已存在文件, 并且可以接受stdin, 比如管道输出)
    hadoop fs -cat HDFS路径 列出HDFS目录下的文件内容
    hadoop fs -copyToLocal HDFS路径 本地路径 从HDFS上拷贝文件到本地路径
    hadoop fs -get HDFS路径 本地路径 从HDFS上拷贝文件强制到本地路径(忽略已存在路径)
    hadoop fs -cp HDFS路径 HDFS路径 复制HDFS文件
    hadoop fs -rm -R HDFS路径 删除HDFS文件

    相关文章

      暂无相关文章
    相关栏目:

    用户点评