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 ...
随机推荐
- 雷林鹏分享:XML 元素
XML 元素 XML 文档包含 XML 元素. 什么是 XML 元素? XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分. 一个元素可以包含: 其他元素 文本 属性 或混合以上所有. ...
- Zabbix安装(debian,centos)
lnmp和lamp架构搭建一键安装脚本下载地址:https://lnmp.org/download.html https://github.com/teddysun/lamp/tree/master ...
- LeetCode--006--Z字型变换(java)
将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I R E T ...
- node初学者笔记
helloworld 编辑一个js文件——在该文件所属目录打开命令行cmd——输入'node -v可查看版本——输入'node 00-hellowolrd.js(你的js名字)' 或者直接在文件所属 ...
- DFS CCPC2017 南宁I题
The designers have come up with a new simple game called “Rake It In”. Two players, Alice and Bob, i ...
- rancher2.x添加node的坑。
启动rancher server后,添加一台新节点为k8s的节点.设置如下 ps:worker:k8s的agent端 control:k8s的第二个master etcd:第二个etcd 坑1:节点上 ...
- activiti部署流程定义时出错:INSERT INTO ACT_GE_BYTEARRAY,修改数据库编码
activiti部署流程定义时出错 // 部署流程定义 Deployment deployment = deploymentBuilder.deploy(); 错误信息:(有乱码的...没留下截图.. ...
- ie8不支持currentTarget的解决办法
一般绑定事件时,我们都会在事件回调方法里用event.currentTarget获取当前对象,但到ie8里就获取不到了. 解决方法如下: var eve = event || window.event ...
- eclipse启动自己添加的tomcat时tomcat的webapps下没有项目
启动项目后去Tomcat webapps找对应文件夹,发现没有,Eclipse 默认不往本地Tomcat部署. 1.eclipse不像MyEclipse默认将项目部署到tomcat安装目录下的weba ...
- MySQL5.6复制技术(1)-原理详解
SQL复制功能介绍 MySQL内建的复制功能是构建大型,高性能应用程序的基础.这类应用使用所谓的“水平扩展”的架构.我们可以通过为服务器配置一个或多个备库的方式来进行数据同步,将MySQL的数据分布到 ...