CDH5 hadoop-hive-habse单机版配置,hadoophivehbase
CDH5 hadoop-hive-habse单机版配置
一、安装环境:
OS:CentOS6.5 64位
JDK:jdk-7u72-linux-x64
hadoop:hadoop-2.3.0-cdh5.0.0.
hbase:hbase-0.96.1.1-cdh5.0.0.
hive:hive-0.12.0-cdh5.0.0.tar
我所用的都是基于CDH5.0.0的,使用CDH的发行版不会存在各个组件间不兼容,导致启动失败等异常。
CDH的其他版本可以在这里下载http://archive-primary.cloudera.com/cdh5/cdh/5/
注意下载各个组件的时候其CDH的版本号一定都要相同。
文章中所有安装包和第三方jar包和配置文件都可以在这里下载到
http://pan.baidu.com/s/1pJDjHQN
二、基础准备
1.首先安装好linux系统,我这里的是:CentOS6.5,推荐为hadoop相关的操作再专门建立一个用户,因为root用户权限太大了
用root用户在shell下运行:
//创建一个叫hadoop的用户
>useradd hadoop
//给hadoop设置密码
>passwd hadoop
2.安装jdk,jdk就用root安装好了,linux下配置jdk的方式这里就不细说了,这里用rpm安装
>rpm -ivh jdk-7u72-linux-x64.rpm
然后配置jdk环境变量,我把我的/etc/profile文件贴出来
JAVA_HOME=/usr/java/jdk1.7.0_72
HIVE_HOME=/home/hadoop/hive-0.12.0-cdh5.0.0
HADOOP_HOME=/home/hadoop/hadoop-2.3.0-cdh5.0.0
PATH=$JAVA_HOME/bin:$PATH:$HIVE_HOME/bin:$HADOOP_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$HIVE_HOME/lib
export JAVA_HOME
export HIVE_HOME
export HADOOP_HOME
export PATH
export CLASSPATH
记得source一下
>source /etc/profile
这里已经包括了后面要用到的hadoop和hive的安装目录,就用我们之前建立的hadoop用户安装hadoop、hbase、hive即可。所以它们都在/home/hadoop下。
三、安装hadoop
1.首先需要安装的是hadoop,先上传安装包再解压
用hadoop用户把hadoop、hbase、hive的tar.gz文件都上传到/home/hadoop下
2.解压hadoop-2.3.0-cdh5.0.0.tar.gz
>tar -xzvf ./hadoop-2.3.0-cdh5.0.0.tar.gz
这样hadoop就被安装到了/home/hadoop/hadoop-2.3.0-cdh5.0.0目录下,如果刚才在/etc/profile里没有配置HADOOP_HOME就加进去,别忘了source。
3.下一步就是配置hadoop了
注意所有cmd后缀的文件都是windows下的配置文件,对应Linux下的是sh文件,另外hadoop生态系统中的所有组件的配置文件都遵循一个统一的规则,就是如果是xxx-default.xml则是全局的配置,xxx-site.xml则是个性化的配置,这两种文件里的配置要素完全一样,但是如果xxx-site.xml里存在配置,则会覆盖掉xxx-default.xml中同样标签内的配置,如果site.xml中没有,则会以default.xml中的配置为准。
hadoop的主要配置文件到在hadoop-2.3.0-cdh5.0.0/etc这个目录下,我们需要配置以下几个文件
hadoop-env.sh
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
这五个文件都在hadoop-2.3.0-cdh5.0.0/etc/hadoop这个目录下
配置hadoop-env.sh,27行,因为hadoop是java开发的,运行时需要jdk,根据自己的jdk路径,加上即可,别的没有了。
export JAVA_HOME=/usr/java/jdk1.7.0_72
配置core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:8020</value>
</property>
</configuration>
加上这一段即可,用来表明hdfs的访问地址,我没有修改hosts文件,所以这里就直接写localhost即可,端口可以自己定义,我这里用8020。
配置hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/dfs/data</value>
</property>
</configuration>
dfs.replication指定数据的副本数,这里是单机的,默认是3,我们改为1即可
dfs.namenode.name.dir指定namenode的路径
dfs.datanode.data.dir指定datanode的路径
这2个路径不用预先创建,后面格式化的时候会自动创建。
配置mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
CDH5的版本是基于apache hadoop2.0的,所以引入了yarn协助hadoop进行分布式计算。
把这一段复制进去就行了。
配置yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
把这一段复制进去就行。
4.格式化hdfs文件系统
第一次使用时在启动之前要进行格式化,之后就不用了,直接启动即可。一旦格式化,会删除hdfs上的所有数据,格式化的时候只需要针对namenode即可。
进入到hadoop-2.3.0-cdh5.0.0/bin目录下,执行
>.

