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文件。

标签内添加如下内容


		fs.defaultFS
		hdfs://192.168.7.100:9000
	

	
		hadoop.tmp.dir
  		/home/hadoop/app/hadoop-2.8.4/tmp
	

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

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

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

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

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

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

	
		mapreduce.framework.name
		yarn
	

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



yarn.resourcemanager.hostname
192.168.196.129



yarn.nodemanager.aux-services
mapreduce_shuffle


yarn.nodemanager.local-dirs
/home/hadoop/app/hadoop-2.8.4/yarn/nm

这个地方的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服务器,这些服务器监听了一些端口。我们可以发出一些请求查看一些页面。比如这个监听界面就是这样

 

你可能感兴趣的:(hadoop)