Hadoop系列(一): Hadoop的伪分布式安装

在进行Hadoop的伪分布式安装之前,我们首先对Hadoop的一些基础的要点进行一下说明。关于Hadoop的详细概念,我们可以在搜狗百科上找到很详细的答案。

https://baike.sogou.com/v6822175.htm?fromTitle=hadoop

Hadoop是由Apache基金会开发的一个分布式文件系统,用来存储,访问和计算海量数据的框架。

Hadoop 3大核心组件:

 HDFS(Hadoop Distributed File System)
分布式文件系统
 MapReduce
分布式运算框架(数据的计算)
 YARE(Yet Another Resource Negotiator)
资源管理调度系统(硬件资源管理:cpu 磁盘 内存)

这些都和我们接下来的配置紧密相连。

首先我们需要把hadoop-2.8.4.tar.gz通过SecureCRTPortable工具上传到我们的虚拟机内。我是上传到了我的app文件夹中并进行了解压。

使用tar -zxvf  hadoop-2.8.4.tar.gz命令即可。接下来就要进入到hadoop伪分布式安装的主要内容了。

目录

1.环境变量的配置

2.一些基础文件的配置

3.ssh免密登录

4.50070端口监听界面


1.环境变量的配置

打开hadoop的各个文件夹我们会发现很多的jar包,这说明hadoop是通过java编写的。想要运行hadoop服务,这就要求我们为我的linux上安装jdk。至于安装jdk的过程我在之前的博客中提到过。

配置完成jdk,我们还需要配置一些关于hadoop的环境变量,告诉我们的linux关于hadoop的一些指令要到哪里进行查找

具体的配置如下

export HADOOP_HOME=/home/hadoop/app/hadoop-2.8.4

export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

2.一些基础文件的配置

在进行基础文件的配置之前,我们希望我们的当前用户。我的用户名是hadoop取得对我的hadoop应用的所有权。

那么我们需要进入root权限下给我们的用户赋予这个权力。

chown -R hadoop:hadoop /home/app/hadoop-2.8.4   这个地方是我的hadoop的解压目录

至于这样做的原因之后我会再详细说明。

接下来我们需要对我们的一些配置文件进行添加内容,比如设置数据缓存的仓库。

我们首先进入 hadoop-2.8.4文件夹下的etc/hadoop/内

首先是core-site.xml文件。

在<configuration></configuration>标签内添加如下内容

<property>
		<name>fs.defaultFS</name>
		<value>hdfs://192.168.7.100:9000</value>
	</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
	<property>
		<name>hadoop.tmp.dir</name>
  		<value>/home/hadoop/app/hadoop-2.8.4/tmp</value>
	</property>

其中的是192.168.7.100是我的虚拟机的ip地址。可以通过ifconfig进行查看。这个地方不要声明为主机名,在我的虚拟机上声明了主机名会导致namenode无法启动。

下方的文件夹设置则是根据我的hadoop安装位置设置的

剩下的路径设置原理与此相同不再重复

在hdfs-site.xml中的<configuration></configuration>标签内添加如下内容

	<property>
		<name>dfs.nameservices</name>
		<value>hadoop-cluster</value>
	</property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>/home/hadoop/app/hadoop-2.8.4/hdfs/nn</value>
	</property>
	<property>
		<name>dfs.namenode.checkpoint.dir</name>
		<value>/home/hadoop/app/hadoop-2.8.4/hdfs/snn</value>
	</property>
	<property>
		<name>dfs.namenode.checkpoint.edits.dir</name>
		<value>/home/hadoop/app/hadoop-2.8.4/hdfs/snn</value>
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>/home/hadoop/app/hadoop-2.8.4/hdfs/dn</value>
	</property>

在mapred-site.xml中的<configuration></configuration>标签内添加如下内容

	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>

在yarn-site.xml中的<configuration></configuration>标签内添加如下内容

<!-- 指定ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.196.129</value>
</property>
<!-- 指定reducer获取数据的方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/home/hadoop/app/hadoop-2.8.4/yarn/nm</value>
</property>

这个地方的ResourceManager的地址我同样设置成为了我的虚拟机的ip地址

这些配置文件修改完成后。我们需要格式化namenode。但是我的虚拟机在普通用户下没有此权限,所以才有了最开始通过root用户赋予普通用户权限的操作

操作命令   hdfs namenode -format

命令完成后。我们的伪分布式系统就算搭建完成了。这个时候我们可以进入到sbin文件夹下。通过执行

sh start-all.sh命令来启动的hadoop服务。

这个地方有些人会遇到这样的错误

Incorrect configuration: namenode address dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured.

那么这就需要我们到core-site.xml文件中查看我们的ip地址是否配置正确。如果配置正确那么我们使用jps指令可以看到这些

18482 DataNode
18900 Jps
18853 NodeManager
18743 ResourceManager
18360 NameNode

这个地方可能有些人会查看不到DataNode启动,那么可以参考这篇博客

http://blog.sina.com.cn/s/blog_a36d34240102uz17.html

进行一下相关的配置属性修改即可。

3.ssh免密登录

在完成了hadoop的配置之后,我们可以使用ssh协议进行登录和操作hadoop平台。

但是每次我们使用 ssh   主机名/IP地址都需要密码

那么如果想要实现免密登录,应该怎么处理。

首先输入一条命令生成密钥 

ssh-keygen -t rsa

这条命令在执行完之后,会在我们的当前用户的文件夹下。比如我的就是/home/hadoop文件夹下生成一个.ssh文件夹

进入当前的用户文件夹的方式是使用cd ~指令

进入到这个文件夹中,执行

cat id_rsa.pub >> ~/.ssh/authorized_keys

将公钥文件写入到authorized_keys中。

之后我们需要设置authorized_keys权限

chmod 600 ./authorized_keys

这样ssh免密登录就设置成功了。

4.50070端口监听界面

当我们使用sh start-all.sh启动hadoop服务之后,我们可以使用ip:50070来访问监听界面。当我们打开hadoop安装包的文件夹我们会发现一些关于服务器的jar包。当我们启动hadoop服务以后,就相当于我们启动我们的web服务器,这些服务器监听了一些端口。我们可以发出一些请求查看一些页面。比如这个监听界面就是这样

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值