Hadoop2.2.0+Hbase0.98.1+Sqoop1.4.4+Hive0.13完全安装手册
hadoop1.0和2.0资源管理机制 介绍
Hadoop 1.0与Hadoop 2.0资源管理方案对比转载2014年01月03日 16:27:53670转载自董的博客Hadoop新书《Hadoop技术内幕:深入解析YARN架构设计与实现原理》已于2013年12月初出版,该书基于hadoop 2.x版本编写,重点剖析Hadoop YARN以及运行在YARN上的计算框架。
在Hadoop中,资源管理是很重要的一个模块,它直接决定了资源的组织形式和分配方式,是其他功能的基础,而伴随着Hadoop的优化和升级,资源管理系统在发生的重大变化,本文将对比Hadoop 1.0和Hadoop 2.0中的资源管理方案。
1. Hadoop 1.0中的资源管理方案Hadoop 1.0指的是版本为Apache Hadoop 0.20.x、1.x或者CDH3系列的Hadoop,内核主要由HDFS和MapReduce两个系统组成,其中,MapReduce是一个离线处理框架,由编程模型(新旧API)、运行时环境(JobTracker和TaskTracker)和数据处理引擎(MapTask和ReduceTask)三部分组成。
Hadoop 1.0资源管理由两部分组成:资源表示模型和资源分配模型,其中,资源表示模型用于描述资源的组织方式,Hadoop 1.0采用“槽位”(slot)组织各节点上的资源,而资源分配模型则决定如何将资源分配给各个作业/任务,在Hadoop中,这一部分由一个插拔式的调度器完成。
Hadoop引入了“slot”概念表示各个节点上的计算资源。
为了简化资源管理,Hadoop将各个节点上的资源(CPU、内存和磁盘等)等量切分成若干份,每一份用一个slot表示,同时规定一个task可根据实际需要占用多个slot 。
通过引入“slot“这一概念,Hadoop将多维度资源抽象简化成一种资源(即slot),从而大大简化了资源管理问题。
更进一步说,slot相当于任务运行“许可证”,一个任务只有得到该“许可证”后,才能够获得运行的机会,这也意味着,每个节点上的slot数目决定了该节点上的最大允许的任务并发度。
我学大数据技术(hadoop2.7+hbase1.0+hive1.2)
这个地方有点奇怪,应该是 1.7.0_45 ,我查一下。系统默认安装了 java 我全部删除,重新安 装 先查询一下有哪些 jdk : rpm -qa jdk 然后 rpm -e 把查询的都删除 然后重新安装: rpm -ivh jdk-7u45-linux-x64.rpm
2、切换到 hadoop 用户,创建安装所需要的文件夹
2015 年 8 月 13 日 17:12 1、关机和重启 ?
1 shutdown -h now 2 shutdown -r now
2、创建用户,并设置密码 ?
1 useradd wukong ?
1 d wukong
根据提示输入密码,回车,并再确认输入一次密码。 3、查看,删除用户 ?
1 cat /etc/passwd ?
Prerequisites
Install Java. See the Hadoop Wiki for known good versions. Download a stable version of Hadoop from Apache mirrors. /hadoop/HadoopJavaVersions 说明 下载地址 java1.7.45 /technetwork/java/javase/downloads/index-jdk5-jsp-142662.html
来自 </allman90/blog/295173>
2、VMware 虚拟机的安装配置
2015 年 8 月 13 日 21:08
一、基础篇
1、环境的搭建 基础支撑环境的搭建
首先基于 VMware 搭建一个简单机器测试集群环境 1.1VM13808.html?ald 各位可以随意网站下载,系统用 64 位。
Sqoop安装配置及演示
Sqoop 是一个用来将Hadoop (Hive 、HBase )和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例 如:MySQL ,Oracle ,Postgres 等)中的数据导入到Hadoop 的HDFS 中,也可以将HDFS 的数据导入到关系型数据库中。
Sqoop 目前已经是Apache 的顶级项目了,目前版本是1.4.5 和 Sqoop2 1.99.4,本文以1.4.5的版本为例讲解基本的安装配置和简单应用的演示。
安装配置准备测试数据导入数据到HDFS导入数据到Hive导入数据到HBase[一]、安装配置选择Sqoop 1.4.5 版本:sqoop-1.4.5.bin__hadoop-2.0.4-alpha.tar.gz1.1、下载后解压配置:1.2、环境变量配置 vi ~/.bash_profile :1.3、配置Sqoop 参数:复制<SQOOP_HOME>/conf/sqoop-env-template.sh 一份重命名为:<SQOOP_HOME>/conf/sqoop-env.sh vi <SQOOP_HOME>/conf/sqoop-env.sh补充:因为我当前用户的默认环境变量中已经配置了相关变量,故该配置文件无需再修改:1.4、驱动jar 包下面测试演示以MySQL 为例,则需要把mysql 对应的驱动lib 文件copy 到 <SQOOP_HOME>/lib 目录下。
1tar -zxvf sqoop-1.4.5.bin__hadoop-2.0.4-alpha.tar .gz /hadoop/2cd /hadoop/3ln -s sqoop-1.4.5.bin__hadoop-2.0.4-alpha sqoop1#Sqoop add by 2export SQOOP_HOME=/hadoop/sqoop 3export PATH=$SQOOP_HOME/bin:$PATH1# 指定各环境变量的实际配置2# Set Hadoop-specific environment variables here.3 4#Set path to where bin/hadoop is available 5#export HADOOP_COMMON_HOME=6 7#Set path to where hadoop-*-core.jar is available 8#export HADOOP_MAPRED_HOME=9 10#set the path to where bin/hbase is available 11#export HBASE_HOME=12 13#Set the path to where bin/hive is available 14#export HIVE_HOME=1# Hadoop 2export HADOOP_PREFIX="/hadoop/hadoop-2.6.0" 3export HADOOP_HOME=${HADOOP_PREFIX} 4export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin 5export HADOOP_COMMON_HOME=${HADOOP_PREFIX} 6export HADOOP_HDFS_HOME=${HADOOP_PREFIX} 7export HADOOP_MAPRED_HOME=${HADOOP_PREFIX}8export HADOOP_YARN_HOME=${HADOOP_PREFIX} 9# Native Path 10export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native 11export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib/native"12# Hadoop end 13 14#Hive 15export HIVE_HOME=/hadoop/apache-hive-0.14.0-bin 16export PATH=$HIVE_HOME/bin:$PATH 17 18#HBase 19export HBASE_HOME=/hadoop/hbase-0.98.8-hadoop220export PATH=$HBASE 21 22#add by 以MySQL 为例:192.168.6.77(hostname:Master.Hadoop )database: test用户:root 密码:micmiu准备两张测试表一个有主键表demo_blog ,一个无主键表 demo_log :插入测试数据:[三]、导入数据到HDFS3.1、导入有主键的表比如我需要把表 demo_blog (含主键) 的数据导入到HDFS 中,执行如下命令:执行过程如下:1CREATE TABLE `demo_blog` (2 `id` int (11) NOT NULL AUTO_INCREMENT,3 `blog` varchar (100) NOT NULL,4 PRIMARY KEY (`id`)5) ENGINE=MyISAM DEFAULT CHARSET=utf8;1CREATE TABLE `demo_log` (2 `operator` varchar (16) NOT NULL,3 `log` varchar (100) NOT NULL 4) ENGINE=MyISAM DEFAULT CHARSET=utf8;1insert into demo_blog (id, blog) values (1, "");2insert into demo_blog (id, blog) values (2, "");3insert into demo_blog (id, blog) values (3, "");4 5insert into demo_log (operator, log) values ("micmiu", "create");6insert into demo_log (operator, log) values ("micmiu", "update");7insert into demo_log (operator, log) values ("michael", "edit");8insert into demo_log (operator, log) values ("michael", "delete");1sqoop import --connect jdbc:mysql://192.168.6.77/test --username root --password micmiu --table demo_blog验证导入到hdfs 上的数据:ps :默认设置下导入到hdfs 上的路径是: /user/username/tablename/(files),比如我的当前用户是hadoop ,那么实际路径即: /user/hadoop/demo_blog/(files)。
大数据集群配置过程_hive篇
大数据集群配置过程_hive篇JDDC_SEED_BIGDATA 2015-01-151.概述本篇文档主要讲解hive的安装过程。
Hadoop是安装hbase和hive的基础,即安装hbase和hive之前必须先安装hadoop并且hdfs和mapreduce必须都功能正常。
因为hbase和hive 其底层所使用都是应用hadoop的两个核心部分—hdfs和mapreduce。
在安装hadoop之前需要考滤操作系统的版本(32位还是64位)以及hbase和hive的版本,否则会引起jar包不支持而导致的jar包替换或jar包重新编译等问题。
Hadoop、hbase、hive的版本匹配信息如下:由于我们所使用的操作系统centos6.5是32位,而且安装的hadoop是hadoop2.2.0,所以本次安装的hive版本是0.12.0切记,在安装hbase之前一定先安装hadoop,而且要确保hadoop中的HDFS和MAPREDUCE都是可以正常使用的。
2.正文与hadoop和hbase不同,hive在安装的过程中不需要把hive的包分别发布到个节点上,只需要在namenode节点上hive包进行配置,但需要在配置的过程中指定各个datanode节点的主机名。
2.1下载安装mysql本次将Hive配置成Server模式,并且使用MySQL作为元数据数据库。
原则上MySQL不必要非得安装在namenode节点上,可以装在一个单独的服务器上,并进行远程联接。
本次技术检证,由于资源有限,把mysql安装在namenode节点上。
下载MySQL-5.6.22-1.linux_glibc2.5.i386.rpm-bundle.tar,参考下载地址/downloads/。
具体的安装以及root初始密码的修改请参考《linux下MySQL安装及设置》和《MySQL修改root密码的各种方法整理》这两篇文档。
2.2创建Hive元数据库创建数据库hive:create database if not exists hive;创建数据库用户hive:create user hive identified by 'hive2015';授权可以访问数据库hive的主机和用户:grant all on hive.* to 'hive'@'hadoop01' identified by 'hive2015';grant all on hive.* to 'hive'@'hadoop02' identified by 'hive2015';grant all on hive.* to 'hive'@'hadoop03' identified by 'hive2015';grant all on hive.* to 'hive'@'hadoop04' identified by 'hive2015';2.3安装以及配置hive下载hive-0.12.0-bin.tar.gz,参考下载地址/downloads.html。
Hadoop2.4、Hbase0.98、Hive集群安装配置手册
Hadoop、Zookeeper、Hbase、Hive集群安装配置手册运行环境机器配置虚机CPU E5504*2 (4核心)、内存 4G、硬盘25G进程说明QuorumPeerMain ZooKeeper ensemble member DFSZKFailoverController Hadoop HA进程,维持NameNode高可用 JournalNode Hadoop HA进程,JournalNode存储EditLog,每次写数据操作有大多数(>=N+1)返回成功时即认为该次写成功,保证数据高可用 NameNode Hadoop HDFS进程,名字节点DataNode HadoopHDFS进程, serves blocks NodeManager Hadoop YARN进程,负责 Container 状态的维护,并向 RM 保持心跳。
ResourceManager Hadoop YARN进程,资源管理 JobTracker Hadoop MR1进程,管理哪些程序应该跑在哪些机器上,需要管理所有 job 失败、重启等操作。
TaskTracker Hadoop MR1进程,manages the local Childs RunJar Hive进程HMaster HBase主节点HRegionServer HBase RegionServer, serves regions JobHistoryServer 可以通过该服务查看已经运行完的mapreduce作业记录应用 服务进程 主机/hostname 系统版本mysql mysqld10.12.34.14/ Centos5.810.12.34.15/h15 Centos5.8 HadoopZookeeperHbaseHiveQuorumPeerMainDFSZKFailoverControllerNameNodeNodeManagerRunJarHMasterJournalNodeJobHistoryServerResourceManagerDataNodeHRegionServer10.12.34.16/h16 Centos5.8 HadoopZookeeperHbaseHiveDFSZKFailoverControllerQuorumPeerMainHMasterJournalNodeNameNodeResourceManagerDataNodeHRegionServerNodeManager10.12.34.17/h17 Centos5.8 HadoopZookeeperHbaseHiveNodeManagerDataNodeQuorumPeerMainJournalNodeHRegionServer环境准备1.关闭防火墙15、16、17主机:# service iptables stop2.配置主机名a) 15、16、17主机:# vi /etc/hosts添加如下内容:10.12.34.15 h1510.12.34.16 h1610.12.34.17 h17b) 立即生效15主机:# /bin/hostname h1516主机:# /bin/hostname h1617主机:# /bin/hostname h173. 创建用户15、16、17主机:# useraddhduser密码为hduser# chown -R hduser:hduser /usr/local/4.配置SSH无密码登录a)修改SSH配置文件15、16、17主机:# vi /etc/ssh/sshd_config打开以下注释内容:#RSAAuthentication yes#PubkeyAuthentication yes#AuthorizedKeysFile .ssh/authorized_keysb)重启SSHD服务15、16、17主机:# service sshd restartc)切换用户15、16、17主机:# su hduserd)生成证书公私钥15、16、17主机:$ ssh‐keygen ‐t rsae)拷贝公钥到文件(先把各主机上生成的SSHD公钥拷贝到15上的authorized_keys文件,再把包含所有主机的SSHD公钥文件authorized_keys拷贝到其它主机上)15主机:$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys16主机:$cat ~/.ssh/id_rsa.pub | ssh hduser@h15 'cat >> ~/.ssh/authorized_keys'17主机:$cat ~/.ssh/id_rsa.pub | ssh hduser@h15 'cat >> ~/.ssh/authorized_keys'15主机:# cat ~/.ssh/authorized_keys | ssh hduser@h16 'cat >> ~/.ssh/authorized_keys'# cat ~/.ssh/authorized_keys | ssh hduser@h17 'cat >> ~/.ssh/authorized_keys'5.Mysqla) Host10.12.34.14:3306b) username、passwordhduser@hduserZookeeper使用hduser用户# su hduser安装(在15主机上)1.下载/apache/zookeeper/2.解压缩$ tar ‐zxvf /zookeeper‐3.4.6.tar.gz ‐C /usr/local/配置(在15主机上)1.将zoo_sample.cfg重命名为zoo.cfg$ mv /usr/local/zookeeper‐3.4.6/conf/zoo_sample.cfg /usr/local/zookeeper‐3.4.6/conf/zoo.cfg2.编辑配置文件$ vi /usr/local/zookeeper‐3.4.6/conf/zoo.cfga)修改数据目录dataDir=/tmp/zookeeper修改为dataDir=/usr/local/zookeeper‐3.4.6/datab)配置server添加如下内容:server.1=h15:2888:3888server.2=h16:2888:3888server.3=h17:2888:3888server.X=A:B:C说明:X:表示这是第几号serverA:该server hostname/所在IP地址B:该server和集群中的leader交换消息时所使用的端口C:配置选举leader时所使用的端口3.创建数据目录$ mkdir /usr/local/zookeeper‐3.4.6/data4.创建、编辑文件$ vi /usr/local/zookeeper‐3.4.6/data/myid添加内容(与zoo.cfg中server号码对应):1在16、17主机上安装、配置1.拷贝目录$ scp ‐r /usr/local/zookeeper‐3.4.6/ hduser@10.12.34.16:/usr/local/$ scp ‐r /usr/local/zookeeper‐3.4.6/ hduser@10.12.34.17:/usr/local/2.修改myida)16主机$ vi /usr/local/zookeeper‐3.4.6/data/myid1 修改为2b)17主机$ vi /usr/local/zookeeper‐3.4.6/data/myid1修改为3启动$ cd /usr/local/zookeeper‐3.4.6/$./bin/zkServer.sh start查看状态:$./bin/zkServer.sh statusHadoop使用hduser用户# su hduser安装(在15主机上)一、安装Hadoop1.下载/apache/hadoop/common/2.解压缩$ tar ‐zxvf /hadoop‐2.4.0.tar.gz ‐C /usr/local/二、 编译本地库,主机必须可以访问internet。
安装配置_hadoop2.4_zookeeper3.4.6_hbase0.98.3_mysql5.6.14_hive0.13.1_sqoop1.99.3(带下载URL)
172.21.107.37 s37
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=mas
HOSTNAME=s36
HOSTNAME=s37
------------------------------------------------------------------------------------------------------------------------
vi ~/.bash_profile
#tools compile
export CMAKE_HOME=/usr/local/cmake-2.8.12.2
export PROTOC_HOME=/usr/local/protobuf-2.5.0
export MAVEN_HOME=/usr/local/apache-maven-3.0.5
8.测试是否成功
ssh 172.21.107.35
ssh 172.21.107.36
ssh 172.21.107.37
------------------------------------------------------------------------------------------------------------------------
useradd -u 600 hadoop -d /home/hadoop
2.修改密码
echo "hadoop" |passwd --stdin hadoop
------------------------------------------------------------------------------------------------------------------------
HadoopHbaseHive安装过程详细记录-14页word资料
一、说明网络上有很多关于hadoop hbase hive的安装说明,按照其方法,总是有问题,记录下完整的安装过程,以供参考。
A操作系统是 ubuntu12.10二、安装jdk, hadoop, ssh server的方法参考文章《ubuntu操作记录》下面是具体内容:1.安装ubuntu之后,增加root 用户 sudo passwd ;2.ifconfig查看网络配置;/etc/network/interfaces3.网络配置文件:netifa /etc/sysconfig/network4、安装ssh5.sudo apt-get ssh-server;6、jdk安装sudo mo ./jdk.bin /opt/chmod u+x jdk.binsudo ./jkd.bin或 sh ./jdk.bin6.配置jdk;/etc/profile#set java environmentexport JAVA_HOME=/opt/jdk1.6.0_24(=前后没有空格)export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$PATHumask 022/etc/environmentPATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/ga mesc"CLASSPATH="/opt/jdk1.6.0_24/lib"JAVAHOME="/opt/jdk1.6.0_24"7. shutdown –r now重启之后,显示java安装成功。
7、ssh设置$ apt-get install ssh$ ssh-keygen -t rsa -f ~/.ssh/id_rsa$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys$ ssh localhost(认证没有通过)在上面的问题中应该回答yes,继续,就可以ssh匿名登录了。
Sqoop进阶及Hive、Hbase相关知识介绍
Hadoop
课程目标
Sqoop增量导入 Hive内部表和外部表 Hbase概述 Hbase安装说明 Hbase简单命令
Sqoop增量导入(1)
sqoop支持两种增量导入模式,
--check-column (col) 检查指定的列,根据此列判 断哪些记录是新数据且需要导入的,列不能是字符相 关类型(CHAR/NCHAR/VARCHAR/VARNCHAR/ LONGVARCHAR/LONGNVARCHAR)
注意:不管是使用哪种模式导入,--check-column、 --incremental和--last-value三个参数在命令中都必 须同时使用。
hive内部表与外部表(1)
创建一张内部表create table innerTable(id int,name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE;
整个存储系统就会挂掉.
Hbase安装(1)
安装的前提条件是已经成功安装了Hadoop 安装版本hbase-0.98.9-hadoop2-bin.tar.gz 解压文件tar –xzvf hbase-0.98.9-hadoop2-
bin.tar.gz 修改hbase下的conf目录下的配置文件hbase-env.sh
导入数据drop table exterTable;
删除外部表的时候,数据并没有被删除,这是和 删除表的数据完全不一样的
hive内部表与外部表(4)
Hive中表与外部表的区别:
1、在导入数据到外部表,数据并没有移动到自己 的数据仓库目录下,也就是说外部表中的数据并 不是由它自己来管理的!而表则不一样;
Hadoop+HBase+ZooKeeper三者关系与安装
Hadoop+HBase+ZooKeeper三者关系与安装配置(2013-02-27 11:48:48)转载▼分类:分布式技术标签:hadoopzookeeperhbase分布式这里有几个主要关系:1.经过Map、Reduce运算后产生的结果看上去是被写入到HBase了,但是其实HBase中HLog和StoreFile中的文件在进行flush to disk操作时,这两个文件存储到了HDFS的DataNode中,HDFS才是永久存储。
2.ZooKeeper跟Hadoop Core、HBase有什么关系呢?ZooKeeper都提供了哪些服务呢?主要有:管理Hadoop集群中的NameNode,HBase中HBaseMaster的选举,Servers之间状态同步等。
具体一点,细一点说,单只HBase中ZooKeeper实例负责的工作就有:存储HBase的Schema,实时监控HRegionServer,存储所有Region的寻址入口,当然还有最常见的功能就是保证HBase集群中只有一个Master。
2、搭建完全分布式集群在做hadoop,hbase这方面的工作有一段时间了,经常有刚接触这些东西的身边朋友,向我询问基本环境的搭建问题,于是就想以回忆录的形式把基本配置的步骤整理出来,以便刚接触的朋友做个参考.HBase集群建立在hadoop集群基础之上,所以在搭建HBase集群之前需要把Hadoop集群搭建起来,并且要考虑二者的兼容性.现在就以四台机器为例,搭建一个简单的集群.使用的软件版本:hadoop-1.0.3,hbase-0.94.2,zookeeper-3.4.4.四台机器IP:10.2.11.1,10.2.11.2,10.2.11.3,10.2.11.4.一.搭建Hadoop集群1. 安装JDK.在每台机器下建立相同的目录/usr/java.把下载的jdk(1.6及以上版本)复制到/usr/java目录下面,使用命令1tar –zxvf jdk-7u9-linux-i586.tar.gz2sudo chmod 777 jdk-1.7.0_09把jdk的路径加到环境变量中:3vim.tiny /etc/profile在该文件最后一行添加:4JAVA_HOME=/usr/java/jdk1.7.0_095 PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:PATH6 CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib使修改的操作生效:7source /etc/profile可以使用8java -version进行验证是否已配置成功.2.在每台机器上建立相同的用户名9sudo adduser cloud10password cloud输入你要设置的密码.然后在每台机器作配置:11sudo gedit /etc/hosts打开文件后加入如下内容:1210.2.11.1 namenode1310.2.11.2 datanode11410.2.11.3 datanode21510.2.11.4 datanode33.在/home/cloud/目录下建立一个文件夹project,命令如下:16mkdir project把hadoop-1.0.3.tar.gz,zookeeper-3.4.4.tar.gz,hbase-0.94.2.tar.gz,这些下载的软件包放在此目录下面,以待下一步操作。
spark1.0.2读取hbase(CDH0.96.1)上的数据
spark1.0.2读取hbase(CDH0.96.1)上的数据基本环境:我是在win7环境下,spark1.0.2,HBase0.9.6.1使⽤⼯具:IDEA14.1, scala 2.11.6, sbt。
我现在是测试环境使⽤的是单节点1、使⽤IDEA创建⼀个sbt的⼯程后,在build.sbt⽂件加⼊配置⽂件libraryDependencies += "org.apache.spark" % "spark-core_2.10" % "1.0.2" % "provided"libraryDependencies += "org.apache.spark" % "spark-streaming_2.10" % "1.0.2" % "provided"libraryDependencies += "org.apache.hbase" % "hbase-common" %"0.96.1.1-hadoop2" % "provided"libraryDependencies += "org.apache.hbase" % "hbase-client" % "0.96.1.1-hadoop2" % "provided"libraryDependencies += "org.apache.hbase" % "hbase-server" % "0.96.1.1-hadoop2" % "provided"2、创建⼀个scala Object对应的路径和表名,列族⾃⼰修改package cn.rcz.bigdataimport org.apache.spark.SparkContextimport org.apache.spark._import org.apache.hadoop.hbase.HBaseConfigurationimport org.apache.hadoop.hbase.HTableDescriptorimport org.apache.hadoop.hbase.client.HBaseAdminimport org.apache.hadoop.hbase.mapreduce.TableInputFormatimport org.apache.hadoop.hbase.HColumnDescriptorimport org.apache.hadoop.hbase.util.Bytesimport org.apache.hadoop.hbase.client.Putimport org.apache.hadoop.hbase.client.HTableimport org.apache.hadoop.hbase.client.Resultimport org.apache.hadoop.hbase.io.ImmutableBytesWritableimport org.apache.hadoop.hbase.client.Delete/*** Created by ptbx on 2015/4/7.*/import org.apache.spark.{SparkContext, SparkConf}import org.apache.spark.SparkContext._object Test01 extends Serializable{def main(args: Array[String]) {/* if (args.length != 2) {System.err.println("Usage: LogAnalyzer <input> <output>")System.exit(1)}*/val sc = new SparkContext("spark://master:7077", "SparkHBase01")val conf = HBaseConfiguration.create()conf.set("hbase.zookeeper.property.clientPort", "2181")conf.set("hbase.zookeeper.quorum", "master")conf.set("hbase.master", "master:60000")conf.addResource("/home/hadoop/hbase-0.96.1.1-cdh5.0.2/conf/hbase-site.xml")conf.set(TableInputFormat.INPUT_TABLE, "carInfo")val admin = new HBaseAdmin(conf)if (!admin.isTableAvailable("messInfo")) {print("Table Not Exists! Create Table")val tableDesc = new HTableDescriptor("messInfo")tableDesc.addFamily(new HColumnDescriptor("messInfo".getBytes()))admin.createTable(tableDesc)}val hbaseRDD = sc.newAPIHadoopRDD(conf, classOf[TableInputFormat],classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable],classOf[org.apache.hadoop.hbase.client.Result])val count = hbaseRDD.count()println("HBase RDD Count:" + count)hbaseRDD.cache()val res = hbaseRDD.take(count.toInt)for (j <- 1 until count.toInt) {println("j: " + j)var rs = res(j - 1)._2var kvs = rs.rawfor (kv <- kvs)println("rowkey:" + new String(kv.getRow()) +" cf:" + new String(kv.getFamily()) +" column:" + new String(kv.getQualifier()) +" value:" + new String(kv.getValue()))}System.exit(0)}}3:打包成jar 提交运⾏在doc下,进⼊⽂件⽬录后,输⼊sbt再次输⼊compile,进⼊编译然后在输⼊package打包后的jar包在项⽬的out⽂件夹⾥⾯4、提交到spark上运⾏spark 的运⾏⽅式有3种,后续⽂件会有补充sh spark-submit --class cn.szkj.bigdata.Test01 --master local[3] /home/hadoop/work.jar 把输⼊的值当作参数修改后def main(args: Array[String]) {if (args.length != 9) {System.err.println("Usage: LogAnalyzer <masterAddress> <jobname> <masterName> <masterName> <hbase-core-site.xml dir> <tableName> <tableName> <columnFiamly> <columnFiamly>") System.exit(1)}// val sc = new SparkContext("spark://master:7077", "SparkHBase")val sc = new SparkContext(args(0), args(1))val conf = HBaseConfiguration.create()conf.set("hbase.zookeeper.property.clientPort", "2181")conf.set("hbase.zookeeper.quorum", args(2))conf.set("hbase.master", args(3)+":60000")conf.addResource(args(4))conf.set(TableInputFormat.INPUT_TABLE, args(5))val admin = new HBaseAdmin(conf)if (!admin.isTableAvailable(args(6))) {print("Table Not Exists! Create Table")val tableDesc = new HTableDescriptor(args(7))tableDesc.addFamily(new HColumnDescriptor(args(8).getBytes()))}val hbaseRDD = sc.newAPIHadoopRDD(conf, classOf[TableInputFormat],classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable],classOf[org.apache.hadoop.hbase.client.Result])val count = hbaseRDD.count()println("HBase RDD Count:" + count)hbaseRDD.cache()val res = hbaseRDD.take(count.toInt)for (j <- 1 to count.toInt) { //to 是查询所有记录, until 查询单条记录println("j: " + j)var rs = res(j - 1)._2var kvs = rs.rawfor (kv <- kvs)println("rowkey:" + new String(kv.getRow()) +" cf:" + new String(kv.getFamily()) +" column:" + new String(kv.getQualifier()) +" value:" + new String(kv.getValue()))}for (j <- 1 until count.toInt){}System.exit(0)}。
hive查询hbase-电脑资料
mtime string,
otags string,
priority string,
retry string,
result string,
srcImages string,
src_url string,
status string,
summary string,
task_type string,
2hbase查询的确是不太方便除了指定rowkey或者通过指定startkeystopkey进行scan之外没有更有效的查询方式如果想通过列值过滤只能全表扫描了如果要搞什么groupby或者orderby除非你的rowkey做了相应设计更是没法弄在传统的mysqloracle得心应手的查询在hbase上就是束手束脚
添加分区
ALTER TABLE task_history ADD PARTITION(dt='20131223') LOCATION '/group/wireless-arctic/task/20131223';3.如何自动化
通过工具比如datax或者其他导出工具将HBase表导出到HDFS,正如前面提到的每天一个目录(以日期命名)
Kill Command = /home/hadoop/hadoop-current/bin/../bin/hadoop job -Dmapred.job.tracker=hdpjt:9001 -kill job_201311281255_6734353
Hadoop job information for Stage-1: number of mappers: 10; number of reducers: 0
title string,
spark、hive、impala、hbase、gbase在结构化数据方面查询原理对比
spark、hive、impala、hbase、gbase在结构化数据方面查询原理对比(含parquet/orc)这几天恰巧来了4台服务器,还没有正式使用,所以赶紧加班安装调试了hadoop + spark 。
以前也玩过spark,但这次玩,是因为spark从1.4版本后使spark sql独立出来,想必一定不赖;另外,还支持DataFrame,底层存储支持parquet,甚至orc file。
一、parquet 和orc 对比我专门查了查parquet 和orc,网上很多,我只说关键的。
1、parquet 和orc 都是用于存储数据的底层格式,都是列式的。
不难想象,对于单查某一个或2个列,因为不涉及其他列,所以速度会很快。
2、都能实现列压缩。
如连续3个一样的数据放在一起,他们可以只写一遍,标示上为3次即可。
压缩不压缩,我倒不怕空间浪费,关键是因为减小了体积,所以查询速度势必加快,所以这是好的。
3、在一定体积内(无论多少行),都是放在一起的,所以他们列式的前提,是先多行在一起,然后在多行内的列独立。
4、不同:orc 格式,在文件头有一个粗粒度索引,如此列的最大值和最小值。
如果您查询的值不在此列包,则跳过不查,所以orc格式在查询结果不大的情况下,会速度快很多。
而parquet则没有此特征。
5、parquet 不支持Update,不支持ACID。
二、spark 和hive先说好的:如果查询结果非常大,且需要将这些大的查询结果来回倒腾对比,建议使用spark。
spark的DataFrame也很好使,且支持lambda表达式,是完全的程序员式的数据检索方式,很符合我的风格要求(.NET早就有了)。
还有,可以将DataFrame结果存储为parquet,甚至orc。
但结果很让我失望,我想将结果存储为orc,但他要求先配置hive,要知道,安装一个spark就很得先安装hadoop,都是难安装的主,再安装hive,所以他们之间会很复杂,出错后,很难找原因。
Hadoop2.2.0+Hbase0.98.1+Sqoop1.4.4+Hive0.13完全安装手册
Hadoop2.2.0+Hbase0.98.1+Sqoop1.4.4+Hive0.13完全安装⼿册Hadoop2.2.0+Hbase0.98.1+Sqoop1.4.4+Hive0.13完全安装⼿册前⾔: (3)⼀. Hadoop安装(伪分布式) (4)1. 操作系统 (4)2. 安装JDK (4)1> 下载并解压JDK (4)2> 配置环境变量 (4)3> 检测JDK环境 (5)3. 安装SSH (5)1> 检验ssh是否已经安装 (5)2> 安装ssh (5)3> 配置ssh免密码登录 (5)4. 安装Hadoop (6)1> 下载并解压 (6)2> 配置环境变量 (6)3> 配置Hadoop (6)4> 启动并验证 (8)前⾔:⽹络上充斥着⼤量Hadoop1的教程,版本⽼旧,Hadoop2的中⽂资料相对较少,本教程的宗旨在于从Hadoop2出发,结合作者在实际⼯作中的经验,提供⼀套最新版本的Hadoop2相关教程。
为什么是Hadoop2.2.0,⽽不是Hadoop2.4.0本⽂写作时,Hadoop的最新版本已经是2.4.0,但是最新版本的Hbase0.98.1仅⽀持到Hadoop2.2.0,且Hadoop2.2.0已经相对稳定,所以我们依然采⽤2.2.0版本。
⼀. Hadoop安装(伪分布式)1. 操作系统Hadoop⼀定要运⾏在Linux系统环境下,⽹上有windows下模拟linux环境部署的教程,放弃这个吧,莫名其妙的问题多如⽜⽑。
2. 安装JDK1> 下载并解压JDK我的⽬录为:/home/apple/jdk1.82> 配置环境变量打开/etc/profile,添加以下内容:export JAVA_HOME=/home/apple/jdk1.8export PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar 执⾏source /etc/profile ,使更改后的profile⽣效。
hadoop、hbase、hive版本对应关系查找表 - 文档
很多刚入门的同学找不到版本对应关系,这里从官网整理下来,供大家参考hadoop、hbase、hive版本对应关系问题导读:网上很多同学都找不到hbase、hive、hadoop的对应关系,这里整理一下1.hadoop2.X与hbase、哪些版本对应?2.hadoop2.X与hive哪些版本对应?hadoop、hbase、hive版本对应关系查找表hadoop与hive版本对应关系hive版本0.13.1支持hadoop版本Hadoop 0.20.x, 0.23.x.y, 1.x.y, 2.x.yhive版本0.13.0支持hadoop版本Hadoop 0.20.x, 0.23.x.y, 1.x.y, 2.x.yhive版本0.12.0支持hadoop版本Hadoop 0.20.x, 0.23.x.y, 1.x.y, 2.x.yhive版本0.11.0支持hadoop版本Hadoop 0.20.x, 0.23.x.y, 1.x.y, 2.x.yhive版本0.10.0支持hadoop版本Hadoop 0.20.x, 0.23.x.y, 1.x.y, 2.x.yhadoop1.2+hbase0.95.0+hive0.11.0会产生hbase+hive的不兼容,创建hive+hbase的关联表就会报pair对异常。
hadoop1.2+hbase0.94.9+hive0.10.0 没问题,解决了上个版本的不兼容问题。
hadoop-1.0.3+hive-0.9.0+hbase-0.92.0兼容hadoop2.2+hbase0.96+hive0.12兼容(有些小问题,可能需要一些补丁)hadoop2.2+hbase0.96+hive0.13兼容(应该兼容)Hadoop 与hbase支持版本S = 支持并且测试,X = 不支持,NT = 应该可以,但是没有测试.HBase-0.92.x HBase-0.94.x HBase-0.96.x HBase-0.98.x[a]HBase-1.0.x Hadoop-0.20.205S X X X X Hadoop-0.22.x S X X X X Hadoop-1.0.0-1.0.2[c]X X X X X Hadoop-1.0.3+S S S X X Hadoop-1.1.x NT S S X X Hadoop-0.23.x X S NT X X Hadoop-2.0.x-alpha X NT X X X Hadoop-2.1.0-beta X NT S X X Hadoop-2.2.0X NT [d]S S NT Hadoop-2.3.x X NT S S NT Hadoop-2.4.x X NT S S S Hadoop-2.5.x X NT S S S[a] Support for Hadoop 1.x is deprecated.Hadoop 1.x is NOT supported[c] HBase requires hadoop 1.0.3 at a minimum; there is an issue where wecannot find KerberosUtil compiling against earlier versions of Hadoop.[d] To get 0.94.x to run on hadoop 2.2.0, you need to change the hadoop 2and protobuf versions in the pom.xml: Here is a diff with pom.xml changes:1.$ svn diff pom.xml2.Index: pom.xml3.===================================================================4.--- pom.xml (revision 1545157)5.+++ pom.xml (working copy)6.@@ -1034,7 +1034,7 @@7. <slf4j.version>1.4.3</slf4j.version>8. <log4j.version>1.2.16</log4j.version>9. <mockito-all.version>1.8.5</mockito-all.version>10.- <protobuf.version>2.4.0a</protobuf.version>11.+ <protobuf.version>2.5.0</protobuf.version>12. <stax-api.version>1.0.1</stax-api.version>13. <thrift.version>0.8.0</thrift.version>14. <zookeeper.version>3.4.5</zookeeper.version>15.@@ -2241,7 +2241,7 @@16. </property>17. </activation>18. <properties>19.- <hadoop.version>2.0.0-alpha</hadoop.version>20.+ <hadoop.version>2.2.0</hadoop.version>21. <slf4j.version>1.6.1</slf4j.version>22. </properties>23. <dependencies>The next step is to regenerate Protobuf files and assuming that the Protobuf has been installed:Go to the hbase root folder, using the command line;Type the following commands:$ protoc -Isrc/main/protobuf --java_out=src/main/java src/main/protobuf/hbase.proto$ protoc -Isrc/main/protobuf --java_out=src/main/java src/main/protobuf/ErrorHandling.protoBuilding against the hadoop 2 profile by running something like the following command:$ mvn clean install assembly:single -Dhadoop.profile=2.0 -DskipTestsReplace the Hadoop Bundled With HBase!Because HBase depends on Hadoop, it bundles an instance of the Hadoop jar under its lib directory. The bundled jar is ONLY for use in standalone mode. In distributed mode, it is critical that the version of Hadoop that is out on your cluster match what is under HBase. Replace the hadoop jar found in the HBase lib directory with the hadoop jar you are running on your cluster to avoid version mismatch issues. Make sure you replace the jar in HBase everywhere on your cluster. Hadoop version mismatch issues have various manifestations but often all looks like its hung up.由于管网随时更新,这里附上管网:https:///book/configuration.html#h adoop本文链接:/thread-8683-1-1.html对于云技术、大数据爱好者、可以关注:about云腾讯认证空间,每天更新最新内容,经典文章/278595437/mainabout云官方群39327136、371358502、322273151云计算爱好者群惯用手机可以关注微信:云资源、云技术、疑问解答邮件订阅地址:/cgi-bin/qf_invite?id=5e272bf95516e801681caf0fda5304dcadda1f67b4bbe4d8淘宝云技术入门、hadoop、openstack及其它视频:/?v=1。
Hadoop,HBase,hive安装步骤
Hadoop,ZooKeeper,HBase,hive(HQL) 安装步骤Hadoop安装:首先我们统一一下定义,在这里所提到的Hadoop是指Hadoop Common,主要提供DFS(分布式文件存储)与Map/Reduce的核心功能。
Hadoop在windows下还未经过很好的测试,所以推荐大家在linux(cent os 6.X)下安装使用。
准备安装Hadoop集群之前我们得先检验系统是否安装了如下的必备软件:ssh和Jdk1.6(因为Hadoop需要使用到Jdk中的编译工具,所以一般不直接使用Jre)。
可以使用yum install rsync来安装rsync。
一般来说ssh是默认安装到系统中的。
Jdk1.6的安装方法下载linux版本的java,#mkdir /usr/java#cd /usr/java#chmod a+x jdk-6u27-linux-i586.bin#./jdk-6u27-linux-i586.bin安装完成后,设臵环境变量:在etc/profile中设臵#export JAVA_HOME=/usr/java/jdk1.6.0_27#exportCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOM E/lib/tools.jar#export PATH=$PATH:$JAVA_HOME/bin设臵完成后,使用reboot或者source /etc/profile确保以上准备工作完了之后我们就开始安装Hadoop软件,假设我们用三台机器做Hadoop集群,分别是:192.168.0.141、192.168.0.142和192.168.0.143(下文简称141,142和143),且都使用root用户。
这里有一点需要强调的就是,务必要确保每台机器的主机名和IP地址之间能正确解析。
Host配臵一个很简单的测试办法就是ping一下主机名,比如在ww-1上ping ww-2,如果能ping通就OK!若不能正确解析,可以修改/etc/hosts文件,如果该台机器作Namenode用,则需要在hosts文件中加上集群中所有机器的IP地址及其对应的主机名;如果该台机器作Datanode用,则只需要在hosts文件中加上本机IP地址和Namenode机器的IP地址。
Hadoop和Hive的安装配置
Hadoop和Hive的安装配置hadoop安装指南/hive安装指南Hadoop集群需要一台机器作为主节点,其余都是从节点。
配置单元只需要在主节点中安装和配置。
配置hadoopHadoop的配置相对简单。
下面详细介绍安装和配置步骤。
要配置Hadoop 0,请以版本20.2为例。
(1)从hadoop官网上下载hadoop-0.20.2.tar.gz文件,并解压产生hadoop-0.20.2目录,将该目录到/opt/hadoop目录下(如果你解压缩到了其它目录中,注意后面要相应的修改配置项)。
输入命令以建立$ln-shadow-0.20.2hadoop的软连接(其优点是,如果使用其他版本的Hadoop,则无需重新配置)(2)hadoop和hive都需要机器名。
用hostname命令修改本机的机器名,例如修改10.10.10.1的机器名为hadoop139需要键入#hostnamehadoop1修改/etc/hosts文件,添加hadoop集群中所有的机器名和ip地址的对应关系。
master节点和所有slave节点一定都要添加,否则会出问题。
例如在我的所有hadoop机器的/etc/hosts文件都添加10.10.10.1 Hadoop 110。
10.10.2 Hadoop 210。
10.10.3 ADOP310。
10.10.4hadoop410。
10.10.5 Hadoop 510。
10.10.6 Hadoop 610。
10.10.7 Hadoop 7(3)由于主节点的机器需要在没有密码的情况下登录到所有从节点,因此所有机器都需要以下配置。
在本文中hadoop1是master节点。
打开/etc/SSH/sshd_uu-Config文件以确保SSH不使用SSH2协议,或者将所有协议2修改为协议1。
如果修改了该文件,用servicesshdrestart命令重启一下ssh服务。
键入以下命令#cd~/.ssh/#ssh-keygen-trsa1-c\#身份。
Sqoop1.4.4在Hadoop2.2.0集群上的安装
Available commands:
codegen Generate code to interact with database records
create-hive-table Import a table definition into Hive
eval Evaluate a SQL statement and display the results
Warning: /usr/lib/hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
usage: sqoop COMMAND [ARGS]
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
ant-eclipse-1.0-jvm1.2.jar avro-mapred-1.5.3.jar jackson-core-asl-1.7.3.jar mysql-connector-java-5.1.18-bin.jar
avro-1.5.3.jar commons-io-1.4.jar jackson-mapper-asl-1.7.3.jar paranamer-2.3.jar
SQOOP源码浅析
SQOOP大数据源码浅析在数据处理的生态群里sqoop组件,占据了举足轻重地位。
特别是将Hadoop和关系型数据库中的数据相互转移的sqoop是不二之选的工具。
Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。
由于目前Sqoop1.4.6-CDH版本,把关系数据库mysql数据迁移到hive中,是不支持多级分区的。
于是开启了两天魔改源码的节奏 - -源码地址:https:///apache/sqoop项目活跃度从客观上看还是比较活跃的。
毕竟属于Apache开源顶级项目。
OK开启我的源码之路:先整到本地idea,默认是maven找到生成hive核心类TableDefWriter.javasqoop传递参数如下所示都是存储在SqoopOptions中分区信息如下:生成创建hive表分区字符串拼接如下:做了如下改造:生成创建hive表分区字符串拼接如下:分区信息如下:数据库导入工具类——ImportToolorg.apache.sqoop.tool.ImportTool是sqoop实现数据库导入功能的工具类。
ImportTool最核心的两个属性protected ConnManager manager;private CodeGenTool codeGenerator;ImportTool的run方法•在run方法中执行init(options)时,会根据命令行参数,利用org.apache.sqoop.ConnFactory生成对应的ConnManager对象。
•在importTable方法中,codeGenerator会将表结构对应的java类写入jar文件。
这个jar文件和其他选项会构造出一个ImportJobContext对象。
•如果是增量模式,initIncrementalConstraints(options, context)会把IncrementalTestColumn的最大值保存在options.incrementalLastValue属性中,作为下一次增量的起点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Hadoop2.2.0+Hbase0.98.1+Sqoop1.4.4+Hive0.13完全安装手册前言: (3)一. Hadoop安装(伪分布式) (4)1. 操作系统 (4)2. 安装JDK (4)1> 下载并解压JDK (4)2> 配置环境变量 (4)3> 检测JDK环境 (5)3. 安装SSH (5)1> 检验ssh是否已经安装 (5)2> 安装ssh (5)3> 配置ssh免密码登录 (5)4. 安装Hadoop (6)1> 下载并解压 (6)2> 配置环境变量 (6)3> 配置Hadoop (6)4> 启动并验证 (8)前言:网络上充斥着大量Hadoop1的教程,版本老旧,Hadoop2的中文资料相对较少,本教程的宗旨在于从Hadoop2出发,结合作者在实际工作中的经验,提供一套最新版本的Hadoop2相关教程。
为什么是Hadoop2.2.0,而不是Hadoop2.4.0本文写作时,Hadoop的最新版本已经是2.4.0,但是最新版本的Hbase0.98.1仅支持到Hadoop2.2.0,且Hadoop2.2.0已经相对稳定,所以我们依然采用2.2.0版本。
一. Hadoop安装(伪分布式)1. 操作系统Hadoop一定要运行在Linux系统环境下,网上有windows下模拟linux环境部署的教程,放弃这个吧,莫名其妙的问题多如牛毛。
2. 安装JDK1> 下载并解压JDK我的目录为:/home/apple/jdk1.82> 配置环境变量打开/etc/profile,添加以下内容:export JAVA_HOME=/home/apple/jdk1.8export PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar执行source /etc/profile ,使更改后的profile生效。
执行以下命令,赋予JDK运行的权限:chmod 777 /home/apple/jdk1.8/bin/*chmod 777 /home/apple/jdk1.8/lib/*3> 检测JDK环境执行 java –version ,查看结果,如出现如下提示,则说明JDK已成功配置:3. 安装SSH1> 检验ssh是否已经安装Ubuntu系统可以通过如下命令来查看ssh是否已经安装:netstat -an| grep 22如果已安装,可跳过第二步。
2> 安装sshUbuntu系统可以通过如下命令来安装ssh:sudo apt-get install ssh3> 配置ssh免密码登录通过如下命令来配置ssh免密码登录:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsacat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys输入如下命令验证免密码登录是否成功:ssh localhost如出现如下界面,则表示登录成功:4. 安装Hadoop1> 下载并解压我的目录为:/home/apple/hadoop-2.2.02> 配置环境变量打开/etc/profile,添加以下内容:export HADOOP_HOME=/home/apple/hadoop-2.2.0export HADOOP_MAPRED_HOME=$HADOOP_HOMEexport HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"export YARN_HOME=$HADOOP_HOMEexportPATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 执行source /etc/profile ,使更改后的profile生效。
执行以下命令,赋予Hadoop运行的权限:chmod 777 /home/apple/hadoop-2.2.0/bin/*chmod 777 /home/apple/hadoop-2.2.0/sbin/*3> 配置Hadoop修改$HADOOP_HOME/etc/hadoop目录下的配置文件。
core-site.xml添加以下内容:<property><name></name><value>hdfs://localhost:9000</value></property><property><name>hadoop.native.lib</name><value>true</value></property>hadoop-env.sh修改以下内容:export JAVA_HOME=/home/apple/jdk1.8hdfs-site.xml添加以下内容:<property><name>dfs.replication</name><value>1</value></property><property><name>.dir</name><value>file:/home/apple/hadoop-2.2.0/hdfs/namenode</value> </property><property><name>dfs.datanode.data.dir</name><value>file:/home/apple/hadoop-2.2.0/hdfs/datanode</value> </property>这里的两个地址,是你namenode和datanode两个节点上,希望hdfs文件存储的位置。
mapred-site.xml.template改为mapred-site.xml,添加以下内容:<property><name></name><value>yarn</value></property>yarn-site.xml添加以下内容:<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>4> 启动并验证用如下命令启动或关闭Hadoop:start-all.shstop-all.sh如果一切正常,使用jps命令你会看到如下信息:访问8088端口可以查看job信息访问50070端口可以查看namenode信息:二. Hbase安装1. 下载并解压解压从官网下的hbase-0.98.1-hadoop2-bin.tar.gz包到本地目录,我的目录为/home/apple/hbase-0.98.1。
2. 配置环境变量打开/etc/profile,添加以下内容:export HBASE_HOME=/home/apple/hbase-0.98.1exportPATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBAS E_HOME/bin:执行source /etc/profile ,使更改后的profile生效。
执行以下命令,赋予Hbase运行的权限:chmod 777 /home/apple/hbase-0.98.1/bin/*3. 配置Hbase打开HBASE_HOME/conf/hbase-env.sh,添加以下内容:export JAVA_HOME=/home/apple/jdk1.8/export HBASE_MANAGES_ZK=true打开HBASE_HOME/conf/hbase-site.xml,添加以下内容:<property><name>hbase.rootdir</name><value>hdfs://localhost:9000/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.master</name><value>localhost:60000</value></property><property><name>hbase.zookeeper.quorum</name><value>localhost</value></property>4. 启动Hbase用如下命令启动和关闭Hbase:start-hbase.shstop-hbase.sh注意:必须先启动Hadoop,再启动Hbase;先关闭Hbase,再关闭Hadoop 启动后,使用jps查看Hbase进程:如有错误或Hbase进程未启动,可通过HBASE_HOME/ logs/ hbase-apple-master-机器名.log来查看启动过程信息。