Hadoop技术之安装Hive_光环大数据培训
- 格式:pdf
- 大小:273.45 KB
- 文档页数:4
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完全分布式集群安装Hbase_光环大数据培训光环大数据作为国内知名的hadoop培训的机构,聘请专业讲师面对面授课,与时俱进及时更新课程体系,为保障学员就业与多家单位进行合作,保障学员就业。
光环大数据所有项目都由阿里云真实项目数据,光环大数据成为阿里云授权认证中心,毕业通过相关考试就可以获得阿里云的证书。
应用场景当我们按照hadoop完全分布式集群搭建博客搭建了hadoop以后,发现这是一个空的hadoop,只有YARN,MapReduce,HDFS,而这些实际上我们一般不会直接使用,而是需要另外部署hadoop的其他组件,来辅助使用。
比如我们需要数据库,那么hadoop提供了分布式非关系型数据库hbase,用来存储半结构化,非结构化的一些数据,供我们查询使用等,下面我们来介绍一下,如何实现在完全分布式hadoop集群之上安装hbase。
操作步骤1. 下载hbase1.2.6压缩包hbase1.2.6下载地址下载后上传到管理节点的opt目录下2. 解压缩hbase和修改目录名# cd /opt# tar -xzvf hbase-1.2.6-bin.tar.gz# mv hbase-1.2.6 hbase1.2.6# chmod 777 -R /opt/hbase1.2.63. 配置环境变量# vim /etc/profileexport JAVA_HOME=/opt/jdk1.8export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/binexport HADOOP_HOME=/opt/hadoop2.6.0export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATHexport HIVE_HOME=/opt/hive2.1.1export HIVE_CONF_DIR=$HIVE_HOME/confexport CLASSPATH=.:$HIVE_HOME/lib:$CLASSPATHexport PATH=$PATH:$HIVE_HOME/binexport SQOOP_HOME=/opt/sqoop1.4.6export PATH=$PATH:$SQOOP_HOME/binexport ZOOKEEPER_HOME=/opt/zookeeper3.4.10export PATH=$PATH:$ZOOKEEPER_HOME/binexport HBASE_HOME=/opt/hbase1.2.6export PATH=$PATH:$HBASE_HOME/bin #添加最后两行,hbase的相关环境变量属性# source /etc/profile #使环境变量配置生效14. 修改hbase-env.sh配置文件# vim /opt/hbase1.2.6/conf/hbase-env.shexport JAVA_HOME=/opt/jdk1.8export HADOOP_HOME=/opt/hadoop2.6.0export HBASE_HOME=/opt/hbase1.2.6export HBASE_CLASSPATH=/opt/hadoop2.6.0/etc/hadoop export HBASE_PID_DIR=/opt/hbase1.2.6/pidsexport HBASE_MANAGES_ZK=false5. 修改hbase-site.xml配置文件创建目录# mkdir /opt/hbase1.2.6/tmp# mkdir /opt/hbase1.2.6/pids# cd /opt/hbase1.2.6/conf/# vim hbase-site.xmlhbase.rootdirhdfs://hadoop0:9000/hbaseThe directory shared byregion servers.hbase.zookeeper.property.clientPort2181Property from ZooKeeper'sconfig zoo.cfg. The port at which the clients will connect.zookeeper.session.timeout120000hbase.zookeeper.quorumhadoop0,hadoop1,hadoop2hbase.tmp.dir/opt/hbase1.2.6/tmphbase.cluster.distributedtrue6. 修改regionservers配置文件# cd /opt/hbase1.2.6/conf# vim regionservers # 添加集群的三个主机名hadoop0hadoop1hadoop27. 拷贝管理节点的hbase到其他两个节点# cd /opt/# scp -r hbase1.2.6 [email protected]:/opt/# scp -r hbase1.2.6 [email protected]:/opt/修改环境变量添加【在其他两个节点】export HBASE_HOME=/opt/hbase1.2.6export PATH=$PATH:$HBASE_HOME/bin8. 启动和测试启动首先先确保,hadoop和zookeeper正常运行,然后只需要在管理节点启动Hbase即可。
Hadoop--快速搭建大数据开发环境_光环大数据培训最近自己电脑的磁盘坏了,导致数据也没了。
安装好系统之后就是各种弄环境了,之前的博客也写过hadoop环境搭建Hadoop,Hive,HBase,Kafka,Spark,MySQL,Redis等等一系列的。
之前记录的目的也是为了方便自己吧,但整个流程下来还是的花费几个小时。
从前面的博客找到从虚拟机的网络配置,下载软件上传在修改配置挺麻烦的。
这里再次做个汇总,以后做这个过程或者升级就更加方便(主要便捷是后面会给出一个Virtual Box的包直接导入就有这些所有环境了)。
准备∙软件下载安装linux1.安装virtual box(略,这个没什么好说的,一直下一步就ok!)2.安装Linux虚拟机注意(选择第一个)3.添加虚拟机后网络配置环境准备∙规划1.创建一个data目录所有东西都放在那儿:mkdir /data2.再在data目录下创建一个data目录用来保存一些数据,比如hdfs,kafka等:mkdir /data/data∙上传软件准备1.关闭防火墙:[[email protected] ~]# service iptables stop [[email protected] ~]# c hkconfig --list | grep iptables2.修改主机名:修改[[email protected] ~]# vi /etc/sysconfig/network## 修改为:HOSTNAME=xi aoxiaomo3.绑定hosts Name:[[email protected] ~]# vi /etc/hosts## 添加192.168.56.102 xiaoxiaomo4.设置ssh:[[email protected] ~]# ssh-keygen -t rsa #生成rsa格式的ssh私钥和公钥[[email protected] ~]# ssh-copy-id -i xiaoxiaomo #把公钥复制到对方节点(这里我复制到自己的主机xiaoxiaomo01上)[[email protected] ~]# ssh xiaox iaomo01 #验证5.安装国内的yum镜像参考:/2016/02/11/Linux-Yum%E6%BA%90%E7%A0%8 1%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/6.安装JDK 参考,这里我们安装jdk1.8 :##解压到/data && 修改名称[[email protected] ~]# tar -zxvf /opt/jdk-8u1 44-linux-x64.tar.gz -C /data[[email protected] ~]# mv /data/jdk1.8.0_ 144/ /data/jdk##配置环境变量[[email protected] ~]# vi /etc/profileexpo rt JAVA_HOME=/data/jdkexport PATH=.:$JAVA_HOME/bin:$PATH参考:/2016/04/09/Hadoop-%E5%AE%89%E8%A3%85%E5%89 %8D%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87/安装Hadoop∙解压&&重命名&&配置环境变量[[email protected] ~]# tar -zxvf /opt/hadoop-2.7.2.tar.gz -C /data/ [[email protected] ~]# mv /data/hadoop-2.7.2/ /data/hadoop[[email pro tected] ~]# mkdir -p /data/data/hdfs/name ##需要创建一个目录不然启动会报错[[email protected] ~]# vim /etc/profile ##添加如下export HADOOP_HO ME=/data/hadoopexport PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:## 【**备注后面的环境变量就略了,参考附录中的环境变量**】∙配置1.配置core-site.xml<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://xiaoxiaomo:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/data/data/hdfs/tmp</v alue> </property> <!-- 垃圾回收站 <property> <name>fs.tra sh.interval</name> <value>1440</value> </property> --></configuratio n>2.配置hadoop-env.shexport JAVA_HOME=/data/jdkexport HADOOP_LOG_DIR=/data/data/hdfs/logs3.配置hdfs-site.xml<configuration> <property> <name>.dir</name> <value>file:///data/data/hdfs/name</value> </property><property> <name>dfs.datanode.data.dir</name> <value>fi le:///data/data/hdfs/data</value> </property> <property> <name>node.checkpoint.dir</name> <value>file:// /data/data/hdfs/namesecondary</value> </property> <property> <name>node.secondary.http-address</name> <v alue>xiaoxiaomo:9001</value> </property> <property> <name> dfs.replication</name> <value>1</value> </property> <prop erty> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.permissions</name><value>false</value> </property> <!-- <property> <na me>dfs.hosts</name> <value>/data/hadoop/etc/hadoop/datanode-allow</v alue> </property> <property> <name>dfs.hosts.exclude</name> <value>/d ata/hadoop/etc/hadoop/datanode-deny</value> </property> --></configu ration>4.配置log4j.propertieshadoop.log.dir=/data/data/hdfs/logs5.配置log4j.properties<configuration> <property> <name></ name> <value>yarn</value> </property> <property> < name>mapreduce.jobhistory.address</name> <value>xiaoxiaomo:100 20</value> </property> <property> <name>mapreduce.jobhist ory.webapp.address</name> <value>xiaoxiaomo:19888</value> < /property> <property> <name>yarn.app.mapreduce.am.staging-d ir</name> <value>/history</value> </property> <proper ty> <name>mapreduce.jobhistory.done-dir</name> <value> ${yarn.app.mapreduce.am.staging-dir}/history/done</value> </proper ty> <property> <name>mapreduce.jobhistory.intermediate-done -dir</name> <value>${yarn.app.mapreduce.am.staging-dir}/histor y/done_intermediate</value> </property> <property> <name>mapreduce.map.log.level</name> <value>DEBUG </value> </property> <property> <name>mapr educe.reduce.log.level</name> <value>DEBUG</value> </property></configuration>6.配置slaves##localtion修改为xiaoxiaomo7.yarn-env.shexport JAVA_HOME=/data/jdkexport YARN_LOG_DIR=/data/data/hdfs/logsex port YARN_ROOT_LOGGER=DEBUG,DRFA8.配置yarn-site.xml<configuration> <property> <name>yarn.nodemanager.aux-servi ces</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>xiaoxiaomo</value> </property> <pr operty> <name>yarn.resourcemanager.address</name> <value> xiaoxiaomo:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>xiaoxiaomo:803 0</value> </property> <property> <name>yarn.resourcemanag er.resource-tracker.address</name> <value>xiaoxiaomo:8031</val ue> </property> <property> <name>yarn.resourcemanager.adm in.address</name> <value>xiaoxiaomo:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>xiaoxiaomo:8088</value> </property> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property></configuration>启动测试## 格式化数据目录[[email protected] ~]# hdfs namenode -format## 启动hd fs[[email protected] ~]# start-dfs.sh ##访问:http://xiaoxiaomo:50070# # 启动yarn[[email protected] ~]# start-yarn.sh ##访问:http://xiaoxiao mo:8088安装zookeeper[[email protected] ~]# tar -zxvf /opt/zookeeper-3.4.9.tar.gz -C /data/ [[email protected] ~]# mv /data/zookeeper-3.4.9/ /data/zookeeper## 配置环境变量略[[email protected] ~]# vi /etc/profile ## 添加:export ZK_HOME=/ data/zookeeper[[email protected] ~]# cd $ZK_HOME/conf[[email protected] conf]# mv zoo_sample.cfg zoo.cfg[[email protected] conf]# vi zoo.cfg ##参考:/2016/05/05/Zookeeper-%E9%9B%86%E7%BE%A4%E6 %90%AD%E5%BB%BA/安装HBase[[email protected]xiaoxiaomo ~]# tar -zxvf hbase-1.3.1-bin.tar.gz -C /da ta/[[email protected]xiaoxiaomo ~]# mv /data/hbase-1.3.1/ /data/hbase修改配置1.vi $HBASE_HOME/conf/hbase-env.shexport JAVA_HOME=/data/jdkexport HBASE_LOG_DIR=/data/data/hbase/logs export HBASE_ROOT_LOGGER=INFO,DRFA2.vi $HBASE_HOME/conf/hbase-site.xml<property> <name>hbase.tmp.dir</name> <value>/data/data/hbase/tmp</ value></property><property> <name>hbase.rootdir</name><value>hdfs:/ /xiaoxiaomo:9000/hbase</value></property><property> <name>hbase.clu ster.distributed</name> <value>true</value></property><!--zk --><pro perty> <name>hbase.zookeeper.quorum</name> <value>xiaoxiaomo</value> </property><property> <name>hbase.zookeeper.property.dataDir</name> <value>/data/data/hbase/zk</value></property>3.vi $HBASE_HOME/conf/log4j.propertiehbase.log.dir=/data/data/hbase/logs ##修改为统一目录4.启动## 启动hbase[[email protected] ~]# start-hbase.sh安装MySQL[[email protected] opt]# rpm -qa|grep mysql #如有就卸载[[email protected] opt]# tar -xvf mysql-5.7.9-1.el6.x86_64.rpm-bundle.tar [[email protecte d] opt]# rpm -ivh mysql-community-common-5.7.9-1.el6.x86_64.rpm [[email protected] opt]# rpm -ivh mysql-community-libs-5.7.9-1.el6.x86_64.rpm [[email protected] opt]# rpm -ivh mysql-community-client-5.7.9-1.el6.x86 _64.rpm [[email protected] opt]# yum install -y mysql-community-server-5.7.9-1.el6.x86_64.rpm [[email protected] opt]# mysqld --initialize #初始化[[email protected] opt]# cat /var/log/mysqld.log #可以获取初始密码[[email protected] opt]# chown -R mysql:mysql /var/lib/mysql #授权[[email pro tected] opt]# /etc/init.d/mysqld start #启动[[email protected] opt]# mys ql -uroot -p #登录(通过默认的初始密码)##登录进去后要重设密码mysql>SET PASS WORD = PASSWORD('root');##mysql启动&&停止[[email protected] opt]# /etc/i nit.d/mysqld start ##启动服务[[email protected] opt]# service mysqld star t ##启动服务[[email protected] opt]# /etc/init.d/mysqld stop ##启停止服务[[email protected] opt]# service mysqld stop ##停止服务安装Hive[[email protected] opt]# tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /data /[[email protected] opt]# mv /data/apache-hive-1.2.1-bin/ /data/hive##配置环境变量略[[email protected] opt]# cd $HIVE_HOME[[email protected] hi ve]# cp conf/hive-env.sh.template conf/hive-env.sh[[email protected] hiv e]# cp conf/hive-default.xml.template conf/hive-site.xml修改配置1.hive-env.sh[[email protected] hive]# vim conf/hive-env.sh ##添加如下配置export JA VA_HOME=/data/jdkexport HIVE_HOME=/data/hiveexport HADOOP_HOME=/data /hadoop2.hive-env.sh[[email protected] hive]# vim conf/hive-env.sh ##修改如下配置<property> <name>hive.querylog.location</name> <value>/data/data/hive/tmp</va lue></property><property> <name>hive.exec.local.scratchdir</name> < value>/data/data/hive/tmp</value></property><property> <name>hive.d ownloaded.resources.dir</name> <value>/data/data/hive/tmp</value></ property><!-- 修改metadata为mysql --><property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8</value></property><property> <name>javax.jdo.option.Connectio nDriverName</name> <value>com.mysql.jdbc.Driver</value></property>< property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value></property><property> <name>javax.jdo.option.ConnectionPassword</name> <value>root</value></property>3.复制mysql驱动jar包到$HIVE_HOME/lib/目录下4.启动。
大数据培训机构_Hadoop大数据学习之路该怎么走_光环大数据培训很多想要学习Hadoop大数据的学员总是很难找到头绪。
毕竟要学的东西太多、太难、太杂。
今天,就为想学Hadoop大数据的学员讲一讲,Hadoop大数据学习之路该怎么走。
大数据之路主要是围绕着Hadoop生态圈展开的。
首先要打好学大数据的语言基础。
Java语言便是基础中的基础。
Java分为很多种,学大数据只需要掌握基础的JavaSE就够用了。
还要会使用Shell脚本。
Scala语言是阅读源代码,也需要掌握。
掌握好Hadoop大数据的基础语言,就可以进行大数据理论和核心技术的学习了。
包括分布式的存储技术和分布式计算技术。
Hadoop集群的搭建和运维等。
在这一阶段更深层次的学习包括HDFS、ZOOKEEPER、HIVE、Hbase等。
我们还可以学习一下Hadoop源码分析。
并在这一阶段穿插进行一些Hadoop项目实战练习,方便知识的掌握和理解。
掌握了Hadoop大数据理论和核心基础,就可以学习海量数据的分析挖掘技术了。
其中,Python语言的学习及应用,包括分布式爬出和反爬虫技术,可以帮助我们在网络上爬取海量数据,获得最真实有效的数据来源。
Spark技术会随着日后数据量的不断增长而逐步取代Hadoop中的MapReduce,成为大数据中应用最多的计算模型,因此需要熟练掌握。
机器学习是大数据学员将来找工作时的加分项,如果能学好这门技术,就可以进行系统的开发工作了。
Hadoop大数据学习之路该怎么走?光环大数据已经为你规划好了系统的学习路线,就等你来,问鼎大数据工程师!为什么大家选择光环大数据!大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请大数据领域具有多年经验的讲师,提高教学的整体质量与教学水准。
讲师团及时掌握时代的技术,将时新的技能融入教学中,让学生所学知识顺应时代所需。
Hadoop培训技术分享 Hadoop-2.6.4完全分布式搭建_光环大数据培训资源准备准备4台Linux 服务器要求:glibc 版本>= 2.14192.168.9.1192.168.9.2192.168.9.3192.168.9.4下载:hadoop-2.6.4服务器配置4台服务器分别创建用户hadoop[email protected]# useradd hadoop[email protected]# echo 'hadoop' | passwd --stdin hadoop4台服务器分别配置hosts[email protected]# vi /etc/hosts添加内容如下:192.168.9.1 master192.168.9.2 secmaster192.168.9.3 slave0192.168.9.4 slave1master 主机免密码登陆其他主机配置在各个主机上生成SSH 密钥[email protected]$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa在master 主机上copy公钥[email protected]$ ssh-copy-id -i secmaster 输入密码:hadoop即copy公钥成功[email protected]$ ssh-copy-id -i slave0 输入密码:hadoop即copy公钥成功[email protected]$ ssh-copy-id -i slave1 输入密码:hadoop即copy公钥成功测试ssh免登陆在192.168.9.1主机上执行如下命令确保master 可以实现对其他主机的免密码登陆,首次执行需要输入"yes" 确认[email protected]$ ssh secmaster[email protected]$ ssh slave0[email protected]$ ssh slave1hadoop自身配置在master(192.168.9.1) 主机上解压hadoop-2.6.4.tar.gz[email protected]$ tar xvf hadoop-2.6.4.tar.gz配置etc/hadoop/core-site.xml<configuration> <property> <name></name> <value>hdfs://master:9000</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/tmp</value> </property> <property> <name>hadoop.proxyuser.u0.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.u0.groups</name> <value>*</value> </property></configuration>配置etc/hadoop/hdfs-site.xml<configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>node.secondary.http-address</name> <value>secmaster:9001</value> </property> <property> <name>.dir</name> <value>file:/home/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/hadoop/dfs/data</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value></property></configuration>配置etc/hadoop/mapred-site.xml<configuration> <property> <name></name> <value>yarn</value> </property> <property><name>mapreduce.jobhistory.address</name> <value>master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value> </property></configuration>配置etc/hadoop/yarn-site.xml<configuration><!-- Site specific YARN configuration properties --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.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></configuration>Master向各个节点同步配置完毕后的hadoop 工程[email protected]$ scp -r /home/hadoop/hadoop-2.6.4 [email protected]:/home/hadoop[email protected]$ scp -r /home/hadoop/hadoop-2.6.4 [email protected]:/home/hadoop[email protected]$ scp -r /home/hadoop/hadoop-2.6.4 [email protected]:/home/hadoop 格式化namenode,启动hadoop 所有组件[[email protected]]$ bin/hadoop namenode -format[[email protected]]$ sbin/start-all.sh如果不出意外完全分布式的hadoop cluster 已经运行起来了^_^为什么大家选择光环大数据!大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。
HIVE编程实战一HIVE基础1.1 什么是hive?Hadoop生态系统是为了处理大数据集而产生的一个合乎成本效益的解决方案。
Hadoop实现了一个特别的计算模型,即MapReduce,其可以将计算认为分割成多个处理单元然后分散到Hadoop集群中的家用或服务器级别的硬件机器上,从而降低成本并提供动态扩展的能力。
基于这个计算模型的下面是一个被称之为HDFS(Hadoop分布式文件系统)的分布式文件系统。
不过,仍然存在一个挑战,那就是用户如何从一个现有的数据基础架构转移到Hadoop 上,而这个基础架构是基于传统关系型数据库和结构化SQL语言的。
对于大量的关系型数据库的维护、实施、开发人员,这个问题将如何解决呢?这就是Hive出现的原因。
Hive提供了一个被称之为Hive查询语言,简称HQL的SQL方言(与MYSQL及其类似),用来查询存储在Hadoop集群中的数据。
Hive可以将大多数的查询转换为MapReduce的job任务,从而使得采用简单的SQL编程方式,来替换掉原有的MapReduce中的复杂java编程。
Hive最适合于数据仓库应用程序,使用该应用程序进行相关的静态数据分析,不需要快速响应给出结果,而且数据本身不会频繁变化。
Hive不是一个完整的数据库,其中最大的限制就是hive不支持记录级别的更新、插入或者删除,但是用户可以通过查询生成新表或者将查询结果导入到文件中。
同时,基于Mapreduce的hive查询延时比较严重,没有传统的RDBMS查询速度快,hive不支持事物。
因此,hive是最适合数据仓库应用程序的,其可以维护海量数据,而且可以对数据进行分析,然后形成统计结果以及报表等。
1.2 HIVE组成模块所有的命令和查询都会进入到Driver(驱动模块),通过该模块对输入进行解析编译,对需求的计算进行优化,然后按照指定的步骤执行。
当需要启动MapReduce任务时,Hive 本身是不会生成Java Mapreduce程序。
hadoop培训_ Hadoop安装_光环大数据培训光环大数据作为国内知名的hadoop培训的机构,聘请专业讲师面对面授课,与时俱进及时更新课程体系,为保障学员就业与多家单位进行合作,保障学员就业。
光环大数据所有项目都由阿里云真实项目数据,光环大数据成为阿里云授权认证中心,毕业通过相关考试就可以获得阿里云的证书。
集群架构hadoop的安装其实就是HDFS和YARN集群的配置,从下面的架构图可以看出,HDFS的每一个DataNode都需要配置NameNode的位置。
同理YARN中的每一个NodeManager都需要配置ResourceManager的位置。
NameNode和ResourceManager的作用如此重要,在集群环境下,他们存在单点问题吗?在Hadoop1.0中确实存在,不过在2.0中已经得到解决,具体参考:https:///docs/stable/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithNFS.htmlhttps:///developerworks/cn/opensource/os-cn-hadoop-nam e-node/index.html配置因为每台机器上的配置都是一样的,所以配置时一般是配置好一台服务器,然后复制到其他服务器上。
JAVA_HOME在hadoop-env.sh文件中配置JAVA_HOME.core-site.xml配置hdfs文件系统,通过fs.defaultFS配置hdfs的NameNode节点。
<property> <name>fs.defaultFS</name> <value>hdfs://{hdfs-name-node-server-host}:9000</value></property>通过hadoop.tmp.dir配置hadoop运行时产生文件的存储目录<property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop-data/tmp</value></property>hdfs-site.xml配置文件副本数量和 second namenode :<property> <name>dfs.replication</name> <value>1</value></property> <property> <name>dfs.secondary.http.address</name><value>{second-namenode-host}:50090</value></property>yarn-site.xml配置YARN的ResourceManager:<property> <name>yarn.resourcemanager.hostname</name> <value>{resource-manager-host}</value></property>和reducer获取数据的方式:<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property>最后记得把hadoop的bin和sbin目录添加到环境变量中:export HADOOP_HOME=/user/local/hadoop-2.6.5export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin格式化namenodehdfs namenode -format (hadoop namenode -format)启动Hadoop先启动HDFS的NameNode:hadoop-daemon.sh start datanode在集群的DataNode上启动DataNode:hadoop-daemon.sh start datanode查看启动结果[[email protected] ~]# jps2111 Jps2077 NameNode如果启动成功,通过http://server1:50070,可以看到类似下面的页面:再启动YARN[[email protected] sbin]# start-yarn.shstarting yarn daemonsstarting resourcemanager, logging to/usr/local/hadoop-2.6.5/logs/yarn-root-resourcemanager-vcentos1.outvcentos3: starting nodemanager, logging to/usr/local/hadoop-2.6.5/logs/yarn-root-nodemanager-vcentos3.outvcentos2: starting nodemanager, logging to/usr/local/hadoop-2.6.5/logs/yarn-root-nodemanager-vcentos2.out[[email protected] sbin]# jps2450 ResourceManager2516 Jps2077 NameNodehadoop下的sbin目录下的文件是用来管理hadoop服务的:hadoop-dameon.sh:用来单独启动namenode或datanode;start/stop-dfs.sh:配合/etc/hadoop/slaves,可以批量启动/关闭NameNode和集群中的其他DataNode;start/stop-yarn.sh:配合/etc/hadoop/slaves,可以批量启动/关闭ResourceManager和集群中的其他NodeManager;bin目录下的文件可以提供hdfs、yarn和mapreduce服务:[[email protected] bin]# hadoop fs Usage: hadoop fs [generic options] [-appendToFile <localsrc> ... <dst>] [-cat [-ignoreCrc] <src> ...] [-checksum <src> ...] [-chgrp [-R] GROUP PATH...] [-chmod[-R] <MODE[,MODE]... | OCTALMODE> PATH...] [-chown [-R] [OWNER][:[GROUP]] PATH...] [-copyFromLocal [-f] [-p] [-l]<localsrc> ... <dst>] [-copyToLocal [-p] [-ignoreCrc] [-crc]<src> ... <localdst>] [-count [-q] [-h] <path> ...] [-cp[-f] [-p | -p[topax]] <src> ... <dst>] [-createSnapshot<snapshotDir> [<snapshotName>]] [-deleteSnapshot <snapshotDir><snapshotName>] [-df [-h] [<path> ...]] [-du [-s] [-h]<path> ...] [-expunge] [-get [-p] [-ignoreCrc] [-crc]<src> ... <localdst>] [-getfacl [-R] <path>] [-getfattr[-R] {-n name | -d} [-e en] <path>] [-getmerge [-nl] <src><localdst>] [-help [cmd ...]] [-ls [-d] [-h] [-R][<path> ...]] [-mkdir [-p] <path> ...] [-moveFromLocal<localsrc> ... <dst>] [-moveToLocal <src> <localdst>] [-mv <src> ... <dst>] [-put [-f] [-p] [-l] <localsrc> ... <dst>] [-renameSnapshot <snapshotDir> <oldName> <newName>] [-rm [-f][-r|-R] [-skipTrash] <src> ...] [-rmdir[--ignore-fail-on-non-empty] <dir> ...] [-setfacl [-R] [{-b|-k}{-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]] [-setfattr{-n name [-v value] | -x name} <path>] [-setrep [-R] [-w] <rep><path> ...] [-stat [format] <path> ...] [-tail [-f] <file>] [-test -[defsz] <path>] [-text [-ignoreCrc] <src> ...] [-touchz <path> ...] [-usage [cmd ...]]为什么大家选择光环大数据!大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。
⼤数据仓库,Hive的安装详细步骤⼤数据数据仓库,⼀般来说底层都是建设在hive当中,利⽤hadoop的hdfs分布式⽂件系统,可以替代传统的mysql和oracle等数据库,进⽽来存储上百TB、PB等级别的⼤数据集。
如果公司业务中,每天数据增长多,也可以使⽤hive存储数据。
跟传统的关系型数据库不同,hive数据存储在hdfs上,底层使⽤mapreduce计算数据,主要做⼤数据的分析使⽤。
在hadoop集群上安装hive⼀,先在linux上安装mysql,存储hive元数据信息。
1、通过下⾯的命令,获取mysql 源安装包,直接复制,浏览器打开下载即可https:///get/mysql57-community-release-el7-11.noarch.rpm2、在Linux上安装刚下载的 mysql 源rpm -ivh mysql57-community-release-el7-11.noarch.rpm3、使⽤命令,检查mysql源是否安装成功yum repolist enabled | grep "mysql.*-community.*"4、使⽤ yum 命令安装mysqlyum install mysql-community-server5、配置mysql的⽂件⽬录信息使⽤下⾯的命令,查看mysql配置⽂件加载顺序:mysqld --help --verbose|grep -A1 -B1 cnf修改根⽬录 /etc/f 配置⽂件内的⽂件⽬录datadir=/data/mysql/datasql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONlog-error=/data/mysql/log/mysqld.log注意:SQL_MODE:通过对其正确的设置可以完成⼀些约束检查的⼯作,设置时,在配置⽂件f 中配置进⾏全局的设置。
学习基于CentOs的Hadoop集群安装与配置技巧汇总_光环大数据培训1:hadoop分布式计算平台是由Apache软件基金会开发的一个开源分布式计算平台。
以Hadoop分布式文件系统(HDFS)和MapReduce(Google MapReduce 的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。
Hadoop 中的分布式文件系统 HDFS 由一个管理结点 ( NameNode )和N个数据结点 ( DataNode )组成,每个结点均是一台普通的计算机。
在使用上同我们熟悉的单机上的文件系统非常类似,一样可以建目录,创建,复制,删除文件,查看文件内容等。
但其底层实现上是把文件切割成 Block,然后这些 Block 分散地存储于不同的 DataNode 上,每个 Block 还可以复制数份存储于不同的DataNode 上,达到容错容灾之目的。
NameNode 则是整个 HDFS 的核心,它通过维护一些数据结构,记录了每一个文件被切割成了多少个 Block,这些 Block 可以从哪些 DataNode 中获得,各个 DataNode 的状态等重要信息。
MapReduce 是 Google 公司的核心计算模型,它将复杂的运行于大规模集群上的并行计算过程高度的抽象到了两个函数,Map 和 Reduce, 这是一个令人惊讶的简单却又威力巨大的模型。
适合用 MapReduce 来处理的数据集(或任务)有一个基本要求: 待处理的数据集可以分解成许多小的数据集,而且每一个小数据集都可以完全并行地进行处理。
基于它写出来的程序能够运行在由上千台商用机器组成的大型集群上,并以一种可靠容错的方式并行处理T级别的数据集,实现了Haddoop在集群上的数据和任务的并行计算与处理。
个人认为,从 HDFS(分布式文件系统)观点分析,集群中的服务器各尽其责,通力合作,共同提供了整个文件系统的服务。
Hadoop单机版搭建_光环大数据Hadoop培训光环大数据培训班认为,最近闲来无事,和朋友志声大神一起想学习hadoop,最晚弄机器的弄到两点多,今天动手和志声一起安装Hadoop的环境,刚开始也是一头雾水啊,Hadoop官网的教程我也是醉了,说的牛头不对马嘴,最后只能通过各种百度解决了问题,最后把安装的一些操作都记录下来,希望可以帮助到后来人环境这里我们使用了两台腾讯云的机器以及一台阿里云的机器,本来是准备搭建一个Hadoop集群的,但是由于两个人都没有任何的大数据的经验,所以先在我的阿里云机器上部署了一套单机版的Hadoop测试一下,看看能不能行* 操作系统:centOS 7.3* JAVA版本:jdk1.8* Hadoop版本:Hadoop2.9.0(binary)这里顺带附上Hadoop的下载地址/releases.html开始安装### 安装java环境变量先下载java版本,如果机器上自带了openjdk请先卸载自带的openJDK下载好后将jdk放到自己的机器上,本人放在/user/local/java目录下解压tar -zxvf yourjavajdkname解压后就可以在当前目录下看到解压的文件夹了,然后配置Java的环境变量sudo vim + /etc/profile在文件最后加上以下代码export JAVA_HOME=/usr/local/java/java_1.8export PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=.:$JAVA_HOME/lib注:java1.8是我本人将jdk解压后的文件夹重命名为java_1.8source /etc/profile编译一下输入java -version看看有没有版本信息输出,有的话就是安装成功了### 配置hosts端口sudo vim + /etc/hosts在文件末尾加上自己机器的IP和别名为了以后做集群做准备### 配置SSH免密登录注:同样是为了以后做集群做准备安装expect命令:yum -y install expect下载ssh_p2p.zip放在任意目录下unzip ssh_p2p 如果没有unzip命令,先安装unzip安装unzip命令,如果已经有了,可以跳过这一步,yum -y install unzip修改resource的ip值vim /ssh_p2p/deploy_data/resource添加如下代码:adress=("IP,登录账号,登录密码,free""IP,登录账号,登录密码,free""IP,登录账号,登录密码,free")修改start.sh的运行权限chmod u+x start.sh运行./start.sh测试:ssh ip(测试是否可以登录)到这里我们为后面做安装集群的准备就好了配置Hadoop将下载好的Hadoop上传到我们的机器,然后解压,我本人在/usr/local/目录下新建了一个hadoop目录,然后把下载好的压缩包上传到/usr/local/hadoop目录下解压tar -zxvf hadoopfilename然后修改hadoop解压目录下的/etc/hadoop/hadoop-env.sh文件sudo vim + /usr/local/hadoop/hadoop-2.9.0/etc/hadoop将Java home的路径配置进去,如果不知道或者不记得自己的JavaHome路径可以用下面的命令,echo ${JAVA_HOME}输出javaHome的路径,得到了javaHome的路径后,添加下面代码export JAVA_HOME = /usr/local/java/java_1.8,这是我本人的JavaHome路径,*然后配置Hadoop的环境变量,和我们配置java的环境变量一样,使用以下命令sudo vim + /etc/profile,添加以下代码:export HADOOP_HOME= /usr/local/hadoop/hadoop-2.9.0/export PATH=$PATH:$HADOOP_HOME/binsource /etc/profile编译让我们刚刚修改生效修改/usr/local/hadoop/hadoop-2.9.0/etc/hadoop/core-site.xml文件<configuration> <property> <name>fs.defaultFSname> <value>hdfs://localhost:9000value> property> <property> <name>hadoop.tmp.dirname> <value>/usr/local/hadoop/hadoop-2.9.0/tmpvalue> property> configuration>tmp文件夹是我自己创建的,hadoop不自带,特此说明fs.defaultFS直接用localhost就行,如果重命名了主机名,也可以用重命名的。
Hadoop技术之安装Hive_光环大数据培训
安装Mysql:
sudo apt-get install mysql-server mysql-client
安装后检查是否启动
Hadoop
创建数据库Hive和用户hadoop
用root身份进入mysql:
mysql -u root -p
解压及配置Hive
我的hadoop安装目录在/usr/local/hadoop-2.6.4 中,解压apache-hive-1.1.1-bin.tar.gz 到/usr/local/hadoop-2.6.4/hive 中。
tar –zxvf /usr/local/hadoop/hive apache-hive-1.1.1-bin.tar.gz
修改/etc/profile 文件,添加HIVE_HOME和PATH
export HIVE_HOME=/usr/local/hadoop-2.6.4/hive/apache-hive-1.1.1-bin
export PATH= /${PATH}:/${HIVE_HOME}/bin
source /etc/profile 使配置生效
在/usr/local/hadoop-2.6.4/apache-hive-1.1.1-bin/conf 复制一份hive-default.xml.template 为hive-size.xml 文件
cp hive-default.xml.template hive-site.xml
修改内容如下,模板里面没有hive.metastore.local ,手动添加,账户和密码是使用Mysql 的账户密码:
<property><name>hive.metastore.local</name><value>true</value></property><property ><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://localhost:3306/hive?creat eDatabaseIfNotExist=true</value><description>JDBC connect string for a JDBC metastore</description></property><property><name>javax.jdo.option.ConnectionDriverName </name><value>com.mysql.jdbc.Driver</value><description>Driver class name for a JDBC metastore</description></property><property><name>javax.jdo.option.ConnectionUserName</ name><value>root</value><description>Username to use against metastore database</description></property><property><name>javax.jdo.option.ConnectionPassword</na me><value>admin</value><description>password to use against metastore database</description></property>
在/usr/local/hadoop-2.6.4/apache-hive-1.1.1-bin/bin/ 修改hive-config.sh添加下面的3个export语句
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_101
export HADOOP_HOME=/usr/local/hadoop-2.6.4
export HIVE_HOME=/usr/local/hadoop-2.6.4/hive/apache-hive-1.1.1-bin
将下载的mysql-connector-java-5.1.40 中的mysql-connector-java-5.1.40-bin.jar 复制到apache-hive-1.1.1-bin/lib 中
启动hive
在Mysql和Hadoop运行的情况下,使用hive 命令运行hive:
hive
可能发生的问题
(1)Exception in thread “main”ng.RuntimeException: ng.IllegalArgumentException: .URISyntaxException: Relative path in absolute URI: /${system:java.io.tmpdir%7D//$%7Bsystem:%7D
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:444)
at
处理办法:在配置文件hive-site.xml里找”system:java.io.tmpdir “把他们都换成绝对路径如:/usr/local/hadoop-2.6.4/hive/apache-hive-1.1.1-bin/iotmp
(2)[ERROR] Terminal initialization failed; falling back to unsupported
ng.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
原因:hadoop目录下存在老版本jline:
/usr/local/hadoop-2.6.4/share/hadoop/yarn/lib/:
-rw-r–r– 1 root root 87325 Mar 10 18:10 jline-0.9.94.jar
解决办法:
cp /usr/local/hadoop-2.6.4/hive/apache-hive-1.1.1-bin/lib/jline-2.12.jar /usr/local/hadoop-2.6.4/share/hadoop/yarn/lib/
为什么大家选择光环大数据!
大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。
讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。
通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。
【报名方式、详情咨询】
光环大数据官方网站报名:/
手机报名链接:http:// /mobile/。