hadoop 分布式安装
一、虚拟机安装centos7需要显示IPv4地址时设置
修改ip addr 中显示ipv4
- 修改 ONBOOT=no 为 ONBOOT=yes,
- 同时需要添加HWADDR=00:0c:29:c8:b6:a7,其中后缀mac地址需要填写ip addr中ech33的ip6的mac 00:0c:29:3a:18:15
- systemctl stop NetworkManager systemctl disable NetworkManager
- service network restart 启动OK
二、安装jdk,这里安装版本jdk1.8.0_192.
# 文件解压
tar zxvf jdk-8u192-linux-x64.tar.gz
# 移动文件到指定目录下
mv jdk1.8.0_192 /opt/
# 编辑文件在最后插入三条信息
vim /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_192
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
# 重启配置文件
source /etc/profile
三、安装hadoop3
有两台设备安装hadoop3主机配置:
名称 | 地址 | 描述 |
---|---|---|
mpi-1 | 192.168.2.138 | centos7配置,为主节点 |
mpi-2 | 192.168.2.20 | 子节点 |
解压文件并编辑环境变量
tar zxvf hadoop-3.1.1.tar.gz
mkdir /opt/hadoop-3.1.1/app
mkdir /opt/hadoop-3.1.1/data
mkdir /opt/hadoop-3.1.1/log
mv hadoop-3.1.1/* /opt/hadoop-3.1.1/app/
# 设置权限
sudo chmod -R 777 /opt/hadoop-3.1.1/data
# 配置环境变量
vim /etc/profile
//在文件最后添加
export HADOOP_HOME=/opt/hadoop-3.1.1/app
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile //刷新配置
1. 防火墙设置:虚拟机必须都关闭防火墙才能启动集群
Systemctl status firewalld.service 检查状态
Systemctl stop firewalld.service 关闭
Systemctl disable firewalld.service 防止开机自启
2. 然后修改hosts文件:
sudo vim /etc/hosts
根据以上查得的IP地址,在两台机器的hosts文件中均输入以下内容并保存:
192.168.2.138 mpi-1
192.168.2.20 mpi-2
测试: 在mpi-1服务上ping mpi-2
3. ssh 免密登录
3.1 两台设备都需要修改/etc/ssh/ssh_config文件的配置
最后面添加:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
3.2 在各个文件中执行
(1)ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa (每台设备都执行)
(2)cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys //认证(主节点上执行该步后可以保证本机免密登录,使用ssh mpi-1进行测试)
(3)把各子节点的 id_rsa.pub 传到主节点
scp id_rsa.pub root@mpi-1:~/.ssh/id_rsa.pub.mpi-2(这里我们把mpi-1看作主节点,将mpi-2节点的钥匙文件传到node1上)
(4)在主节点上操作
cat ~/.ssh/id_rsa.pub.mpi-2 >> ~/.ssh/authorized_keys//认证
scp authorized_keys ubuntu@mpi-2:~/.ssh/authorized_keys//将认证文件传回每个子节点
(5)验证无密码登录
在mpi-1节点上执行:ssh mpi-2
4. 创建文件目录
mkdir /opt/hadoop-3.1.1/data/tmp
mkdir /opt/hadoop-3.1.1/data/dfs
mkdir /opt/hadoop-3.1.1/data/dfs/data
mkdir /opt/hadoop-3.1.1/data/dfs/name
5. 配置Hadoop
进入hadoop-3.0.0的配置目录:cd /home/ubuntu/hadoop/hadoop-3.0.0/etc/hadoop,依次修改hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml以及workers文件。
5.1 配置 hadoop-env.sh
vim hadoop-env.sh
export JAVA_HOME=/opt/jdk1.8.0_192 //在hadoop-env.sh中找到 JAVA_HOME,配置成对应安装路径
5.2 配置 core-site.xml (根据自己节点进行简单修改即可)
vim core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://mpi-1:9000</value>
<description>HDFS的URI,文件系统://namenode标识:端口号</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-3.1.1/data/tmp</value>
<description>namenode上本地的hadoop临时文件夹</description>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
<description>Size of read/write buffer used in SequenceFiles</description>
</property>
</configuration>
5.3 配置 hdfs-site.xml
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
<description>Hadoop的备份系数是指每个block在hadoop集群中有几份,系数越高,冗余性越好,占用存储也越多</description>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///opt/hadoop-3.1.1/data/dfs/name</value>
<description>namenode上存储hdfs名字空间元数据 </description>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///opt/hadoop-3.1.1/data/dfs/data</value>
<description>datanode上数据块的物理存储位置</description>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>mpi-1:50090</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>true</value>
<description>dfs.permissions配置为false后,可以允许不要检查权限就生成dfs上的文件,方便倒是方便了,但是你需要防止误删除,请将它设置为true,或者直接将该property节点删除,因为默认就是true</description>
</property>
</configuration>
5.4 配置 mapred-site.xml
vim mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<description>The runtime framework for executing MapReduce jobs. Can be one of local, classic or yarn.</description>
<final>true</final>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>mpi-1:50030</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>mpi-1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>mpi-1:19888</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>http://mpi-1:9001</value>
</property>
</configuration>
5.5 配置 yarn-site.xml
vim yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>mpi-1</value>
<description>The hostname of the RM.</description>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>mpi-1:8032</value>
<description>${yarn.resourcemanager.hostname}:8032</description>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>mpi-1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>mpi-1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>mpi-1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>mpi-1:8088</value>
</property>
</configuration>
5.6 配置 workers 文件(之前版本是slaves,注意查看)
vim workers
添加
mpi-1
mpi-2
5.7 将配置文件复制到子节点中
scp -r hadoop-3.1.1 root@192.168.2.20:/opt/
复制到其他节点后,需要配置hadoop的环境变量
5.8 将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
6. 运行Hadoop集群
6.1 格式化namenode(主节点)
hdfs namenode -format //第一次使用hdfs,必须对其格式化(只需格式化一次)
6.2 启动Hadoop
start-dfs.sh
start-yarn.sh
6.3 查看集群是否成功启动
jps命令查看
在浏览器输入192.168.2.138:9870,结果如下:
测试YARN
在浏览器输入192.168.2.138:8088,结果如下:
注:将绑定IP或mpi-1改为0.0.0.0,而不是本地回环IP,这样,就能够实现外网访问本机的8088端口了。比如这里需要将yarn-site.xml中的
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>mpi-1:8088</value>
</property>
修改为:
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>0.0.0.0:8088</value>
</property>
hadoop 分布式安装的更多相关文章
- hadoop分布式安装教程(转)
from:http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html 1.集群部署介绍 1.1 Hadoop简介 Hadoop是Ap ...
- hadoop分布式安装过程
一.安装准备及环境说明 1.下载hadoop-1.2.1,地址:http://apache.spinellicreations.com/hadoop/common/stable/hadoop-1.2. ...
- Hadoop分布式安装
一.安装准备 1.下载hadoop,地址:http://hadoop.apache.org/,下载相应版本 2.下载JDK版本:Hadoop只支持1.6以上,地址:ht ...
- hadoop分布式安装部署详细视频教程(网盘附配好环境的CentOS虚拟机文件/hadoop配置文件)
参考资源下载:http://pan.baidu.com/s/1ntwUij3视频安装教程:hadoop安装.flvVirtualBox虚拟机:hadoop.part1-part5.rarhadoop文 ...
- hadoop分布式安装及其集群配置笔记
各机器及角色信息: 共10台机器,hostname与ip地址映射在此不做赘述.此为模拟开发环境安装,所以不考虑将NameNode和SecondaryNameNode安装在同一台机器. 节点 角色 na ...
- hadoop分布式安装部署具体视频教程(网盘附配好环境的CentOS虚拟机文件/hadoop配置文件)
參考资源下载:http://pan.baidu.com/s/1ntwUij3视频安装教程:hadoop安装.flvVirtualBox虚拟机:hadoop.part1-part5.rarhadoop文 ...
- CentOS7 分布式安装 Hadoop 2.8
1. 基本环境 1.1 操作系统 操作系统:CentOS7.3 1.2 三台虚拟机 172.20.20.100 master 172.20.20.101 slave1 172.20.20.102 sl ...
- hadoop 完全分布式安装
一个完全的hadoop分布式安装至少需要3个zookeeper,3个journalnode,3个datanode,2个namenode组成. 也就是说需要11个节点,但是我云主机有限,只有3个,所以把 ...
- hadoop生态圈安装详解(hadoop+zookeeper+hbase+pig+hive)
-------------------------------------------------------------------* 目录 * I hadoop分布式安装 * II zoo ...
随机推荐
- [label][JavaScript] 自动填充内容的JavaScript 库
一个帮助你针对不同标签自动填入内容的轻量级javascript类库 - fixiejs http://www.gbtags.com/technology/javascript/20120802-fix ...
- 初尝2D骨骼动画编辑工具SPINE,并into Unity3D
一.SPINE使用 研究2D骨骼动画,CYou的朋友介绍我SPINE这个工具,开发自Esoteric Software的一款专门制作2D动画的软件,网络上的资料还很少,我这从半吊子美术技术的角度简单说 ...
- 在Github注册账户
https://github.com/JasonHaoz
- 微服务中的健康监测以及其在ASP.NET Core服务中实现运行状况检查
1 .什么是健康检查? 健康检查几乎就是名称暗示的.它是一种检查您的应用程序是否健康的方法.随着越来越多的应用程序转向微服务式架构,健康检查变得尤其重要(Health Check).虽然微服务架构有很 ...
- 国际时区 TimeZone ID列表
public static void main(String[] args) { Calendar c = new GregorianCalendar(); c.setTime(new Date()) ...
- 在没Hadoop 、GP 前提下怎么进行实时数据统计。
最近着手个项目,整体数据量有5亿多,每个月增量9000w.应用场景是Oltp 根据用户id直接计算各种维度值. 因为是Oltp 场景,直接根据用户id %2000分(方便后续横向扩展),有些喜欢扯分区 ...
- Ubuntu 12.04 Openssh 安装过程
1.输入 apt-get install openssh-server 注意 出现依赖 需要使用 查看依赖是否需要,如果不需要可以直接删除,sudo apt-get remove XXXX 或者sud ...
- 用MVC5+EF6+WebApi 做一个小功能(一)开场挖坑,在线答题系统
从哪开始说呢,这几年微软的技术一直在变,像是牟足了劲要累死所有的NET程序员,从WebForm到MVC到现在MPA.SPA .Razor单页,从net2.0一直走到现在.net4.6.2,后面还有一个 ...
- AI下载步骤
ai下载地址:https://www.adobe.com/cn/creativecloud/catalog/desktop.html?promoid=PTYTQ77P&mv=other 破解器 ...
- 【timeisprecious】【JavaScript 】JavaScript对象
JavaScript 对象 var a=[];console.log(new Boolean(a)); VM1319: Boolean {true} undefined var a=[];consol ...