Debian系统配置

我这里在Vmware里面虚拟4个Debian系统,一个master,三个solver。hostname分别是master、solver1、solver2、solver3。对了,下面的JDK和hadoop安装配置操作都是使用hadoop用户权限来执行,并非root权限。

1. 静态网络的配置

编辑/etc/network/interfaces文件,注释自动获取IP,并添加下面内容

# The primary network interface
#allow-hotplug ens33
#iface ens33 inet dhcp # static IP address
auto ens33
iface ens33 inet static
address 192.168.20.101
netmask 255.255.255.0
gateway 192.168.20.2
dns-nameservers 192.168.20.2
dns-nameservers 114.114.114.114

2. 修改/etc/hosts文件,添加如下内容

# Hadoop
192.168.20.101 master
192.168.20.102 solver1
192.168.20.103 solver2
192.168.20.104 solver3

3. openssh-server安装和vim的安装

sudo apt-get install openssh-server vim

4. 生成ssh密钥

# 分别在不同的主机上执行`ssh-keygen`命令

# master
ssh-keygen -t rsa -C "master" # solver1
ssh-keygen -t rsa -C "solver1" # solver2
ssh-keygen -t rsa -C "solver2" # solver3
ssh-keygen -t rsa -C "solver3"

5. 免密码登录

# 在每台主机上执行:
ssh-copy-id -i ~/.ssh/id_rsa.pub master
ssh-copy-id -i ~/.ssh/id_rsa.pub solver1
ssh-copy-id -i ~/.ssh/id_rsa.pub solver2
ssh-copy-id -i ~/.ssh/id_rsa.pub solver3

6. 创建用户和用户组

# 在每台主机上执行:
useradd -m -s /bin/bash hadoop

JDK 安装与配置

1. 手动安装JDK

解压jdk安装包到/usr/lib/jvm/,然后创建jdk软链接:

sudo ln -sf /usr/lib/jvm/jdk1.8.0_202 /usr/lib/jvm/jdk

2. JDK环境变量的配置

  • 新建jdk.sh文件
vi /etc/profile.d/jdk.sh
  • 添加如下内容:
# JDK environment settings
export JAVA_HOME=/usr/lib/jvm/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATh=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
  • JAVA环境的验证
$ java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

把jdk安装包和jdk.sh分别scp到每台主机上,重复上面的操作。

Hadoop 安装与配置

Hadoop 安装

1. 解压hadoop安装包到/opt,修改hadoop-3.1.2的拥有者:

sudo chown -R hadoop:hadoop /opt/hadoop-3.1.2

2. 然后创建hadoop软链接

sudo ln -sf /opt/hadoop-3.1.2 /opt/hadoop

3. 在hadoop下创建logshdfs/namehdfs/data文件夹

mkdir /opt/hadoop/logs
mkdir -p /opt/hadoop/hdfs/name
mkdir -p /opt/hadoop/hdfs/data

4. hadoop环境变量的配置

  • 新建文件hadoop.sh
vi /etc/profile.d/hadoop.sh
  • 添加如下内容:
# Hadoop environment settings
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  • 刷新profile变量
# 使profile生效
source /etc/profile

Hadoop文件配置

配置文件都在etc/hadoop/文件夹下

1. hadoop-env.sh

# jdk环境变量 (因为要远程调用 ${java_home}找不到变量)
export JAVA_HOME=/usr/lib/jvm/jdk

2. workers

# 添加所有solver机器的hostname
solver1
solver2
solver3

3. core-site.xml

<configuration> 

  <!-- hdfs的位置 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property> <!-- hadoop运行时产生的缓冲文件存储位置 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property> </configuration>

4. hdfs-site.xml

<configuration> 

  <!-- hdfs 数据备份数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property> <!-- hdfs namenode上存储hdfs名字空间元数据 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/hdfs/name</value>
</property> <!-- hdfs datanode上数据块的物理存储位置 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/hdfs/data</value>
</property> </configuration>

5. mapred-site.xml

<configuration> 

  <!--  mapreduce运行的平台 默认local本地模式 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property> <!-- mapreduce web UI address -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property> </configuration>

6. yarn-site.xml

<configuration>
<!-- Site specific YARN configuration properties --> <!-- yarn 的 hostname -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property> <!-- yarn Web UI address -->
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8088</value>
</property> <!-- reducer 获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property> </configuration>

/opt/hadoop-3.1.2hadoop.sh打包scp到每台电脑上,然后重复Hadoop安装步骤

Hadoop 的验证

  • 首先格式化 hdfs
hdfs namenode -format
  • 启动与关闭 jobhistoryserver
mr-jobhistory-daemon.sh start historyserver
mr-jobhistory-daemon.sh stop historyserver
  • 启动与关闭 yarn
start-yarn.sh
stop-yarn.sh
  • 启动与关闭 hdfs
start-dfs.sh
stop-dfs.sh
  • 一键启动与关闭
start-all.sh
stop-all.sh
  • 验证
$ jps
13074 SecondaryNameNode
14485 Jps
10441 JobHistoryServer
12876 NameNode
13341 ResourceManager

