Hadoop集群配置搭建
环境:Centos 6.9,Hadoop 2.7.1,JDK 1.8.0_161,Maven 3.3.9
前言:
1、配置一台master服务器,两台或多台slave服务器。
2、master可以无密码ssh登陆slave
3、解压安装Hadoop,配置hadoop的core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml文件,配置好之后启动hadoope服务,用jps命令查看状态;
4、运行hadoop自带的wordcount程序做一个Hello World实例
开始配置
第一步 配置hosts
获得它们的IP地址,并设置主机名,(根据实际IP地址和主机名)修改/etc/hosts文件内容为:
192.168.110.66 master.hadoop
192.168.110.67 slave1.hadoop
192.168.110.68 slave2.hadoop
重启后。host生效。
第二步 ssh免密登陆
全程用的都是root用户,没有另外创建用户。每台服务器都生成公钥,再合并到authorized_keys。
1) CentOS默认没有启动ssh无密登录,去掉/etc/ssh/sshd_config其中2行的注释,每台服务器都要设置。
查找
#RSAAuthentication yes #PubkeyAuthentication yes
删除前面的井号注释。
2) 输入命令,ssh-keygen -t rsa,生成key,都不输入密码,一直回车,/root就会生成.ssh文件夹,每台服务器都要设置
3) 合并公钥到authorized_keys文件,在master服务器,进入/root/.ssh目录,通过SSH命令合并,(~/.ssh/id_rsa.pub 是省略的写法,要根据实际路径来确定)
cat id_rsa.pub>> authorized_keys ssh root@192.168.110.67 cat ~/.ssh/id_rsa.pub >> authorized_keys ssh root@192.168.110.68 cat ~/.ssh/id_rsa.pub >> authorized_keys
如果出现 ssh command not found
就yum装一个ssh
4) 把master服务器的authorized_keys、known_hosts复制到slave服务器的/root/.ssh目录
scp -r /root/.ssh/authorized_keys root@192.168.110.67:/root/.ssh/ scp -r /root/.ssh/known_hosts root@192.168.110.67:/root/.ssh/scp -r /root/.ssh/authorized_keys root@192.168.110.68:/root/.ssh/ scp -r /root/.ssh/known_hosts root@192.168.110.68:/root/.ssh/
5) 完成后,ssh root@192.168.110.67、ssh root@192.168.110.68或者(ssh root@slave1.hadoop、ssh root@slave2.hadoop ) 就不需要输入密码直接登录到其他节点上。
第三步安装JDK
参考 centos yum安装jdk
tar包安装方式
1) 在/home目录下创建java目录,然后使用rz命令,上传“jdk-7u79-linux-x64.gz”到/home/java目录下,
2) 解压,输入命令,tar -zxvf jdk-7u79-linux-x64.gz
3) 编辑 /etc/profile,在其末尾添加以下内容:
export JAVA_HOME=/home/java/jdk1.7.0_79 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin
4) 使配置生效,输入命令,source /etc/profile
5) 输入命令,java -version,完成
第四步安装Hadoop
将主从节点上传好的hadoop解压。,输入命令,tar -xzvf hadoop-2.7.3.tar.gz
在/home/hadoop目录下创建数据存放的文件夹,tmp、dfs、dfs/data、dfs/name(hdfs-site.xml文件中会用到)
修改配置文件
1./root/hadoop/etc/hadoop目录下的core-site.xml
1 <configuration> 2 <property> 3 <name>fs.default.name</name> 4 <value>hdfs://master.hadoop:9000</value> 5 </property> 6 <property> 7 <name>hadoop.tmp.dir</name> 8 <value>/root/hadoop/tmp</value> 9 </property> 10 <property> 11 <name>io.file.buffer.size</name> 12 <value>131702</value> 13 </property> 14 </configuration>
2.配置/root/hadoop/etc/hadoop目录下的hdfs-site.xml
1 <configuration> 2 <property> 3 <name>dfs.namenode.name.dir</name> 4 <value>file:///root/hadoop/dfs/name</value> 5 </property> 6 <property> 7 <name>dfs.datanode.data.dir</name> 8 <value>file:///root/hadoop/dfs/data</value> 9 </property> 10 <property> 11 <name>dfs.replication</name> 12 <value>1</value> 13 </property> 14 <property> 15 <name>dfs.namenode.secondary.http-address</name> 16 <value>master.hadoop:50090</value> 17 </property> 18 <property> 19 <name>dfs.webhdfs.enabled</name> 20 <value>true</value> 21 </property> 22 </configuration>
3.配置/root/hadoop/etc/hadoop目录下的mapred-site.xml
1 <configuration> 2 <property> 3 <name>mapreduce.framework.name</name> 4 <value>yarn</value> 5 <final>true</final> 6 </property> 7 <property> 8 <name>mapreduce.jobtracker.http.address</name> 9 <value>master.hadoop:50030</value> 10 </property> 11 <property> 12 <name>mapreduce.jobhistory.address</name> 13 <value>master.hadoop:10020</value> 14 </property> 15 <property> 16 <name>mapreduce.jobhistory.webapp.address</name> 17 <value>master.hadoop:19888</value> 18 </property> 19 <property> 20 <name>mapred.job.tracker</name> 21 <value>http://master.hadoop:9001</value> 22 </property> 23 </configuration>
4.配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的yarn-site.xml
1 <configuration> 2 <property> 3 <name>yarn.nodemanager.aux-services</name> 4 <value>mapreduce_shuffle</value> 5 </property> 6 <property> <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name> 7 <value>org.apache.hadoop.mapred.ShuffleHandler</value> 8 </property> 9 <property> 10 <name>yarn.resourcemanager.address</name> 11 <value>master.hadoop:8032</value> 12 </property> 13 <property> 14 <name>yarn.resourcemanager.scheduler.address</name> 15 <value>master.hadoop:8030</value> 16 </property> 17 <property> 18 <name>yarn.resourcemanager.resource-tracker.address</name> 19 <value>master.hadoop:8031</value> 20 </property> 21 <property> 22 <name>yarn.resourcemanager.admin.address</name> 23 <value>master.hadoop:8033</value> 24 </property> 25 <property> 26 <name>yarn.resourcemanager.webapp.address</name> 27 <value>master.hadoop:8088</value> 28 </property> 29 <property> 30 <name>yarn.resourcemanager.hostname</name> 31 <value>master.hadoop</value> 32 </property> 33 <property> 34 <name>yarn.nodemanager.resource.memory-mb</name> 35 <value>2048</value> 36 </property> 37 </configuration>
提示:yarn.nodemanager.resource.memory-mbr的值一定要注意,在最后的hello world程序运行时,会提示内存太小,(hadoop运行到mapreduce.job: Running job后停止运行 )我把它从1024改成了2048
最后执行wordcount遇到内存不足的问题,解决方案就是把yarn-site.xml文件中的yarn.nodemanager.resource.memory-mb的值改成2048
5.配置/home/hadoop/hadoop-2.7.3/etc/hadoop目录下hadoop-env.sh、yarn-env.sh的JAVA_HOME
取消注释,设置为export JAVA_HOME=你java的安装路径
通过yum安装的java 路径在 /etc/alternatives/java_sdk_1.8.0
slave1.hadoop
slave2.hadoop
6.配置/home/hadoop/hadoop-2.7.3/etc/hadoop目录下的slaves,删除默认的localhost,增加2个slave节点:
7.将master服务器上配置好的Hadoop复制到各个节点对应位置上,通过scp传送
scp -r /root/hadoop 192.168.110.67:/root/
scp -r /root/hadoop 192.168.110.68:/root/
第四步安装Hadoop
提示:在master服务器启动hadoop,各从节点会自动启动,进入/root/hadoop目录,hadoop的启动和停止都在master服务器上执行。
1) 初始化,在hadoop目录下输入命令,bin/hdfs namenode -format (注意这个 横杆不能是中文横杆,否则namenode会格式化失败,在日志里报java.io.IOException: NameNode is not formatted.)
2) 启动命令
sbin/start-dfs.sh
sbin/start-yarn.sh
3) 停止命令,依次执行:sbin/stop-dfs.sh、sbin/stop-yarn.sh
至此hadoop已经搭建完成。
四、Hadoop入门之HelloWorld程序
摘要:初步接触Hadoop,必不可少的就是运行属于Hadoop的Helloworld程序——wordcount,统计文件中各单词的数目。安装好的Hadoop集群上已有相应的程序。我们来验证一下。
准备数据
在/root/hadoopdemo/下创建file文件夹,里面生成file1.txt,file2.txt,file3.txt,file4.txt四个文件
然后把数据put到HDFS里
[root@master hadoop]# bin/hadoop fs -mkdir -p /input
[root@master hadoop]# bin/hadoop fs -put /root/hadoopdemo/file/file1.txt /input
[root@master hadoop]# bin/hadoop fs -put /root/hadoopdemo/file/file2.txt /input
[root@master hadoop]# bin/hadoop fs -put /root/hadoopdemo/file/file3.txt /input
[root@master hadoop]# bin/hadoop fs -put /root/hadoopdemo/file/file4.txt /input
长传成功,但是发现每执行异常hadoop命令都会报一个OpenJDK的警告。
先执行wordcount
执行命令查看结果
bin/hadoop fs -text /output/wordcount/part-r-00000
问题
要关闭主从各个节点的防火墙,否则容易出现各种莫名的问题。
Ubuntu(ubuntu-12.04-desktop-amd64)
查看防火墙状态:ufw status
关闭防火墙:ufw disable
---------------------------------------------------------------
centos6.0
查看防火墙状态:service iptables status
关闭防火墙:chkconfig iptables off #开机不启动防火墙服务
--------------------------------------------------------------
centos7.0(默认是使用firewall作为防火墙,如若未改为iptables防火墙,使用以下命令查看和关闭防火墙)
查看防火墙状态:firewall-cmd --state
关闭防火墙:systemctl stop firewalld.service
转载于:https://www.cnblogs.com/ZuoAndFutureGirl/p/8988852.html
Hadoop集群配置搭建相关推荐
- 适合小白的 Hadoop 集群配置搭建,非常详细
准备工作: 1.VMware Workstation 14 中安装虚拟机 ,版本为 CentOS7(我搭建的集群为三台,安装一台克隆两台,这里不做解释,可自行百度) 2.JDK1.8 ,下载地址为 h ...
- hadoop集群环境搭建准备工作
一定要注意hadoop和linux系统的位数一定要相同,就是说如果hadoop是32位的,linux系统也一定要安装32位的. 准备工作: 1 首先在VMware中建立6台虚拟机(配置默认即可).这是 ...
- Hadoop集群配置(最全面总结)
Hadoop集群配置(最全面总结) 通常,集群里的一台机器被指定为 NameNode,另一台不同的机器被指定为JobTracker.这些机器是masters.余下的机器即作为DataNode也作为Ta ...
- hadoop集群的搭建(分布式安装)
集群 计算机集群是一种计算机系统,他通过一组松散集成的计算机软件和硬件连接起来高度紧密地协同完成计算工作. 集群系统中的单个计算机通常称为节点,通常通过局域网连接. 集群技术的特点: 1.通过多台计算 ...
- Hadoop集群的搭建,巨详细的过程,一步步来必成
目录 一.注意事项 1.环境背景 2.小小请求 二.Hadoop的搭建 1.安装及配置虚拟机 1)配置网络 2)下载远程链接器(可选) (1)下载Xshell (2)Linux虚拟网络 (3)准备连接 ...
- 大数据讲课笔记3.3 Hadoop集群配置
文章目录 零.学习目标 一.导入新课 二.新课讲解 (一)配置Hadoop集群 1.在master虚拟机上配置hadoop (1)编辑Hadoop环境配置文件 - hadoop-env.sh (2)编 ...
- tigase集群配置搭建官方方法-xmpp通讯协议配备tigase集群开发简单省事-哇谷即时通讯IM源码服务-哇谷即时通讯源码
tigase集群配置搭建官方方法-xmpp通讯协议配备tigase集群开发简单省事-哇谷即时通讯IM源码服务 哇谷即时通讯IM云-即时通讯源码-音视频会议-直播-短视频-企业即时通讯办公-聊天app- ...
- greenplum配置高可用_高可用hadoop集群配置就收藏这一篇,动手搭建Hadoop(5)
01 ssh免密安装 02 jdk安装 03 hadoop伪分布式安装 04 hadoop全分布式 完成了前面四步,现在做hadoop的高可用.其实和之前的lvs的高可用差不多的.如果我们有两个nam ...
- 大数据平台分布式搭建-Hadoop集群配置
Section 1: 文件清单 hadoop-2.8.4.tar.gz jdk-8u181-linux-x64.tar xshell 7家庭版 xftp 7家庭版 Section 2: 下载链接 [J ...
最新文章
- java nio原理 epoll_多路复用 Select Poll Epoll 的实现原理(BIO与NIO)
- h5直播开发之旅总结
- Windows下Libvirt Java API使用教程(三)- TLS认证访问和动态链接文件依赖
- 【深度学习】基于Pytorch的softmax回归问题辨析和应用(一)
- 都2021年了,不会还有人连深度学习都不了解吧(五)-- 下采样篇
- 跨境商品的进口税额显示
- 冒泡排序提前终止条件_“离职要提前30天通知”这9种误区,你踩过几个?
- mysql在恢复数据时出现“table full”报错
- Leetcode每日一题:33.search-in-rotated-sorted-array(搜索旋转排序数组)
- html5 ul下的li重叠解决,html – 如何仅在嵌套的ul中悬停当前的li?
- Linux基础(13)文本查找利器find的使用方法
- win10主题更换_WIN10好用的小软件
- matlab双线性插值双三次插值对CUFED5进行处理
- C++机器学习经典资料
- Scrapy爬虫案例-淘宝比价定向爬虫学习笔记
- 视频教程-NodeJs零基础到实战项目-Node.js
- 如何批量下载抖音某个大姐姐的视频
- PCIe 5.0 spec学习4.1----PCI-PM(part1)
- NoMeiryoUI v3.1.0 开源便捷的Windows系统字体设置工具
- MOT:MOTchallenge任务评价方法
热门文章
- java stack 类 效率_Java中ArrayList、LinkedList、Vector、Stack的比较
- 【OpenCV】OpenCV实战从入门到精通之 -- 常用数据结构和函数(Point、Scalar、Size、Rect、cvtColor)
- C++ Primer 第五版 第7章类 7.1——类讲解(成员函数、非成员函数、构造函数)习题答案
- 数据结构期末复习之归并排序和基数排序
- python联科_联科集团携手阿里云发布科研混合云平台 共建科研教育新生态
- 获取3的倍数_植物分类的基础——获取广泛来源的资料【乱翻书】
- 3123称重显示控制器说明书_失重秤在自动化配料系统中的应用 - 工业自动化称重仪表...
- rabbitmq topic 收不到数据_RabbitMQ和Kafka到底怎么选?
- 计算机桌面怎么换服,电脑管家桌面整理怎么更换电脑壁纸?
- 数组对象的filter方法