大数据(二)--------伪分布式

一、单台主机的伪分布式配置

        伪分布式的配置规划:

 bigdata111
HDFS

NameNode

SecondaryNameNode

DataNode

YARN

ResourceManager

NodeManager

       首先我们不配置 SSH 免密登陆,直接去配置一台伪分布式主机,然后再使用过程中看看免密登陆的好处。

1、配置前的检查

        在配置之前需要先检查你的虚拟机已经准备好了;检查防火墙已关闭,IP 已经配置,IP 与主机的映射已做好,JDK 和 HADOOP 已经装好且环境变量也配置好。我前一篇博客中已全部做好,这里就不需要再弄了,直接开始配置。

2、开始配置

        首先在 hadoop 的安装目录下创建两个文件夹,一个是logs用于存放hadoop运行时的日志,另一个是data用于存放hadoop运行中产生的文件。

          然后进入到 HADOOP 的配置文件目录下:可以看到里面有很多配置文件,其中有四个文件需要配置,下面我们一一打开进行配置。

2.1、配置core-site.xml文件

        使用命令 vi core-site.xml 打开该文件,注意输路径的时候用 tab 键配合,一来可以验证路径的正确性,二来自动补全方便输入。在该配置文件的最后插入如下内容:

    <!-- 指定HDFS中NameNode的地址,低版本端口号为8020 -->
	<property>
		<name>fs.defaultFS</name>
        <value>hdfs://主机名1:9000</value>
	</property>

	<!-- 指定hadoop运行时产生文件的存储目录 -->
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/opt/module/hadoop-2.X.X/data/tmp</value>
	</property>

        并修改主机名和临时文件的存储目录,注意做过映射这里写主机名才会有效;另外,文件存放的目录就是之前新建的data目录;我修改过后如下,之后保存退出。

2.2、配置hdfs-site.xml文件

         使用命令 vi hdfs-site.xml 打开此文件,在文件的最后插入下面的内容:

<!--数据冗余数-->
<property>
	<name>dfs.replication</name>
	<value>3</value>
</property>
<!--secondary的地址-->
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>主机名1:50090</value>
</property>
<!--关闭权限-->
<property>
     <name>dfs.permissions</name>
     <value>false</value>
 </property>

           插入过后修改部分数据,之后保存退出。我的设置如下:

2.3、配置yarn-site.xml文件

        使用命令 vi yarn-site.xml 打开该文件,在文件最后插入如下内容:

	<!-- reducer获取数据的方式 -->
	<property>
	    <name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>

	<!-- 指定YARN的ResourceManager的地址 -->
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>主机名1</value>
	</property>
    	<!-- 日志聚集功能使能 -->
	<property>
	    <name>yarn.log-aggregation-enable</name>
	    <value>true</value>
	</property>
	<!-- 日志保留时间设置7天(秒) -->
	<property>
	    <name>yarn.log-aggregation.retain-seconds</name>
	    <value>604800</value>
	</property>

          修改之后保存退出,我的设置如下:

2.4、配置mapred-site.xml文件

       使用命令 vi mapred-site.xml.template  ,这里注意,使用 tab 自动补全他出现的是这个临时文件,为了保持一致我们可以将它改个名,mv mapred-site.xml.template mapred-site.xml,然后就可以使用 vi mapred-site.xml 打开该文件了,打开之后将下面的内容粘贴到文件最后:

	<!-- 指定mr运行在yarn上-->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
    <!--历史服务器的地址-->
	<property>
	    <name>mapreduce.jobhistory.address</name>
	    <value>主机名1:10020</value>
	</property>
    <!--历史服务器页面的地址-->
	<property>
        <name>mapreduce.jobhistory.webapp.address</name>
		<value>主机名1:19888</value>
	</property>

          修改主机名后保存退出;我的设置如下:

2.5、将JDK 的环境变量配置到多个文件中

          首先打开环境变量设置文件拿到自己设置的 JAVA_HOME 的环境变量:export JAVA_HOME=/opt/module/jdk1.8.0_144

        然后依次打开 hadoop-env.sh、yarn-env.sh、mapred-env.sh 文件,将 JDK 的环境变量放到文件最后。

      另外注意到,我还改了一个 slaves 文件,将文件里面的 localhost 改为 bigdata111;这里只有一台机器的时候改不改无所谓,但是后面如果配三台就必须要改了。

2.6、格式化 NameNode

为什么要格式化?

        NameNode主要被用来管理整个分布式文件系统的命名空间(实际上就是目录和文件)的元数据信息,同时为了保证数据的可靠性,还加入了操作日志,所以,NameNode会持久化这些数据(保存到本地的文件系统中)。对于第一次使用HDFS,在启动NameNode时,需要先执行-format命令,然后才能正常启动NameNode节点的服务。

格式化做了哪些事情?

       在NameNode节点上,有两个最重要的路径,分别被用来存储元数据信息和操作日志,而这两个路径来自于配置文件,它们对应的属性分别是dfs.name.dirdfs.name.edits.dir,同时,它们默认的路径均是/tmp/hadoop/dfs/name。格式化时,NameNode会清空两个目录下的所有文件,之后,会在目录dfs.name.dir下创建文件hadoop.tmp.dir 这个配置,会让dfs.name.dirdfs.name.edits.dir会让两个目录的文件生成在一个目录里。

        使用命令 hdfs  namenode  -format  格式化NameNode。成功执行格式化后会在输出的信息中找到下面这句话:

 

         至此,单机的伪分布式配置完成,下面开始启动伪集群。

3、启动/关闭伪分布式

        使用命令 start-all.sh 启动集群,注意,由于没有配置 SSH 免密登陆,因此在启动过程中需要多次输入密码,各个节点在启动、关闭的时候都需要输入密码,非常的麻烦,所以后面我们需要做 SSH 免密登陆。

        输入命令 jps 可以看到 HDFS 的三个节点和 yarn 的两个节点都已经启动了。

在集群启动的情况下,随意打开windowws的一个浏览器,输入  主机名/ip + 端口  访问hadoop的文件系统,我这就是访问 192.168.1.111:50070,能访问到说明没问题。

        稍微提一下这个页面UI的问题,上面使用 192.168.1.111:50070 打开的是 HDFS 的页面WEBUI,使用 192.168.1.111:8088  打开的是 Yarn 的WEBUI,使用 192.168.1.111:19888 打开历史服务器的 WEBUI;192.168.1.111:9000 是 RPC 的通信端口,浏览器上是打不开的。

         关闭伪分布式:使用命令 stop-all.sh 关闭,这时候又要输入很多遍的密码,非常麻烦;全部关闭之后用 jps 查看一下进程,确实没有说明关闭成功了。

4、配置免密登陆

        是时候配置免密登陆了;使用命令 ssh-keygen -t rsa 生成公钥和私钥,注意过程中他让你输入东西,不要输入,直接全部回车即可。

        使用命令 ssh-copy-id bigdata111 将公钥拷贝到主机上:

        根据提示使用命令 ssh bigdata111 来检查免密登陆是否成功,如果还需要输入密码则表示没有配置成功,如下图所示的可以免密切换则表示 SSH 配置成功。

           接下来再次启动/关闭集群的时候就不需要输入密码了,很便捷。

 

          至此,单机的伪分布式就配置完成了,下一节就配置完全分布式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值