访问Web UI

Daemon Web Interface Notes
NameNode https://192.168.20.101:9870 Default HTTP port is 9870.
Resourcemanager http://192.168.20.101:8088 Default HTTP port is 8088.
MapReduce JobHistory Server http://192.168.20.101:19888 Default HTTP port is 19888.

Debian下Hadoop 3.12 集群搭建的更多相关文章

  1. Linux下MySQL/MariaDB Galera集群搭建过程【转】

    MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...

  2. hadoop高可用集群搭建小结

    hadoop高可用集群搭建小结1.Zookeeper集群搭建2.格式化Zookeeper集群 (注:在Zookeeper集群建立hadoop-ha,amenode的元数据)3.开启Journalmno ...

  3. hadoop伪分布式集群搭建与安装(ubuntu系统)

    1:Vmware虚拟软件里面安装好Ubuntu操作系统之后使用ifconfig命令查看一下ip; 2:使用Xsheel软件远程链接自己的虚拟机,方便操作.输入自己ubuntu操作系统的账号密码之后就链 ...

  4. 大数据之Hadoop完全分布式集群搭建

    1.准备阶段 1.1.新建三台虚拟机 Hadoop完全分市式集群是典型的主从架构(master-slave),一般需要使用多台服务器来组建.我们准备3台服务器(关闭防火墙.静态IP.主机名称).如果没 ...

  5. 从零自学Hadoop(06):集群搭建

    阅读目录 序 集群搭建 监控 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一 ...

  6. centos下hadoop2.6.0集群搭建详细过程

    一 .centos集群环境配置 1.创建一个namenode节点,5个datanode节点 主机名 IP namenodezsw 192.168.129.158 datanode1zsw 192.16 ...

  7. 虚拟机下 solr7.1 cloud 集群搭建 (手动解压和官方脚本两种方式)

    准备工作: vmware workstation 12,OS使用的是ubuntu16.04,三台虚拟机搭建一个solr集群,zookeeper共用这三台虚拟机组成zookeeper集群. zookee ...

  8. hadoop namenode HA集群搭建

    hadoop集群搭建(namenode是单点的)  http://www.cnblogs.com/kisf/p/7456290.html HA集群需要zk, zk搭建:http://www.cnblo ...

  9. Hadoop完全分布式集群搭建

    Hadoop的运行模式 Hadoop一般有三种运行模式,分别是: 单机模式(Standalone Mode),默认情况下,Hadoop即处于该模式,使用本地文件系统,而不是分布式文件系统.,用于开发和 ...

随机推荐

  1. AndroidStudio使用genymotion模拟器

    安装Genymotion之前首先要安装好virtualbox这个软件 virtual官方网站:https://www.virtualbox.org/ genymotion的官方网站: https:// ...

  2. C++ Primer 第五版 一些遇到的注意点记录。

    第8章 8.2 p283 示例里有一句 ostream *old_tie = cin.tie(nullptr);//old_tie指向当前关联到cin的流 一开始不理解为什么不是无关联,查过tie() ...

  3. 微信小程序开发--页面之间的跳转

    一.navigator--完成页面之间的跳转 1.新建一个页面文件夹 2.在app.json文件中引入页面 "pages": [ "pages/index/index&q ...

  4. Java编程基础阶段笔记 day01 Java语言概述

    ​目录内容 DOS命令 电脑配置 Java语言的特性 Java两种核心机制 Java语言环境搭建 第一个Java程序 注释 Java语句说明 编程风格 作业 常用的DOS命令 dir :    列出当 ...

  5. java练习---9

    //程序员:罗元昊 2017.10.22 package cn.lyh; import com.rupeng.game.GameCore; public class L implements Runn ...

  6. web设计_5_自由的框式组件

    1. CSS3 border-radius 圆角矩形框 圆角矩形框组件是页面布局中常常用到的,利用CSS3的border-radius可非常方便的创建. 并且在横向纵向上面都有很好的扩展性和灵活性. ...

  7. 【MySQL】服务无法启动(Mac)

    如图所示: 点击 Start MySQL Server 没反应-- 终端输入 mysql 命令时报错如下: ERROR 2002 (HY000): Can't connect to local MyS ...

  8. gulp压缩js文件报错日志

    输出 gulp-uglify 压缩js文件时报错信息 gulp.task('es6', function () { return gulp.src('src/main/webapp/bower_com ...

  9. html的一些基本语法学习与实战

    其实在学校前端开始之前,问过自己为什么要学,因为自己学的比较杂,直到现在刚刚毕业出来工作了,才明确了方向了,要往嵌入式方向走,但是随着时代的发展,在编程和智能硬件结合的越来越紧密,特别是物联网这一块, ...

  10. 2019中山纪念中学夏令营-Day9[JZOJ](第六次模拟赛)

    Begin (题目的排序方式:Unkown其实是按心情排的) 异或:(摘自百度百科) 异或(xor)是一个数学运算符.它应用于逻辑运算.异或的数学符号为“⊕”,计算机符号为“xor”.其运算法则为: ...