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. git的使用之eclipse Hbuilder

    工欲善其事,必先利其器 eclipse使用git管理项目 准备 eclipse 码云(github)账号 下载插件 首先电脑已经安装好git了,然后在eclipse中下载git的插件. 打开eclip ...

  2. Java 读写 excel 实战完全解析

    本文微信公众号「AndroidTraveler」首发. 背景 时值毕业季,很多毕业生初入职场. 因此,这边也写了一些新手相关的 Android 技术点. 比如上一篇的 Android 开发你需要了解的 ...

  3. Java 虚拟机部分面试题

    Java虚拟机部分的面试内容包括三部分:GC.类加载机制以及内存 Java内存区域 JVM内存分为哪几部分,这些部分分别都存储哪些数据? 线程隔离的数据区:程序计数器.Java虚拟机栈.本地方法栈. ...

  4. Ansible CMDB

    Ansible CMDB CMDBAnsible-CMDB CMDB 文章目录 1. 简介 2. 安装 2.1. 1. 安装 ansible 2.2. 2. 下载并安装 ansible-cmdb 3. ...

  5. Java NIO学习系列六:Java中的IO模型

    前文中我们总结了linux系统中的5中IO模型,并且着重介绍了其中的4种IO模型: 阻塞I/O(blocking IO) 非阻塞I/O(nonblocking IO) I/O多路复用(IO multi ...

  6. 【iOS】PLA 3.3.12

    发件人 Apple Program License Agreement PLA We found that your app uses the Advertising Identifier but d ...

  7. tab切换echarts无法正常显示问题

    项目中使用到了Echarts来在展示图表,两个tab切换页面中都存在图表,页面加载完成后 对所有图表进行了初始化和绘制,然后切换查看时,发现图表的宽度不正确.,第一个tab显示是很正常的,但是第二个t ...

  8. JSON在线格式化 jsoneditor使用

    const placeholder = { string: 'hello world!', boolean: true, color: '#6c928c', number: 123, null: nu ...

  9. Django中自定义admin---Xadmin的实现

    在Django框架中,自带一个后台管理页面admin,这个管理页面很全,但是,有些并不是我们需要的,所以我们可以根据admin的实现流程来自定义自己的需求,即根据admin的实现方式来实现自定制--X ...

  10. Python基础总结之初步认识---class类的继承(终)。第十六天开始(新手可相互督促)

    最近生病了,python更新要结束了,但是这才是真正的开始.因为后面要更新的是UnitTest单元测试框架,以及后续的Requests库.在后续的笔记会补充一些python的其他细节笔记.我想是这样的 ...