当前位置: 首页 > news >正文

Hadoop 系列(四)—— Hadoop 开发环境搭建

一、前置条件

Hadoop 的运行依赖 JDK,需要预先安装,安装步骤见:

  • Linux 下 JDK 的安装

二、配置免密登录

Hadoop 组件之间需要基于 SSH 进行通讯。

2.1 配置映射

配置 ip 地址和主机名映射:

vim /etc/hosts
# 文件末尾增加
192.168.43.202  hadoop001

2.2 生成公私钥

执行下面命令行生成公匙和私匙:

ssh-keygen -t rsa

3.3 授权

进入 ~/.ssh 目录下,查看生成的公匙和私匙,并将公匙写入到授权文件:

[root@@hadoop001 sbin]#  cd ~/.ssh
[root@@hadoop001 .ssh]# ll
-rw-------. 1 root root 1675 3 月  15 09:48 id_rsa
-rw-r--r--. 1 root root  388 3 月  15 09:48 id_rsa.pub
# 写入公匙到授权文件
[root@hadoop001 .ssh]# cat id_rsa.pub >> authorized_keys
[root@hadoop001 .ssh]# chmod 600 authorized_keys

三、Hadoop(HDFS)环境搭建

3.1 下载并解压

下载 Hadoop 安装包,这里我下载的是 CDH 版本的,下载地址为:http://archive.cloudera.com/cdh5/cdh/5/

# 解压
tar -zvxf hadoop-2.6.0-cdh5.15.2.tar.gz 

3.2 配置环境变量

# vi /etc/profile

配置环境变量:

export HADOOP_HOME=/usr/app/hadoop-2.6.0-cdh5.15.2
export  PATH=${HADOOP_HOME}/bin:$PATH

执行 source 命令,使得配置的环境变量立即生效:

# source /etc/profile

3.3 修改Hadoop配置

进入 ${HADOOP_HOME}/etc/hadoop/ 目录下,修改以下配置:

1. hadoop-env.sh

# JDK安装路径
export  JAVA_HOME=/usr/java/jdk1.8.0_201/

2. core-site.xml

<configuration>
    <property>
        <!--指定 namenode 的 hdfs 协议文件系统的通信地址-->
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop001:8020</value>
    </property>
    <property>
        <!--指定 hadoop 存储临时文件的目录-->
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/tmp</value>
    </property>
</configuration>

3. hdfs-site.xml

指定副本系数和临时文件存储位置:

<configuration>
    <property>
        <!--由于我们这里搭建是单机版本,所以指定 dfs 的副本系数为 1-->
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

4. slaves

配置所有从属节点的主机名或 IP 地址,由于是单机版本,所以指定本机即可:

hadoop001

3.4 关闭防火墙

不关闭防火墙可能导致无法访问 Hadoop 的 Web UI 界面:

# 查看防火墙状态
sudo firewall-cmd --state
# 关闭防火墙:
sudo systemctl stop firewalld.service

3.5 初始化

第一次启动 Hadoop 时需要进行初始化,进入 ${HADOOP_HOME}/bin/ 目录下,执行以下命令:

[root@hadoop001 bin]# ./hdfs namenode -format

3.6 启动HDFS

进入 ${HADOOP_HOME}/sbin/ 目录下,启动 HDFS:

[root@hadoop001 sbin]# ./start-dfs.sh

3.7 验证是否启动成功

方式一:执行 jps 查看 NameNodeDataNode 服务是否已经启动:

[root@hadoop001 hadoop-2.6.0-cdh5.15.2]# jps
9137 DataNode
9026 NameNode
9390 SecondaryNameNode

方式二:查看 Web UI 界面,端口为 50070

hadoop%E5%AE%89%E8%A3%85%E9%AA%8C%E8%AF%81.png

四、Hadoop(YARN)环境搭建

4.1 修改配置

进入 ${HADOOP_HOME}/etc/hadoop/ 目录下,修改以下配置:

1. mapred-site.xml

# 如果没有mapred-site.xml,则拷贝一份样例文件后再修改
cp mapred-site.xml.template mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

2. yarn-site.xml

<configuration>
    <property>
        <!--配置 NodeManager 上运行的附属服务。需要配置成 mapreduce_shuffle 后才可以在 Yarn 上运行 MapReduce 程序。-->
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

4.2 启动服务

进入 ${HADOOP_HOME}/sbin/ 目录下,启动 YARN:

./start-yarn.sh

4.3 验证是否启动成功

方式一:执行 jps 命令查看 NodeManagerResourceManager 服务是否已经启动:

[root@hadoop001 hadoop-2.6.0-cdh5.15.2]# jps
9137 DataNode
9026 NameNode
12294 NodeManager
12185 ResourceManager
9390 SecondaryNameNode

方式二:查看 Web UI 界面,端口号为 8088

hadoop-yarn%E5%AE%89%E8%A3%85%E9%AA%8C%E8%AF%81.png

更多大数据系列文章可以参见 GitHub 开源项目大数据入门指南

转载于:https://www.cnblogs.com/heibaiying/p/11312915.html

相关文章:

  • hibernate 持久化对象 save
  • 进阶1:基础查询
  • MyBatis 核心配置综述之 ParameterHandler
  • webbrowser
  • maven多模块profiles的石使用
  • 史上最强maven配置详情
  • vue-preview 缩略图
  • Redis 学习笔记(篇八):事件
  • Spring Boot使用Liquibase最佳实践
  • Hibernate相关概念及序列化和持久化的区别
  • Oracle常用指令
  • leetcode 25. Reverse Nodes in k-Group
  • python异常处理
  • 极客时间-左耳听风-程序员攻略-UI/UX设计
  • 贪心训练题
  • [case10]使用RSQL实现端到端的动态查询
  • Docker 笔记(2):Dockerfile
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • Electron入门介绍
  • golang中接口赋值与方法集
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • spring boot下thymeleaf全局静态变量配置
  • web标准化(下)
  • win10下安装mysql5.7
  • 彻底搞懂浏览器Event-loop
  • 浮现式设计
  • 目录与文件属性:编写ls
  • 译有关态射的一切
  • 【干货分享】dos命令大全
  • 阿里云重庆大学大数据训练营落地分享
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • #在 README.md 中生成项目目录结构
  • $.ajax()
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (二)构建dubbo分布式平台-平台功能导图
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET 分布式技术比较
  • @RequestBody详解:用于获取请求体中的Json格式参数
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • [] 与 [[]], -gt 与 > 的比较
  • [100天算法】-实现 strStr()(day 52)
  • [20181219]script使用小技巧.txt
  • [AutoSar]BSW_Memory_Stack_004 创建一个简单NV block并调试
  • [bzoj1912]异象石(set)
  • [c]统计数字
  • [C语言]——函数递归
  • [EFI]ASUS EX-B365M-V5 Gold G5400 CPU电脑 Hackintosh 黑苹果引导文件
  • [gdc19]《战神4》中的全局光照技术