首页 > 编程知识 正文

Alex 的 Hadoop 菜鸟教程: 第3课 Hadoop 安装教程 - 非HA方式 (一台server)

时间:2023-05-03 06:35:45 阅读:28737 作者:869

帖子源地址: http://blog.csdn.net/ns rainbow/article/details/36629741

上一个教程: http://blog.csdn.net/ns rainbow/article/details/36629339

本教程是在Centos6上使用yum安装CDH5版本号hadoop的教程。 如果您尚未加入yum源,请参见上一个教程: http://blog.csdn.net/ns rainbow/article/details/36629339

Hadoop模式映射

名称、数据节点、客户端

NameNode可以是分布式文件系统的管理员,主要管理文件系统的名称空间、群集配置信息、存储块复制等。 NameNode将文件系统的元数据保存在内存中。 该信息主要包括文件信息、与每个文件对应的文件块信息以及每个文件块在DataNode中的信息等。

DataNode是文件存储的基本单元,它在本地文件系统上存储块,存储块元数据,同时周期性地将所有存在的块信息发送到NameNode。

客户端是获取分布式文件系统文件的APP应用程序。

文件写入

客户端向NameNode发起文件写入请求。

NameNode基于文件大小和块配置。 返回指向客户端管理的部分DataNode的信息。

客户端将文件分割为多个块,并基于DataNode的地址信息。 依次写入每个DataNode块。

读取文件

客户端向NameNode发出读取文件的请求

NameNode返回文件存储的DataNode的信息。

客户端读取文件信息。 开始安装非HA模式

1 .库key $ sudo rpm-- import http://archive.cloud era.com/CD H5/red hat/6/x86 _ 64/CDH/rpm-gpg-key-cloud

2 .安装CD H5 2.1安装resourcemanagerhost $ sudoyumcleanall $ sudoyuminstallhadoop-yarn-resource manager-y

2.2安装NameNode host $ sudoyumcleanall $ sudoyuminstallhadoop-HDFS-NameNode-y

2.3安装secondarynamenodehost $ sudoyumcleanall $ sudoyuminstallhadoop-HDFS-secondary NameNode-y

2.4nodemanager、datanode、mapreduce (官方介绍说要在资源管理器以外的机器上安装这些,但我们现在是一台机器。 所以给这台机器$ sudoyumcleanall $ sudoyuminstallhadoop-yarn-nodemanagerhadoop-HDFS-datanodehadoop-MapReduce-y

2.5安装Hadoop-MapReduce-historyserverhadoop-yarn-proxy server (官方称从集群中选择一台制作主机,但我们只有一台,这里

2.6hadoop-client的安装(因为用户说要连接到Hadoop的client并正式安装在client上,所以在这里直接安装) $ sudoyumcleanall $ sudoyumimiity

引入CDH 3.1设置计算机名称。 (默认值为localhost ) )首先确认是否设置了自己的hostname

$ sudo vim/etc/sys config/network hostname=localhost.local domain

如果HOSTNAME是localhost.localdomain,则进行更改

HOSTNAME=myhost.mydomain.com

然后执行,保证马上产生


$ sudo hostname myhost.mydomain.com



检查一下是否设置生效
$ sudo uname -a



3.2 改动配置文件 先切换到root用户。免得每行命令之前都加一个sudo,所以下面教程都是用root角度写的
$ sudo su -$ cd /etc/hadoop/conf$ vim core-site.xml

在 <configuration>...</configuration> 中添加
<property><name>fs.defaultFS</name><value>hdfs://myhost.mydomain.com:8020</value></property>
编辑hdfs-site.xml


$ vim hdfs-site.xml

在 <configuration>...</configuration> 中加入
<property> <name>dfs.permissions.superusergroup</name> <value>hadoop</value></property>



3.3 配置存储目录 在 namenode 机子上配置 hdfs.xml 用来存储name元数据(我们仅仅有一台机,所以既是namenode又是datanode)
$ vim hdfs-site.xml

改动dfs.name.dir 为 dfs.namenode.name.dir(dfs.name.dir已经过时),并改动属性值,一般来说我们的 /data 或者 /home/data 都是挂载大硬盘数据用的,所以把存储目录指向这个路径里面的目录比較较好
<property> <name>dfs.namenode.name.dir</name> <value>file:///data/hadoop-hdfs/1/dfs/nn</value> </property>


在 datanode上配置 hdfs.xml 用来存储实际数据(我们仅仅有一台机,所以既是namenode又是datanode)
$ vim hdfs-site.xml

添加dfs.datanode.data.dir(dfs.data.dir已经过时)配置
<property> <name>dfs.datanode.data.dir</name> <value>file:///data/hadoop-hdfs/1/dfs/dn,file:///data/hadoop-hdfs/2/dfs/dn</value> </property>



建立这些目录
$ mkdir -p /data/hadoop-hdfs/1/dfs/nn$ mkdir -p /data/hadoop-hdfs/1/dfs/dn$ mkdir -p /data/hadoop-hdfs/2/dfs/dn



改动目录用户
$ chown -R hdfs:hdfs /data/hadoop-hdfs/1/dfs/nn /data/hadoop-hdfs/1/dfs/dn /data/hadoop-hdfs/2/dfs/dn



改动目录权限
$ chmod 700 /data/hadoop-hdfs/1/dfs/nn

3.4 格式化namenode $ sudo -u hdfs hdfs namenode -format



3.5 配置 Secondary NameNode 在hdfs-site.xml中加入
<property> <name>dfs.namenode.http-address</name> <value>0.0.0.0:50070</value> <description> The address and the base port on which the dfs NameNode Web UI will listen. </description></property>



3.6 启动hadoop $ for x in `cd /etc/init.d ; ls hadoop-*` ; do sudo service $x start ; doneStarting Hadoop nodemanager: [ OK ]starting nodemanager, logging to /var/log/hadoop-yarn/yarn-yarn-nodemanager-xmseapp03.ehealthinsurance.com.outStarting Hadoop proxyserver: [ OK ]starting proxyserver, logging to /var/log/hadoop-yarn/yarn-yarn-proxyserver-xmseapp03.ehealthinsurance.com.outStarting Hadoop resourcemanager: [ OK ]starting resourcemanager, logging to /var/log/hadoop-yarn/yarn-yarn-resourcemanager-xmseapp03.ehealthinsurance.com.outStarting Hadoop datanode: [ OK ]starting datanode, logging to /var/log/hadoop-hdfs/hadoop-hdfs-datanode-xmseapp03.ehealthinsurance.com.outStarting Hadoop namenode: [ OK ]starting namenode, logging to /var/log/hadoop-hdfs/hadoop-hdfs-namenode-xmseapp03.ehealthinsurance.com.outStarting Hadoop secondarynamenode: [ OK ]starting secondarynamenode, logging to /var/log/hadoop-hdfs/hadoop-hdfs-secondarynamenode-xmseapp03.ehealthinsurance.com.out...



都成功后用jps看下
$jps17033 NodeManager16469 DataNode17235 ResourceManager17522 JobHistoryServer16565 NameNode16680 SecondaryNameNode17593 Jps


4 client測试 打开你的浏览器输入 http://<hadoop server ip>:50070
假设看到
Hadoop Administration
DFS Health/Status
这种字样就成功进入了hadoop的命令控制台

转载于:https://www.cnblogs.com/mqxnongmin/p/10603965.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。