Centos7部署hadoop 3
一:ssh免密登录:
1)vim /etc/ssh/sshd_config去掉注释或添加
RSAAuthentcation yes
PubkeyAuthentication yes
# Authentication: #LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10 RSAAuthentication yes
PubkeyAuthentication yes
2)生成密钥:
ssh-keygen -t rsa
3)复制到公钥中:
cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
4)将密钥复制到目标服务器:
ssh-copy-id 目标服务器ip
scp -p ./id_rsa.pub root@192.168.8.213:/root/.ssh/id_dsa.pub.214
cat id_dsa.pub.214 >> ~/.ssh/authorized_keys
可以把目标机的id_dsa.pub添加到本机authorized_keys文件实现免密登陆
5)编辑hosts对应文件:
vim /etc/hosts
6)测试:
ssh 目标服务器hostname或者ip
二:安装JDK
2.1)卸载系统自带的OpenJDK及相关组件:
java -version
rpm -qa | grep java
包含noarch的不删
rpm -e --nodeps java.....
java -version (确认是否删除)
2.2)下载JDK
http://download.oracle.com/otn-pub/java/jdk/10.0.1+10/fb4372174a714e6b8c52526dc134031e/jdk-10.0.1_linux-x64_bin.tar.gz
2.3)解压JDK
tar -zxvf jdk...tar.gz -c /usr/local/java
2.4)配置JDK环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
三:安装hadoop:
1)下载hadoop:
注意下载:binary
wget http://www-eu.apache.org/dist/hadoop/common/hadoop-3.0.3/hadoop-3.0.3.tar.gz
2)解压安装:
cp /root/hadoop-3.0.3-tar.gz /usr/local/hadoop/
cd /usr/local/hadoop
tar -zxvf hadoop-3.0.3-tar.gz
3)修改环境变量:
vim /etc/profile
在结尾加入:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存后退出: :qw
重新加载: source /etc/profile
4)测试hadoop安装情况:
hadoop version
四:搭建伪分布:
特点:不具备HDFS,只能测试MapRaduce
进入hadoop目录:cd /usr/local/hadoop/etc/hadoop/
修改hadoop-env.sh中 export JAVA_HOME=/usr/local/java
测试Ddemo:$JAVA_HOME/share/hadoop/mappreduce/
hadoop-mapreduce-examples-3.0.3.jar 单词数量统计工具
mkdir -p /usr/local/data/input/
mkdir -p /usr/local/data/output/
vim /usr/local/data/input/data.txt
I LOVE BEIJING
I LOVE CHINA
BEIJING IS THE CAPITAL OF CHINA
cd /usr/local/hadoop/share/hadoop/mapreduce
执行:
hadoop jar hadoop-mapreduce-examples-3.0.3.jar wordcount /usr/local/data/input/data.txt /usr/local/data/output/wc
hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.3.jar wordcount /usr/local/data/input/data.txt /usr/local/data/output/wc
输出日志:
2018-06-18 12:57:23,440 INFO mapreduce.Job: map 100% reduce 100%
cd /usr/local/data/output/wc/
-rw-r--r--. 1 root root 55 6月 18 12:57 part-r-00000
-rw-r--r--. 1 root root 0 6月 18 12:57 _SUCCESS
vim part-r-00000
BEIJING 2
CAPITAL 1
CHINA 2
I 2
IS 1
LOVE 2
OF 1
THE 1
mapreduce按字典顺序排序
五:伪分布模式:
具备hadoop的所有功能,在单机上可以模拟一个分布式环境:
HDFS:主:NameNode;数据节点:DataNode
Yarn:容器,运行MapReduce
主节点:ResourceManager
从节点:NodeManager
5.1)配置hdfs-site.xml
cd /usr/local/hadoop/etc/hadoop/
vim hdfs-site.xml
<configuration>
<!--namenode上存储hdfs名字空间元数据-->
<property>
<name>dfs.name.dir</name>
<value>/usr/hadoop/hdfs/name</value>
</property>
<!--datanode上数据块的物理存储位置-->
<property>
<name>dfs.data.dir</name>
<value>/usr/hadoop/hdfs/data</value>
</property>
<!--配置冗余度-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--配置是否有检查权限-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
5.2)配置core-site.xml 文件
vim core-site.xml
<configuration>
<!--配置HDFS的NameNode-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.8.214:9000</value>
</property>
<!--配置HDFS的DataNode保存数据的路径-->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
5.3)配置mapred-site.xml
vim mapred-site.xml
<configuration>
<!--配置mapreduce运行的框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5.4)配置yarn-site.xml
vim yarn-site.xml
<configuration>
<!--配置ResourceManager运行的IP-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.8.214</value>
</property>
<!--配置NodeManager执行任务的方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--配置mr管理界面的登录接口-->
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.8.214:8099</value>
</property>
</configuration>
5.5)格式化 NameNode
hdfs namenode -format
输出:
INFO common.Storage: Storage directory /usr/local/hadoop/tmp/dfs/name has been successfully formatted.
为格式化成功!
5.6)增加用户定义:cd /usr/local/hadoop/sbin
vim start-dfs.sh
vim stop-dfs.sh
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
如以上报错
WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.
则用:
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
不修改会报错:ERROR: Attempting to operate on hdfs namenode as root
5.7)增加用户定义:cd /usr/local/hadoop/sbin
vim start-yarn.sh
vim stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
不修改会报错:ERROR: Attempting to operate on yarn resourcemanager as root
5.8)启动:
start-all.sh
HDFS:存储数据
Yarn:执行计算
5.9)访问:
命令行
Java API
Web Console:
HDFS:http://192.168.8.214:50070
Yarn:http://192.168.8.214:8088
如果发现不能访问50070端口,可进行如下设置
vi /etc/selinux/config
修改:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing 为:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
#SELINUX=enforcing
SELINUX=disabled
设置默认访问端口:
cd /usr/local/hadoop/etc/hadoop
vim maperd-site.xml 添加:
<property>
<name>mapred.job.tracker.http.address</name>
<value>192.168.8.214:</value>
</property> <property>
<name>mapred.task.tracker.http.address</name>
<value>192.168.8.214:</value>
</property>
vim hdfs-site.xml 添加:
<property>
<name>dfs.http.address</name>
<value>192.168.8.214:</value>
</property>
然后停止所有进程:
stop-all.sh
删除name、data文件夹下数据:
rm -rf /usr/local/hadoop/hdfs/data/*
rm -rf /usr/local/hadoop/hdfs/name/*
重新格式化:
hdfs namenode -format
重新启动后访问正常:
start-all.sh
执行:jps 有如下输出为正常:
NodeManager
Jps
DataNode
NameNode
SecondaryNameNode
ResourceManager
浏览器访问:192.168.8.214:50070
参阅:
http://study.163.com/course/courseLearn.htm?courseId=1005536048#/learn/video?lessonId=1052769176&courseId=1005536048
https://blog.csdn.net/maiduiyizu/article/details/79605510
https://blog.csdn.net/coffeeandice/article/details/78879151
https://blog.csdn.net/u013725455/article/details/70147331
Centos7部署hadoop 3的更多相关文章
- CentOS7 部署 Hadoop 3.2.1 (伪分布式)
CentOS: Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 ...
- Docker部署Hadoop集群
Docker部署Hadoop集群 2016-09-27 杜亦舒 前几天写了文章"Hadoop 集群搭建"之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Doc ...
- ambari部署Hadoop集群(2)
准备本地 repository 1. 下载下面的包 wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.3 ...
- 使用docker部署hadoop集群
最近要在公司里搭建一个hadoop测试集群,于是采用docker来快速部署hadoop集群. 0. 写在前面 网上也已经有很多教程了,但是其中都有不少坑,在此记录一下自己安装的过程. 目标:使用doc ...
- [原]CentOS7部署osm2pgsql
转载请注明原作者(think8848)和出处(http://think8848.cnblogs.com) 部署Postgresql和部署PostGis请参考前两篇文章 本文主要参考GitHub上osm ...
- centos7 部署ssserver
centos7 部署shadowsocks服务端 为什么要选centos7? 以后centos7 肯定是主流,在不重要的环境还是尽量使用新系统吧 centos7 的坑 默认可能会有firewall 或 ...
- 使用Ambari快速部署Hadoop大数据环境
使用Ambari快速部署Hadoop大数据环境 发布于2013-5-24 前言 做大数据相关的后端开发工作一年多来,随着Hadoop社区的不断发展,也在不断尝试新的东西,本文着重来讲解下Amb ...
- Centos7中hadoop配置
Centos7中hadoop配置 1.下载centos7安装教程: http://jingyan.baidu.com/article/a3aad71aa180e7b1fa009676.html (注意 ...
- Hadoop环境搭建--Docker完全分布式部署Hadoop环境(菜鸟采坑吐血整理)
系统:Centos 7,内核版本3.10 本文介绍如何从0利用Docker搭建Hadoop环境,制作的镜像文件已经分享,也可以直接使用制作好的镜像文件. 一.宿主机准备工作 0.宿主机(Centos7 ...
随机推荐
- lncRNA表达定量方法评估
见文章:Benchmark of lncRNA Quantification for RNA-Seq of Cancer Samples Overall, 10-16% of lncRNAs can ...
- HTTP Status 405 - HTTP method GET is not supported by this URL
问题概述: 借助MyEclipse直接建立了一个Servlet类,每次访问这个Servlet都能访问.可自己建立一个Servlet为什么总提示:HTTP Status 405 - HTTP metho ...
- 胜利大逃亡 HDU - 1253
Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会. 魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示成A个B*C的矩阵,刚开始Ignatius被关在(0 ...
- CF438D 线段树 区间求和,区间求膜,单点更新
题目链接 题目大意: 给定一个长度为n的序列,要求能够执行m次下列操作: 1.查询区间[l,r]的和 2.将区间[l,r]的每一个数%=mod 3.修改第x个数为y 操作1,3都是线段树的基本操作,线 ...
- 2018 USP Try-outsF - Optimizing Transportation in Portugal
题意:给你一副无向图,求使s到t删掉一条的最短路最大的长度 题解:先预处理s,t到每个点的最短路,二分答案,对于一条边,如果选中这条边,那么对于s->u+u->v+v->t或者s-& ...
- C# 4.0 可选参数 和 命名参数
可选参数 可选参数是 C# 4.0 提出来的,当我们调用方法,不给这个参数(可选参数)赋值时,它会使用我们定义的默认值. 需要注意的是: (1)可选参数必须位于所有必选参数的后面: (2)可选参数必须 ...
- Oracle 11g 异机恢复参考文档
原库 目标库 操作系统 CentOS 6.4 CentOS 6.4 主机名 sht-sgmhadoopnn-01 sht-sgmhadoopnn-02 IP 172.16.101.55 172.1 ...
- python中RabbitMQ的使用(交换机,广播形式)
简介 如果要让每个接收端都能收到消息,此时需要将消息广播出去,需要使用交换机. 工作原理 消息发送端先将消息发送给交换机,交换机再将消息发送到绑定的消息队列,而后每个接收端都能从各自的消息队列里接收到 ...
- express中app.get和app.use的解析
app.get(path,callback)中的callback只能是函数 app.use(path,callback)中的callback既可以是router对象又可以是函数 当其是router对象 ...
- vue组件生命周期详解
Vue所有的生命周期钩子自动绑定在this上下文到实例中,因此你可以访问数据,对属性和方法进行运算.这意味着你不能使用箭头函数来定义一个生命周期方法.这是因为箭头函数绑定了父上下文,因此this与你期 ...