HDFS存放副本时会优先在同一个数据节点备份一份,然后在不同的虚拟机架上备份

namenode的HA是靠主备方式保证的,自动切换时要用到zookeeper,手动切换可以通过命令,备节点可以在数据节点上,一套HDFS-HA最少需要3台机子

安装步骤:

#yum install java

#wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz

#tar -zxvf hadoop-2

#mv hadoop-2.6.0 /usr/local/hadoop

ssh免密码登录,分发公钥:

#ssh-keygen -t rsa

#ssh-copy-id -i /root/.ssh/id_rsa.pub '-p 22 [email protected]'

#vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64/jre 指定jdk目录
export HADOOP_PID_DIR=${HADOOP_HOME}/pids
export HADOOP_SSH_OPTS="-p 1234"   如果非22的ssh端口,需要这行来指定端口

#vim /usr/local/hadoop/etc/hadoop/core-site.xml 编辑主节点主要参数



   hadoop.tmp.dir
   file:/hdfs/tmp指定上传到hdfs数据临时存放目录,多硬盘可设多个来备份和提高效率


    fs.default.name
    hdfs://192.168.128.129:9000      指定默认主的访问方式
    

#mkdir -p /hdfs/tmp

#vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml      编辑hdfs数据存放参数



    dfs.replication
    2                    数据备份数


    dfs.namenode.name.dir
    file:/hdfs/name    name节点存放数据位置,多硬盘可设置多个来备份和提高效率


    dfs.datannode.data.dir
    file:/hdfs/nodedata    数据节点存数据位置,多硬盘可设多个来备份和提高效率


    dfs.namenode.secondary.http-address    指定备name节点ip
    hdfs://备节点ip:50070

    dfs.webhdfs.enabled     开启网页看结构功能
    true 


   dfs.permissions        文件操作时禁止检查权限
   false

#mkdir /hdfs/name

#mkdir /hdfs/nodedata

#vim /usr/local/hadoop/etc/hadoop/slaves 添加数据节点的ip或主机名

#export HADOOP_ROOT_LOGGER=DEBUG,console 为了解决本地库报错,设置前端显示日志

#/usr/local/hadoop/bin/hadoop fs -ls 主要看看需要的GLIBC版本

#wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz

#tar -zxvf glibc-2.14

#mkdir glibc-build

#cd glibc-build

#../glibc-2.14/configur --prefix=/usr

#make && make install 最后出现的libc5啥的错误无视他

#shutdown -r 0 重启系统生效


开始使用:

#/usr/local/hadoop/bin/hadoop namenode -format 格式化

#/usr/local/hadoop/sbin/start-dfs.sh     在namenode节点启动HDFS  stop-dfs.sh 停止


访问 http://ip:50070  看网页状态


监控:

获取HDFS状态命令:

#/usr/local/hadoop/bin/hadoop dfsadmin -report


如果livenode是0的话就删了所有节点的tmp、name、data文件夹里的东西,然后再格式化,启动