2-Hadoop环境构建v01
- 格式:pptx
- 大小:2.97 MB
- 文档页数:23
Hadoop环境搭建_光环大数据培训机构第一篇 Hadoop环境搭建部分,分为3个章节。
Haddop环境准备Hadoop完全分步式集群搭建HDFS测试每一章节,都会分为”文字说明部分”和”代码部分”,保持文字说明与代码的连贯性。
Haddop环境准备文字说明部分:首先环境准备,这里我选择了Linux Ubuntu操作系统12.04的64位版本,大家可以根据自己的使用习惯选择顺手的Linux。
但JDK一定要用Oracle SUN官方的版本,请从官网下载,操作系统的自带的OpenJDK会有各种不兼容。
JDK请选择1.6.x的版本,JDK1.7版本也会有各种的不兼容情况。
/technetwork/java/javase/downloads/index.htm l完全分步式的Hadoop集群,这个选择5台一样配置的虚拟机,通过内网的一个DNS服务器,指定5台虚拟机所对应的域名。
每台虚拟机,1G内存,系统硬盘2G,外接硬盘16G。
hadoop会存储在外接硬盘上面。
外接硬盘,需要先进行格式化,然后创建目录,再mount到操作系统,通过修改/etc/fstab配置,系统每次重起都是自动加载外接硬盘。
(如果用户操作系统的硬盘够大,不用外接硬盘,这步可以省略)接下来,为hadoop集群创建访问账号hadoop,创建访问组hadoop,创建用户目录/home/hadoop,把账号,组和用户目录绑定。
再为hadoop的hdfs创建存储位置/hadoop/conan/data0,给hadoop用户权限。
设置SSH自动登陆,从虚拟机开始,通过ssh-keygen命令,生成id_rsa.pub,再合并到authorized_keys的文件。
再通过scp把authorized_keys复制到其他的虚拟机。
循环生成authorized_keys并合并文件。
使得5台虚拟机,都有了相互的SSH自动登陆的配置。
环境准备完成,参考下面代码部分,动手实现。
Hadoop 环境搭建及相关知识 计算所 下载 为了获取 Hadoop 的发行版,从 Apache 的某个镜像服务器上下载最近的 稳定发行版。
运行 Hadoop 集群的准备工作 解压所下载的 Hadoop 发行版。
编辑 conf/hadoop-env.sh 文件,至少需要将 JAVA_HOME 设置为 Java 安装 根路径。
尝试如下命令: $ bin/hadoop 将会显示 hadoop 脚本的使用文档。
现在你可以用以下三种支持的模式中的一种启动 Hadoop 集群: 单机模式 伪分布式模式 完全分布式模式 单机模式的操作方法 默认情况下,Hadoop 被配置成以非分布式模式运行的一个独立 Java 进程。
这对调试非常有帮助。
下面的实例将未解压的 conf 目录拷贝作为输入,查找并显示匹配给定正则表达式的条目。
输出写入到指 定的 output 目录。
$ mkdir input $ cp conf/*.xml input $ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+' $ cat output/* 伪分布式模式的操作方法 Hadoop 可以在单节点上以所谓的伪分布式模式运行, 此时每一个 Hadoop 守护进程都作为一个独立的 Java 进程运行。
配置 使用如下的 conf/hadoop-site.xml: <configuration> <property> <name></name> <value>localhost:9000</value> </property> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> 免密码 ssh 设置 现在确认能否不输入口令就用 ssh 登录 localhost: $ ssh localhost 如果不输入口令就无法用 ssh 登陆 localhost,执行下面的命令: $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 执行 格式化一个新的分布式文件系统: $ bin/hadoop namenode -format 启动 Hadoop 守护进程: $ bin/start-all.sh Hadoop 守护进程的日志写入到 ${HADOOP_LOG_DIR} 目录 (默认是 ${HADOOP_HOME}/logs). 浏览 NameNode 和 JobTracker 的网络接口,它们的地址默认为: NameNode - http://localhost:50070/ JobTracker - http://localhost:50030/ 将输入文件拷贝到分布式文件系统: $ bin/hadoop dfs -put conf input 运行发行版提供的示例程序: $ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+' 查看输出文件: 将输出文件从分布式文件系统拷贝到本地文件系统查看: $ bin/hadoop dfs -get output output $ cat output/* 或者 查看分布式文件系统上的输出文件: $ bin/hadoop dfs -cat output/* 完成全部操作后,停止守护进程: $ bin/stop-all.sh 分布式模式的操作方法 安装 Hadoop 集群通常要将安装软件解压到集群内的所有机器上。
Hadoop平台搭建与应用教案教学过程教学提示项目2 Hive环境搭建与基本操作任务2.1 Hive的安装与配置Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,将类SQL语句转换为MapReduce任务,如图2-1所示,并执行此任务。
图2-1 将类SQL语句转换为MapReduce任务1.Hive数据结构Hive中所有的数据都存储在HDFS中,Hive中包含以下数据结构。
(1)Table:Hive中的Table和数据库中的Table在概念上是类似的,每一个Table在Hive中都有一个相应的目录存储数据。
(2)Partition(可选):在Hive中,表中的一个Partition对应于表中的一个目录,所有的Partition的数据都存储在对应的目录中。
(3)Bucket(可选):Bucket对指定列计算Hash,Partition根据某个列的Hash值散列到不同的Bucket中,目的是进行并行处理,每一个Bucket对应一个文件。
2.Hive架构Hive架构如图2-2所示。
Hadoop和MapReduce是Hive架构的基础。
用户接口主要有CLI客户端、HiveServer客户端、HWI客户端和HUE客户端(开源的Apache Hadoop UI系统),其中最常用的是CLI客户端。
在CLI客户端启动时,会同时启动一个Hive副本。
在Windows中,可通过JDBC连接HiveServer的图形界面工具,包括SQuirrel SQLClient、Oracle SQL Developer及DbVisualizer。
HWI通过浏览器访问Hive,通过Web控制台与Hadoop集群进行交互来分析及处理数据。
MetaStore用于存储和管理Hive的元数据,使用关系数据库来保存元数据信息(MySQL、Derby等),Hive中的元数据包括表的名称、表的列和分区及其属性、表的属性(是否为外部表等)、表的数据所在目录等。
Hadoop平台搭建与应用教案靠、高性能、分布式和面向列的动态模式数据库。
⑤ ZooKeeper(分布式协作服务):其用于解决分布式环境下的数据管理问题,主要是统一命名、同步状态、管理集群、同步配置等。
⑥ Sqoop(数据同步工具):Sqoop是SQL-to-Hadoop的缩写,主要用于在传统数据库和Hadoop之间传输数据。
⑦ Pig(基于Hadoop的数据流系统):Pig的设计动机是提供一种基于MapReduce 的Ad-Hoc(计算在query时发生)数据分析工具。
⑧ Flume(日志收集工具):Flume是Cloudera开源的日志收集系统,具有分布式、高可靠、高容错、易于定制和扩展的特点。
⑨ Oozie(作业流调度系统):Oozie是一个基于工作流引擎的服务器,可以运行Hadoop的MapReduce和Pig任务。
⑩ Spark(大数据处理通用引擎):Spark提供了分布式的内存抽象,其最大的特点就是快,是Hadoop MapReduce处理速度的100倍。
YARN(另一种资源协调者):YARN是一种新的Hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
Kafka(高吞吐量的分布式发布订阅消息系统):Kafka可以处理消费者规模的网站中的所有动作流数据。
任务1.1 认知大数据,完成系统环境搭建(1)安装CentOS系统(确保CentOS系统版本在7及以上,以便配合后续Docker 安装)。
①在VMware中设置CentOS 7镜像,进入后选择第一项安装CentOS 7,如图1-8所示。
②在新打开页面中设置时间(DATE&TIME),分配磁盘(INSTALLATION DESTINATION)和网络设置(NETWORK&HOST NAME)等,如图1-9所示。
③单击“INSTALLATION DESTINATION”链接,在打开的界面中选择“I will configure partitioning”选项,然后单击“Done”按钮,跳转到分配磁盘页面即可进行磁盘分配,如图1-10所示。
Hadoop集群环境搭建1、准备资料虚拟机、Redhat6.5、hadoop-1.0.3、jdk1.62、基础环境设置2.1配置机器时间同步#配置时间自动同步crontab -e#手动同步时间/usr/sbin/ntpdate 1、安装JDK安装cd /home/wzq/dev./jdk-*****.bin设置环境变量Vi /etc/profile/java.sh2.2配置机器网络环境#配置主机名(hostname)vi /etc/sysconfig/network#修第一台hostname 为masterhostname master#检测hostname#使用setup 命令配置系统环境setup#检查ip配置cat /etc/sysconfig/network-scripts/ifcfg-eth0#重新启动网络服务/sbin/service network restart#检查网络ip配置/sbin/ifconfig2.3关闭防火墙2.4配置集群hosts列表vi /etc/hosts#添加一下内容到vi 中2.5创建用户账号和Hadoop部署目录和数据目录#创建hadoop 用户/usr/sbin/groupadd hadoop#分配hadoop 到hadoop 组中/usr/sbin/useradd hadoop -g hadoop#修改hadoop用户密码Passwd hadoop#创建hadoop 代码目录结构mkdir -p /opt/modules/hadoop/#修改目录结构权限拥有者为为hadoopchown -R hadoop:hadoop /opt/modules/hadoop/2.6生成登陆密钥#切换到Hadoop 用户下su hadoopcd /home/hadoop/#在master、node1、node2三台机器上都执行下面命令,生成公钥和私钥ssh-keygen -q -t rsa -N "" -f /home/hadoop/.ssh/id_rsacd /home/hadoop/.ssh#把node1、node2上的公钥拷贝到master上scp /home/hadoop/.ssh/ id_rsa.pub hadoop@master:/home/hadoop/.ssh/node1_pubkey scp /home/hadoop/.ssh/ id_rsa.pub hadoop@master:/home/hadoop/.ssh/node2_pubkey#在master上生成三台机器的共钥cp id_rsa.pub authorized_keyscat node1_pubkey >> authorized_keyscat node2_pubkey >> authorized_keysrm node1_pubkey node2_pubkey#吧master上的共钥拷贝到其他两个节点上scp authorized_keys node1: /home/hadoop/.ssh/scp authorized_keys node1: /home/hadoop/.ssh/#验证ssh masterssh node1ssh node2没有要求输入密码登陆,表示免密码登陆成功3、伪分布式环境搭建3.1下载并安装JAVA JDK系统软件#下载jdkwget http://60.28.110.228/source/package/jdk-6u21-linux-i586-rpm.bin#安装jdkchmod +x jdk-6u21-linux-i586-rpm.bin./jdk-6u21-linux-i586-rpm.bin#配置环境变量vi /etc/profile.d/java.sh#手动立即生效source /etc/profile3.2 Hadoop 文件下载和安装#切到hadoop 安装路径下cd /opt/modules/hadoop/#从 下载Hadoop 安装文件wget /apache-mirror/hadoop/common/hadoop-1.0.3/hadoop-1.0.3.tar.gz#如果已经下载,请复制文件到安装hadoop 文件夹cp hadoop-1.0.3.tar.gz /opt/modules/hadoop/#解压hadoop-1.0.3.tar.gzcd /opt/modules/hadoop/tar -xvf hadoop-1.0.3.tar.gz#配置环境变量vi /etc/profile.d/java.sh#手动立即生效source /etc/profile3.3配置hadoop-env.sh 环境变量#配置jdk。
⼤数据--Hadoop集群环境搭建⾸先我们来认识⼀下HDFS, HDFS(Hadoop Distributed File System )Hadoop分布式⽂件系统。
它其实是将⼀个⼤⽂件分成若⼲块保存在不同服务器的多个节点中。
通过联⽹让⽤户感觉像是在本地⼀样查看⽂件,为了降低⽂件丢失造成的错误,它会为每个⼩⽂件复制多个副本(默认为三个),以此来实现多机器上的多⽤户分享⽂件和存储空间。
Hadoop主要包含三个模块:HDFS模块:HDFS负责⼤数据的存储,通过将⼤⽂件分块后进⾏分布式存储⽅式,突破了服务器硬盘⼤⼩的限制,解决了单台机器⽆法存储⼤⽂件的问题,HDFS是个相对独⽴的模块,可以为YARN提供服务,也可以为HBase等其他模块提供服务。
YARN模块:YARN是⼀个通⽤的资源协同和任务调度框架,是为了解决Hadoop中MapReduce⾥NameNode负载太⼤和其他问题⽽创建的⼀个框架。
YARN是个通⽤框架,不⽌可以运⾏MapReduce,还可以运⾏Spark、Storm等其他计算框架。
MapReduce模块:MapReduce是⼀个计算框架,它给出了⼀种数据处理的⽅式,即通过Map阶段、Reduce阶段来分布式地流式处理数据。
它只适⽤于⼤数据的离线处理,对实时性要求很⾼的应⽤不适⽤。
多相关信息可以参考博客:。
本节将会介绍Hadoop集群的配置,⽬标主机我们可以选择虚拟机中的多台主机或者多台阿⾥云服务器。
注意:以下所有操作都是在root⽤户下执⾏的,因此基本不会出现权限错误问题。
⼀、Vmware安装VMware虚拟机有三种⽹络模式,分别是Bridged(桥接模式)、NAT(⽹络地址转换模式)、Host-only(主机模式):桥接:选择桥接模式的话虚拟机和宿主机在⽹络上就是平级的关系,相当于连接在同⼀交换机上;NAT:NAT模式就是虚拟机要联⽹得先通过宿主机才能和外⾯进⾏通信;仅主机:虚拟机与宿主机直接连起来。
Hadoop环境搭建啥是⼤数据?问啥要学⼤数据?在我看来⼤数据就很多的数据,超级多,咱们⽇常⽣活中的数据会和历史⼀样,越来越多⼤数据有四个特点(4V):⼤多样快价值学完⼤数据我们可以做很多事,⽐如可以对许多单词进⾏次数查询(本节最后的实验),可以对股市进⾏分析,所有的学习都是为了赚⼤钱!(因为是在Linux下操作,所以⽤到的全是Linux命令,不懂可以百度,这篇⽂章有⼀些简单命令。
常⽤)第⼀步安装虚拟机配置环境1.下载虚拟机,可以⽤⾃⼰的,没有的可以下载这个 passowrd:u8lt2.导⼊镜像,可以⽤这个 password:iqww (不会创建虚拟机的可以看看,不过没有这个复杂,因为导⼊就能⽤)3.更换主机名,vi /etc/sysconfig/network 改HOSTNAME=hadoop01 (你这想改啥改啥,主要是为了清晰,否则后⾯容易懵)注:在这⾥打开终端4.查看⽹段,从编辑-虚拟⽹络编辑器查看,改虚拟机⽹段,我的是192.168.189.128-254(这个你根据⾃⼰的虚拟机配置就⾏,不⽤和我⼀样,只要记住189.128这个段就⾏)5.添加映射关系,输⼊:vim /etc/hosts打开⽂件后下⾯添加 192.168.189.128 hadoop01(红⾊部分就是你们上⾯知道的IP)(这⾥必须是hadoop01,为了⽅便后⾯直接映射不⽤敲IP)6.在配置⽂件中将IP配置成静态IP 输⼊: vim /etc/sysconfig/network-scripts/ifcfg-eth0 (物理地址也要⼀样哦!不知道IP的可以输⼊:ifconfig 查看⼀下)7.重启虚拟机输⼊:reboot (重启后输⼊ ping 能通就说明没问题)第⼆步克隆第⼀台虚拟机,完成第⼆第三虚拟机的配置1.⾸先把第⼀台虚拟机关闭,在右击虚拟机选项卡,管理-克隆即可(克隆两台⼀台hadoop02 ⼀台hadoop03)2.克隆完事后,操作和第⼀部基本相同唯⼀不同的地⽅是克隆完的虚拟机有两块⽹卡,我们把其中⼀个⽹卡注释就好(⼀定牢记!通过这⾥的物理地址⼀定要和配置⽂件中的物理地址相同)输⼊:vi /etc/udev/rules.d/70-persistent-net.rules 在第⼀块⽹卡前加# 将第⼆块⽹卡改为eth03.当三台机器全部配置完之后,再次在hosts⽂件中加⼊映射达到能够通过名称互相访问的⽬的输⼊:vim /etc/hosts (三台都要如此设置)(改完之后记得reboot重启)第三步使三台虚拟机能够通过SHELL免密登录1.查看SSH是否安装 rmp -qa | grep ssh (如果没有安装,输⼊sudo apt-get install openssh-server)2.查看SSH是否启动 ps -e | grep sshd (如果没有启动,输⼊sudo /etc/init.d/ssh start)3.该虚拟机⽣成密钥 ssh-keygen -t rsa(连续按下四次回车就可以了)4.将密钥复制到另外⼀台虚拟机⽂件夹中并完成免密登录输⼊:ssh-copy-id -i ~/.ssh/id_rsa.pub 2 (同样把秘钥给hadoop03和⾃⼰)(输⼊完后直接下⼀步,如果下⼀步失败再来试试改这个修改/etc/ssh/ssh_config中的StrictHostKeyCheck ask )5.之后输⼊ ssh hadoop02就可以正常访问第⼆台虚拟机啦注:可能你不太理解这是怎么回事,我这样解释⼀下,免密登录是为了后⾯进⾏集群操作时⽅便,⽣成秘钥就像是⽣成⼀个钥匙,这个钥匙是公钥,公钥可以打开所有门,之后把这个钥匙配两把,⼀把放在hadoop02的那⾥,⼀把放在hadoop03的那⾥,这样hadoop01可以对hadoop02和hadoop03进⾏访问。
Hadoop环境搭建--Docker完全分布式部署Hadoop环境(菜鸟采坑吐⾎整理)系统:Centos 7,内核版本3.10本⽂介绍如何从0利⽤Docker搭建Hadoop环境,制作的镜像⽂件已经分享,也可以直接使⽤制作好的镜像⽂件。
⼀、宿主机准备⼯作0、宿主机(Centos7)安装Java(⾮必须,这⾥是为了⽅便搭建⽤于调试的伪分布式环境)1、宿主机安装Docker并启动Docker服务安装:yum install -y docker启动:service docker start⼆、制作Hadoop镜像(本⽂制作的镜像⽂件已经上传,如果直接使⽤制作好的镜像,可以忽略本步,直接跳转⾄步骤三)1、从官⽅下载Centos镜像docker pull centos下载后查看镜像 docker images 可以看到刚刚拉取的Centos镜像2、为镜像安装Hadoop1)启动centos容器docker run -it centos2)容器内安装java下载java,根据需要选择合适版本,如果下载历史版本拉到页⾯底端,这⾥我安装了java8/usr下创建java⽂件夹,并将java安装包在java⽂件下解压tar -zxvf jdk-8u192-linux-x64.tar.gz解压后⽂件夹改名(⾮必需)mv jdk1.8.0_192 jdk1.8配置java环境变量vi ~/.bashrc ,添加内容,保存后退出export JAVA_HOME=/usr/java/jdk1.8export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/libexport PATH=$PATH:${JAVA_HOME}/bin使环境变量⽣效 source ~/.bashrc验证安装结果 java -version这⾥注意,因为是在容器中安装,修改的是~/.bashrc⽽⾮我们使⽤更多的/etc/profile,否则再次启动容器的时候会环境变量会失效。
Hadoop的安装与环境搭建教程图解⼀、的安装2. 在/usr/local/ 创建⽂件夹zookeepermkdir hadoop3.上传⽂件到Linux上的/usr/local/source⽬录下3.解压缩运⾏如下命令:tar -zxvf hadoop-2.7.3.tar.gz-C /usr/local/hadoop4. 修改配置⽂件进⼊到cd /usr/local/hadoop/hadoop-2.7.3/etc/hadoop/ , 修改hadoop-env.sh运⾏vimhadoop-env.sh,修改JAVA_HOME5.将Hadoop的执⾏命令加⼊到我们的环境变量⾥在/etc/profile⽂件中加⼊:export PATH=$PATH:/usr/local/hadoop/hadoop-2.7.3/bin:/usr/local/hadoop/hadoop-2.7.3/sbin执⾏/etc/profile⽂件:source /etc/profile6. 将npfdev1机器上的hadoop复制到npfdev2和npfdev3和npfdev4机器上。
使⽤下⾯的命令:⾸先分别在npfdev2和npfdev3和npfdev4机器上,建⽴/usr/local/hadoop⽬录,然后在npfdev1上分别执⾏下⾯命令:scp -r /usr/local/hadoop/hadoop-2.7.3/ npfdev2:/usr/local/hadoop/scp -r /usr/local/hadoop/hadoop-2.7.3/ npfdev3:/usr/local/hadoop/scp -r /usr/local/hadoop/hadoop-2.7.3/ npfdev4:/usr/local/hadoop/记住:需要各⾃修改npfdev2和npfdev3和npfdev4的/etc/profile⽂件:在/etc/profile⽂件中加⼊:export PATH=$PATH:/usr/local/hadoop/hadoop-2.7.3/bin:/usr/local/hadoop/hadoop-2.7.3/sbin执⾏/etc/profile⽂件:source /etc/profile然后分别在npfdev1和npfdev2和npfdev3和npfdev4机器上,执⾏hadoop命令,看是否安装成功。
Hadoop集群搭建指南修订历史记录环境准备 (3)UBUNTU环境配置 (3)2.1安装SSH (3)2.2关闭防火墙 (3)2.3安装FTP S ERVER (3)2.4安装JDK (4)2.4.1解压安装 (4)2.4.2配置环境变量 (4)2.4.3配置默认JDK (4)2.4.4测试JDK (5)HADOOP集群的安装 (5)3.1H ADOOP节点的说明 (5)3.2环境说明 (6)3.2.1先决条件 (6)3.2.2服务器规划 (6)3.2.3使用主机名通信 (6)3.2.4在所有的机器上建立同样的用户 (7)3.3H ADOOP的安装 (8)3.3.1SSH无密码验证登录 (8)3.3.2Hadoop安装 (9)3.4H ADOOP的配置 (10)3.4.1配置文件说明 (10)3.4.2Master配置 (10)3.4.3Slave配置 (13)3.4.4Hadoop的启动及验证 (14)常见问题 (17)4.1问题1:CANNOT CREATE DIRECTORY: (17)4.2问题2:W ARNING:$HADOOP_HOME IS DEPRECATED (18)环境准备操作系统:Ubuntu Server 13.04JDK:1.7 从oracle网站上下载,而非openjdkHadoop: /hadoop/common/hadoop-1.2.0/Ubuntu环境配置2.1安装SSH在安装Ubuntu Server最后的时候选择openssh Server的安装。
如果没有选择,使用以下命令进行安装Sudo ap-get install openssh-server确认SSH Server是否启动:ps -e |grep ssh如果只有ssh-agent那ssh-server还没有启动,需要/etc/init.d/ssh start,如果看到sshd 那说明ssh-server已经启动了。