Hadoop搭建

简介:
Hadoop是一个由Apache基金会所开发的分布式系统基础架构,利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。
HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算

Hadoop的核心由3个部分组成:
HDFS: Hadoop Distributed File System,分布式文件系统,hdfs还可以再细分为NameNode、SecondaryNameNode、DataNode。
YARN: Yet Another Resource Negotiator,资源管理调度系统
Mapreduce:分布式运算框架

优点:
Hadoop 对大量数据进行分布式处理的软件框架。 Hadoop 以一种可靠、高效、可伸缩的方式进行数据处理。
Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点:
1.可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。
2.扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
3.高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
4.容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
5.低成本。与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低。
Hadoop带有用Java语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如 C++。


环境准备
192.168.1.131 hadoop-master
192.168.1.132 hadoop-slave1
192.168.1.133 hadoop-slave2

修改hosts
vi /etc/hosts
192.168.1.131 hadoop-master
192.168.1.132 hadoop-slave1
192.168.1.133 hadoop-slave2

安装java

jdk 下载地址http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2696671285@qq.com 
Oracle123

tar -vzxf jdk-8u211-linux-x64.tar.gz  
mkdir /usr/java 
mv /root/jdk1.8.0_211/ /usr/java
vim /etc/profile 
JAVA_HOME=/usr/java/jdk1.8.0_211    #修改对应版本
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

修改之后

source /etc/profile 

测试查看是否正常

#java

安装hadoop

下载地址 http://hadoop.apache.org/releases.html
tar -zxvf hadoop-2.7.7.tar.gz 
mv hadoop-2.7.7 /opt/hadoop/
/opt/hadoop/etc/hadoop

修改  /hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_211

设置伪分布模式(Pseudo-Distributed Operation)


修改etc/hadoop/core-site.xml文件,增加配置(fs.defaultFS:默认文件系统名称):

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

修改etc/hadoop/hdfs-site.xml文件,增加配置(dfs.replication:文件副本数):

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

ssh免密登录

在三台虚拟机上创建 mkdir ~/.ssh
在.ssh下ssh-keygen -t rsa
生成两个文件,一个私钥,一个公钥
cp id_rsa.pub authorized_keys
scp /root/.ssh/authorized_keys hadoop-slave1:/root/.ssh 
scp /root/.ssh/authorized_keys hadoop-slave2:/root/.ssh 
chmod 644 authorized_keys 每台机器都需要更改权限

重启sshd后master就可免密登录hadoop-master  hadoop-slave1 hadoop-slave2


格式化文件系统

bin/hdfs namenode -format

如报错如下需要执行以下步骤:

./start-dfs.sh
Starting namenodes on [master]
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
Starting datanodes
ERROR: Attempting to operate on hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.
Starting secondary namenodes [slave1]
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.

在/hadoop/sbin路径下:,将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

start-yarn.sh,stop-yarn.sh顶部也需添加以下:

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

修改后重新启动 ./start-dfs.sh

./sbin/start-dfs.sh  // 启动NameNode和DataNode进程
./sbin/stop-dfs.sh   // 关闭NameNode和DataNode进程
 ./start-dfs.sh
WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.
Starting namenodes on [master]
上一次登录:日 6月  3 03:01:37 CST 2018从 slave1pts/2 上
master: Warning: Permanently added 'master,192.168.43.161' (ECDSA) to the list of known hosts.
Starting datanodes
上一次登录:日 6月  3 04:09:05 CST 2018pts/1 上
Starting secondary namenodes [slave1]
上一次登录:日 6月  3 04:09:08 CST 2018pts/1 上

访问查看HDFS:
http://192.168.1.131:9870/
Hadoop搭建

注:3.0 之前 版本 NameNode 50070端口
3.0 之后 版本 NameNode 9870 端口

启动YARN ./start-dfs.sh


访问查看YARN:
http://192.168.114.135:8088/
Hadoop搭建

./sbin/start-yarn.sh
./sbin/stop-yarn.sh

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建Hadoop的高可用(HA)环境,你需要考虑以下几个步骤: 1. 配置Hadoop集群:确保你已经成功地设置了一个Hadoop集群,并且所有节点都能够正常通信。 2. 配置ZooKeeper:HA模式下,Hadoop使用ZooKeeper来进行主节点的选举和故障切换。你需要安装和配置ZooKeeper集群。 3. 修改Hadoop配置文件:在core-site.xml、hdfs-site.xml和yarn-site.xml等配置文件中,进行如下修改: - 在core-site.xml中,指定ZooKeeper的地址。 - 在hdfs-site.xml中,设置HA相关的属性,如nameservice、namenode、journalnode等。 - 在yarn-site.xml中,设置ResourceManager的高可用属性。 4. 启动JournalNodes:JournalNodes用于存储HDFS的元数据日志,并确保数据的一致性。启动JournalNodes之前,需要在hdfs-site.xml中指定JournalNode的地址。 5. 格式化NameNode:使用`hdfs namenode -format`命令格式化NameNode。这将创建一个新的命名空间并为HA做准备。 6. 启动NameNode和DataNode:启动NameNode时,指定HA相关的配置参数,并确保DataNode也能够正常启动。 7. 启动ResourceManager和NodeManager:启动ResourceManager时,同样要指定HA相关的配置参数,并确保NodeManager也能够正常启动。 8. 进行故障切换测试:通过停止当前的Active节点,触发故障切换,验证HA环境是否正常工作。 以上是搭建Hadoop的高可用环境的基本步骤,具体的配置细节和命令可能会根据你的环境和需求有所不同。请确保在进行任何配置更改之前备份重要数据,并参考官方文档或相关资源获取更多详细信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值