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 ...
随机推荐
- Objective-C 学习笔记(三) Numbers/数字
Objective-C Numbers/数字 Objective-C中提供了一系列的NSNumber和重要的工作方法: + (NSNumber *)numberWithBool:(BOOL)value ...
- 使用python登录CNZZ访问量统计网站,然后获取相应的数据
思路: 第一步:使用pypeteer.launcher打开浏览器, 第二步:向CNZZ的登录(通过使用iframe嵌入的阿里巴巴单点登录页面),向iframe页面中自动输入用户名和密码,然后点击登录按 ...
- eayui js动态加载Datagrid,自适应宽度,高度
HTML: <div class="easyui-layout" style="min-height:100%;min-width:100%;"> ...
- Visual Studio Code 基本操作 - Windows 版
1.Install the .NET SDK 2.Create app: dotnet new console -o myApp cd myApp 3.Run your app:dotnet run
- swagger 在本地正常调试 发布后出现500 : {"Message":"出现错误。"}
点击项目属性 勾上xml 解决
- ASP.NET WebApi总结之自定义权限验证
在.NET中有两个AuthorizeAttribute类, 一个定义在System.Web.Http命名空间下 #region 程序集 System.Web.Http, Version=5.2.3.0 ...
- API接口安全加强设计方法
前面两篇相关文章: <Web Api 内部数据思考 和 利用http缓存优化 Api> <Web Api 端点设计 与 Oauth> 1.开放的接口 这样的接口我们天天都在接触 ...
- 深入了解java虚拟机(JVM) 第十一章 类的加载
一.类加载机制概述 虚拟机把描述类的数据从class文件加载到内存并对数据进行效验,解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制. 二.类加载的机制 类加载的过程 ...
- LOJ#2070. 「SDOI2016」平凡的骰子(计算几何)
题面 传送门 做一道题学一堆东西不管什么时候都是美好的体验呢-- 前置芝士 混合积 对于三个三维向量\(a,b,c\),定义它们的混合积为\((a\times b)\cdot c\),其中$\time ...
- oracle常用cmd命令
登陆 sqlplus username/password; 切换: conn username/password; 显示当前登陆用户: show user; 查看用户列表 select usernam ...