Hadoop 完全分布式笔记

Hadoop 完全分布式(CentOS 6.8)


1. 前期准备


  1. 下载并安装Hadoop包和JDK
    Hadoop解压在/root/bigdata下;jdk解压在/home/soft
  2. 为每台主机配置IP地址以及修改主机名
    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    vim /etc/hosts
    /etc/hosts

重启生效

2. 配置环境变量


  • 编辑文件/etc/profile
	export HADOOP_HOME=/root/bigdata/hadoop-2.6.4  
	
	export JAVA_HOME=/home/soft/jdk1.7.0_80
	
	export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin$PATH

source /etc/profile使文件生效

  • 验证生效
    java -version
    java
    hadoop version
    hadoop

3. 免密登录配置


Hadoop集群之间是通过SSH进行通讯的,这就要求主节点和其他节点之间可以通过SSH进行登录,并且要免密。

免密登录的原理:

原理
注:当服务器A通过SSH登录到主机B时,会在主机A的/root/.ssh/(~/.ssh/)目录下生成一个known_hosts文件用来记录主机B的一些信息,实现免密登录,在主机A上使用命令ssh-keygen -t rsa,则会在A的~/.sh下生成(公钥)id_rsa和(私钥)id_rsa.pub文件,当主机B~/.sh的目录下有A的公钥的时候,A就可以免密登录到B了。

  1. 进入~./ssh目录下,执行以下命令生成秘钥和公钥文件(每个节点都要执行)
    ssh-keygen -t rsa (3次回车)
  2. 将上步各个节点生成的id_rsa.pub内容复制到同一个文件,并分发到各个节点~/.ssh目录下
    ssh-copy-id -i id_rsa.pub root@主机名
    结果文件

4. 修改配置文件


修改/root/bigdata/hadoop-2.6.4/etc/hadoop/下的配置文件

hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml.template、yarn-site.xml

  1. hadoop-env.sh
    该文件默认有个export JAVA_HOME=${JAVA_HOME}将其改为你的JAVA_HOME路径
  2. core-site.xml
    core-site.xml包含了整个Hadoop发行版的通用配置
<configuration>
	<!-- 指定Hadoop所使用的文件系统URI,HDFS的老大的地址 -->
    <property>
        <name>fs.default.name</name>
        <value>hdfs://MasterLi:9000</value>
        <description>HDFS的URI,文件系统://namenode标识:端口号</description>
    </property>

	<!-- 指定hadoop运行时产生的文件的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/root/bigdate/hadoop-2.6.4/tmp</value>
    </property>
</configuration>
  1. hdfs-site.xml
    hdfs-site.xml包含了HDFS的配置
<configuration>
	<!--指定副本的数量,默认是3-->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    
     <!--指定secondaryNameNode的地址和端口号-->
    <property>
     <name>dfs.namenode.secondary.http-address</name>
     <value>slave01:50090</value>
   </property>

</configuration>
  1. mapred-site.xml
    mapred-site.xml.template包含了MapReduce的配置
    mapred-site.xml.template重命名为mapred-site.xml
<configuration>
	<property>
		<!--指定MapReduce运行在yarn上-->
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>

  1. yarn-site.xml
<configuration>

	<!-- 指定yarn上运行的是MapReduce程序,reducer获取数据的方式 -->
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>

	<!-- 指定yarn的老大ResourceManager 的地址  -->
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>MasterLi</value>
	</property>

</configuration>

  1. slaves
    定义datanode从节点所在哪台机器
    slaves

5 启动Hadoop##


格式化Hadoop

格式化HDFS文件系统hdfs namenode -format

启动Hadoop

start-all.ssh 启动Hadoop
查看是否成功的方法,终端输入jps,出现以下信息即成功

23537 NodeManager
23233 ResourceManager
23684 Jps
22697 NameNode

此时,在浏览器分别输入localhost:8088和localhost:50070

8088
50070

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值