hadoop一主一从部署(1)
一、安装前说明
主机IP:192.168.132.128
从机IP:192.168.132.129
1. 所有的安装包我放在了/root/这个目录下,你要根据自己情况去修改,这点必须注意
2. 采用的安装包如下
jdk-7u79-linux-x64.tar.gz,hadoop-2.8.0.tar.gz
3. 采用的Linux系统是centos7.0
4. 文中命令如果没有强调,默认在两台机子上都执行相同的命令
二、安装步骤
1 配置免密登录
执行命令ssh-keygen
一直按回车键即可。
主机执行命令ssh-copy-id root@192.168.132.129
从机执行命令ssh-copy-id root@192.168.132.128
按照要求输入yes,和密码
2 验证免密登录
主机执行命令 ssh 192.168.132.129
正常情况是不需要输入密码就可以登录,验证成功之后执行exit命令退出远程登录。
同样的操作在从机执行一遍,从机执行命令 ssh 192.168.132.128。
3 在/etc/hosts这个文件下加入如下两行:
192.168.132.128 master
192.168.132.129 slaver
4 解压jdk和Hadoop,并将其添加到环境变量
tar zxvf jdk-7u79-linux-x64.tar.gz
tar zxvf hadoop-2.8.0.tar.gz
在/etc/profile下写入如下代码(我的路径放在/root/下,你要改成自己的路径):
export JAVA_HOME=/root/jdk1.7.0_79
export HADOOP_HOME=/root/hadoop-2.8.0
export PATH=$PATH:$JAVA_HOME/bin
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
执行命令 source /etc/profile使环境变量生效
5 创建必要的目录用来存放数据和一些临时文件(这些目录会在配置文件中用到)
mkdir tmp dfs
mkdir dfs/data dfs/name
6 对Hadoop的配置文件进行修改
执行命令cd /root/hadoop-2.8.0/etc/hadoop/
将hadoop-env.sh,yarn-env.sh,mapred-env.sh文件中的JAVA_HOME的值改成
/root/jdk1.7.0_79
觉得手动修改麻烦的也可以采用如下三个命令:
sed -i '/^export JAVA_HOME=${JAVA_HOME}/ s/JAVA_HOME=${JAVA_HOME}/JAVA_HOME=\/root\/jdk1.7.0_79/g' hadoop-env.sh
sed -i '/^#.*export JAVA_HOME=.*/ s/^.*$/export JAVA_HOME=\/root\/jdk1.7.0_79/g' yarn-env.sh
sed -i '/^#.*export JAVA_HOME=.*/ s/^.*$/export JAVA_HOME=\/root\/jdk1.7.0_79/g' mapred-env.sh
7 对Hadoop的core-site.xml这个配置文件进行修改,执行命令
sed -i '/<.*configuration>/d' core-site.xml
上述命令是将原先的配置文件进行清理,然后执行如下命令写入新的配置文件(这个配置文件主机从机没区别,全部用主机的IP):
cat >> core-site.xml << EOF
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/root/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131702</value>
</property>
</configuration>
EOF
8 对Hadoop的配置文件hdfs-site.xml,(这里主机和从机的配置文件略有区别)执行命令:
sed -i '/<.*configuration>/d' hdfs-site.xml
上述命令是将原先的配置文件进行清理,然后在从机上!!(如果是主机,需要把下面配置文件中的slaver改成master,因为这个配置文件主机和从机略有区别,这个配置文件主机和从机用自己的IP,)执行如下命令写入新的配置文件:
cat >> hdfs-site.xml << EOF
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/root/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/root/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slaver:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
EOF
9 对Hadoop的配置文件mapred-site.xml进行修改
执行命令mv mapred-site.xml.template mapred-site.xml
执行命令sed -i '/<.*configuration>/d' mapred-site.xml
在从机上执行如下一大段命令(如果是主机,把slaver改成master,因为这个配置文件主机从机有区别,这个配置文件用自己的IP):
cat >> mapred-site.xml << EOF
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>slaver:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>slaver:19888</value>
</property>
</configuration>
EOF
10 对Hadoop配置文件yarn-site.xml进行修改
执行命令:sed -i '/<.*configuration>/d' yarn-site.xml
执行如下一大段命令(这个配置文件主机从机没区别,都用主机的):
cat >> yarn-site.xml << EOF
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>4096</value>
</property>
</configuration>
EOF
11 对Hadoop配置文件slavers进行修改
将里面的localhost删除
写入 slaver
至此,Hadoop搭建初步完成,下一篇博文会简单介绍Hadoop初始化以及简单的使用。本代码已经过多次测试,如果出现问题
- 检查绝对路径
- 检查是否疏漏一些命令
hadoop一主一从部署(1)的更多相关文章
- Hadoop一主一从部署(2)
Hadoop部署一主一从(2) 1.关闭防火墙和Linux守护进程 执行命令: iptables -F setenforce 0 2.对Hadoop集群进行初始化,在namenode(主机)上执行命令 ...
- Hadoop 2.2.0部署安装(笔记,单机安装)
SSH无密安装与配置 具体配置步骤: ◎ 在root根目录下创建.ssh目录 (必须root用户登录) cd /root & mkdir .ssh chmod 700 .ssh & c ...
- Hadoop生态圈-离线方式部署Cloudera Manager5.15.1
Hadoop生态圈-离线方式部署Cloudera Manager5.15.1 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 到目前位置,Cloudera Manager和CDH最新 ...
- Hadoop生态圈-HUE环境部署
Hadoop生态圈-HUE环境部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HUE简介 1>.HUE的由来 HUE全称是HadoopUser Experienc ...
- Hadoop分布式集群部署(单namenode节点)
Hadoop分布式集群部署 系统系统环境: OS: CentOS 6.8 内存:2G CPU:1核 Software:jdk-8u151-linux-x64.rpm hadoop-2.7.4.tar. ...
- Hadoop教程(五)Hadoop分布式集群部署安装
Hadoop教程(五)Hadoop分布式集群部署安装 1 Hadoop分布式集群部署安装 在hadoop2.0中通常由两个NameNode组成,一个处于active状态,还有一个处于standby状态 ...
- 1.Hadoop集群安装部署
Hadoop集群安装部署 1.介绍 (1)架构模型 (2)使用工具 VMWARE cenos7 Xshell Xftp jdk-8u91-linux-x64.rpm hadoop-2.7.3.tar. ...
- Hadoop记录-Apache hadoop+spark集群部署
Hadoop+Spark集群部署指南 (多节点文件分发.集群操作建议salt/ansible) 1.集群规划节点名称 主机名 IP地址 操作系统Master centos1 192.168.0.1 C ...
- 2 Hadoop集群安装部署准备
2 Hadoop集群安装部署准备 集群安装前需要考虑的几点硬件选型--CPU.内存.磁盘.网卡等--什么配置?需要多少? 网络规划--1 GB? 10 GB?--网络拓扑? 操作系统选型及基础环境-- ...
随机推荐
- POJ -棋盘问题
棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 60815 Accepted: 29135 Descriptio ...
- 重载与重写的区别----https://blog.csdn.net/zhu_apollo/article/details/1852542
重载 overloading 1) 方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型.重载是一个类中多态性的一种表现. ...
- Leetcode 99.恢复二叉搜索树
恢复二叉搜索树 二叉搜索树中的两个节点被错误地交换. 请在不改变其结构的情况下,恢复这棵树. 示例 1: 输入: [1,3,null,null,2] 输出: [3,1,null,null,2] 示例 ...
- html to canvas
html to canvas Screenshots https://html2canvas.hertzen.com/ https://github.com/niklasvh/html2canvas ...
- FZU 2109 Mountain Number
http://acm.fzu.edu.cn/problem.php?pid=2109 题意:找出区间[l,r]内满足奇数位的数字大于相邻偶数位数字的个数. 典型的数位dp了,记录一下当前位是奇数位还是 ...
- noip模拟赛 都市
分析:是一道非常有意思的题,30分的暴力的话枚举每个位置是什么数,然后排个序,用map判一下重就好了,比较麻烦. 满分做法显然不可能讨论每个位置所有的情况,肯定是有规律的,现将这n*(n-1)/2个数 ...
- Stealing Harry Potter's Precious BFS+DFS
Problem Description Harry Potter has some precious. For example, his invisible robe, his wand and hi ...
- 学习——Git及VersionControl
一.Git基本介绍 1.Git是什么? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.用以有效.高速的处理从很小到非常大的项目版本管理.Git 是 Linus To ...
- SiteMesh2-标签库
SiteMesh包括两大标签库. 一.Decorator Tags:被用于建立装饰器页面. 1.<decorator:head/> 插入原始页面(被包装页面)的head标签中的内容(不包 ...
- 菜鸟nginx源代码剖析 框架篇(一) 从main函数看nginx启动流程
菜鸟nginx源代码剖析 框架篇(一) 从main函数看nginx启动流程 Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.c ...