Hadoop完全分布式配置

Hadoop完全分布式配置_第1张图片

六台主机时
Hadoop完全分布式配置_第2张图片

  1. 关闭防火墙
    临时关闭 : service iptables stop
    永久关闭 : shkconfig iptables off(需要重启)
  2. 修改主机名
    在Hadoop集群中,主机名中不允许出现 _ 以及-,如果出现会导致找不到这台主机
    vim /etc/sysconfig/network
    编辑 : HOSTNAME=hadoop01 (可以随便起名,但是得记住)
    在这里插入图片描述
    (让他生效)source /etc/sysconfig/network
  3. 修改hosts文件 进行映射(因为是三台 ,所以三台都得加在hosts文件中)
    vim /etc/hosts/
    Hadoop完全分布式配置_第3张图片
  4. 配置免密登录
    产生秘钥 : ssh-keygen
    进行复制 : ssh-copy-id 用户名@主机名 例ssh-copy-id root@hadoop01
    对三台主机都进行复制
    Hadoop完全分布式配置_第4张图片
  5. 重启节点
    命令 : reboot
  6. 安装jdk
  7. 安装zookeeper
    下载zookeeper安装包
    直接wget就可以 : wget http://bj-yzjd.ufile.cn-north-02.ucloud.cn/zookeeper-3.4.8.tar.gz
    解压 : tar -xvf zookeeper-3.4.7.tar.gz
  8. 将zoo_sample.cfg复制为zoo.cfg
    cp zoo_sample.cfg zoo.cfg
  9. 修改 zoo.cfg配置文件
    vim zoo.cfg
    将12行 dataDir=/tmp/zookeeper 改为 dataDir=/home/software/zookeeper-3.4.8/tmp
    最后一行加上 server.1=ip1:port1:port2
    server.2=ip2:port1:port2
    server.3=ip3:port1:port2
    ip1,2,3 三台主机的ip port1 port2 随便给,只要没被占用就可以 Hadoop完全分布式配置_第5张图片
  10. 在zookeeper-3.4.7 下创建tmp目录 mkdir tmp
    进入tmp目录 vim myid (内容为 1 )
  11. 将第一个节点拷给第二个和第三个目录
    
    命令 : scp -r zookeeper-3.4.7 hadoop02:/home/software/
    scp -r zookeeper-3.4.7 hadoop03:/home/software/
  12. 将tmp目录下的myid进行修改(内容按hosts文件中的顺序写成 2和3)
  13. 将三台zookeeper都启动 到zookeeper的bin目录下启动 : sh zkServer.sh start
  14. 下载 安装hadoop
    wget http://bj-yzjd.ufile.cn-north-02.ucloud.cn/hadoop-2.7.1_64bit.tar.gz
    tar -xvf hadoop-2.7.1_64bit.tar.gz
  15. 到etc/hadoop中
    编辑: vim hadoop-env.sh
    25行 将JAVA_HOME改为具体的目录
    export JAVAZ-HOME=/home/presoftware/jdk1.8
    33行改为
    export HADOOP_CONF_DIR=/home/software/hadoop-2.7.1/etc/hadoop
    保存退出
  16. 编辑cor-site.xml

	
	
		fs.defaultFS        
		hdfs://ns
	
	
	
		hadoop.tmp.dir
		/home/software/hadoop-2.7.1/tmp
	
	
	
		ha.zookeeper.quorum
		hadoop01:2181,hadoop02:2181,hadoop03:2181
	


  1. 编辑hdfs-site.xml

	
	
		dfs.nameservices
		ns
	
	
	
	
		dfs.ha.namenodes.ns
		nn1,nn2
	
	
	
		dfs.namenode.rpc-address.ns.nn1
		hadoop01:9000
	
	
	
		dfs.namenode.http-address.ns.nn1
		hadoop01:50070
	
	
	
		dfs.namenode.rpc-address.ns.nn2
		hadoop02:9000
	
	
	
		dfs.namenode.http-address.ns.nn2
		hadoop02:50070
	
	
	
		dfs.namenode.shared.edits.dir
		qjournal://hadoop01:8485;hadoop02:8485;hadoop03:8485/ns
	
	
	
		dfs.journalnode.edits.dir
		/home/software/hadoop-2.7.1/tmp/journal
	
	
	
		dfs.ha.automatic-failover.enabled
		true
	
	
	
		dfs.client.failover.proxy.provider.ns
		org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
	
	
	
		dfs.ha.fencing.methods
		sshfence
	
	
	
		dfs.ha.fencing.ssh.private-key-files
		/root/.ssh/id_rsa
	
	
	  
		dfs.namenode.name.dir  
		file:///home/software/hadoop-2.7.1/tmp/hdfs/name  
	  
	
	  
		dfs.datanode.data.dir  
		file:///home/software/hadoop-2.7.1/tmp/hdfs/data  
	
	  
	  
		dfs.replication  
		3  
	 
	               
	  
		dfs.permissions  
		false  
	


  1. 编辑mapred-site.xml

	
	
		mapreduce.framework.name
		yarn
	


  1. 编辑yarn-site.xml



	
	
		yarn.resourcemanager.ha.enabled
		true
	
	
	
		yarn.resourcemanager.ha.rm-ids
		rm1,rm2
	
	
	
		yarn.resourcemanager.hostname.rm1
		hadoop01
	
	
	
		yarn.resourcemanager.hostname.rm2
		hadoop03
	
	
	
		yarn.resourcemanager.recovery.enabled
		true
	
	
	
		yarn.resourcemanager.store.class
		org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore
	
	
	
		yarn.resourcemanager.zk-address
		hadoop01:2181,hadoop02:2181,hadoop03:2181
	
	
	
		yarn.resourcemanager.cluster-id
		ns-yarn
	
	
	  
		yarn.nodemanager.aux-services  
		mapreduce_shuffle  
	 
	
	
		yarn.resourcemanager.hostname
		hadoop03
	


  1. 编辑slaves
    hadoop01
    hadoop02
    hadoop03

  2. 配置环境变量 vim etc/profile
    在最后添加 export HADOOP_HOME=/home/software/hadoop-2.7.1
    export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin
    第一句是指定安装目录
    source /etc/profile

  3. 回到software下将hadoop-2.7.1 拷贝到第二台和第三台
    scp -r hadoop-2.7.1 hadoop02:/home/software
    scp -r hadoop-2.7.1 hadoop03:/home/software

  4. 现在二和三都没有环境变量 所以 vim /etc/profile
    在最后添加 export HADOOP_HOME=/home/software/hadoop-2.7.1
    export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin
    source /etc/profile

  5. 在任意一个节点上进行Zookeeper格式化注册
    命令 : hdfs zkfc-formatZK

  6. 创建出上面配置文件中指定的目录
    cd hadoop-2.7.1/
    mkdir tmp
    cd tmp/
    mkdir journal
    mkdir hdfs
    cd hdfs/
    mkdir data
    mkdir name

  7. 在三台节点上分别启动journalnode : hadoop-daemon.sh start journalnode

  8. 格式化第一个节点上的namenode : hadoop namenode-format

  9. 启动第一个节点的namenode : hdfs namenode-bootstrapStandby

  10. 格式化第二个节点上的namenode : hadoop namenode-format

  11. 启动第二个节点的namenode : hdfs namenode-bootstrapStandby

  12. 在三个节点上分别启动datanode : hadoop-daemon.sh start datanode

  13. 在第一个节点和第二个节点上启动zkfc实现状态的切换 : hadoop-daemon.sh start zkfc

  14. 在第一个节点上启动yarn : start-yarn.sh

  15. 在第三个节点上启动resourcemanager : yarn-daemon.sh start resourcemanager

Hadoop完全分布式配置_第6张图片

你可能感兴趣的:(Hadoop)