下载
Hadoop下载
地址:http://labs.renren.com/apache-mirror/hadoop/common/
版本:hadoop-1.0.3.tar.gz
Hive 下载
地址:http://labs.renren.com/apache-mirror/hive/
版本:hive-0.9.0-bin.tar.gz
下载JDK
主机从机上都要安装
版本:jdk-6u35-linux-amd64.rpm
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
在官网上下载jdk-6u17-linux-x64-rpm.bin放在/app/tools/目录下
修改权限:chmod u+x linux-x64-rpm.bin
开始安装,执行 ./linux-x64-rpm.bin
查看安装结果:java –version
显示结果:java version “1.6.0_24″
Java(TM) SE Runtime Environment (build1.6.0_24-b07)
Java HotSpot(TM) 64-Bit Server VM (build19.1-b02, mixed mode)
Ssh配置
创建用户(每个节点都需要)
useradd hadoop删除用户:userdel –r hadoop
创建密码:passwd hadoop
输入两次密码:hadoop
修改hostname(每个节点都需要)
vi /etc/sysconfig/network
HOSTNAME=master //其他机子对应修改
重启服务:service network restart
生成公钥私钥(只要主机上生成,scp到从机)
各个节点之间实现无密码的ssh访问
具体的无密码访问配置见: http://blog.youkuaiyun.com/lxpbs8851/article/details/8263438
主机节点配置(主机执行)
文件上传
将Hadoop和Hive压缩包到/app目录
解压Hadoop
cd /app
tar –zxvf hadoop-1.0.3.tar.gz
mv hadoop-1.0.3 hadoop
解压Hive
cd /app
tar –zxvf hive-0.9.0-bin.tar.gz
mv hive-0.9.0-bin hive
配置环境变量
vi /etc/profile
JAVA_HOME=/usr/java/jdk1.6.0_35
JRE_HOME=/usr/java/jdk1.6.0_35/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
exportJAVA_HOME JRE_HOME PATH CLASSPATH
export HADOOP_HOME=/app/hadoop
exportPATH=$PATH:$HADOOP_HOME/bin
exportHIVE_HOME=/app/hive
PATH=$PATH:$HIVE_HOME/bin
export PATH
配置完成 source/etc/profile,使文件生效。
配置hosts
Vi /etc/hosts
192.168.1.240 master
192.168.1.241 master241
192.168.1.244 slaver244
192.168.1.245 slaver245
192.168.1.246 slaver246
192.168.1.250 slaver250
192.168.1.251 slaver251
127.0.0.1 localhost
安装目录权限赋予
chown -R hadoop:hadoop /app/hadoop
chmod -R 755 /app/hadoop
hadoop-env.sh配置
cd /app/hadoop/conf
vi hadoop-env.sh
JAVA_HOME=/usr/java/jdk1.6.0_35 //对应的是JAVA_HOME
export HADOOP_INSTALL=/app/hadoop //对应hadoop安装根目录
export PATH=$PATH:$HADOOP_INSTALL/bin
core-site.xml配置
cd /app/hadoop/conf
vi core-site.xml
<configuration>
<property>
<name>fs.default.name</name> //namenode
<value>master:9000</value>
</property>
<property>
<name>Hadoop.tmp.dir</name>//tmp目录,默认是在/tmp下,重启临时数据就丢失,换
<value>/data/hdfs/tmp</value>
</property>
</configuration>
mapred-site.xml配置
cd /app/hadoop/conf
vimapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name> //jobtracker端口配置
<value>master:9001</value>
</property>
</configuration>
hdfs-site.xml配置
cd /app/hadoop/conf
vihdfs-site.xml
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/data/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/data/hdfs/data</value>
</property>
<property>
<name>dfs.datanode.max.xcievers</name>
<value>4096</value>
</property>
<property>
<name>dfs.replication</name> //文件备份份数
<value>3</value>
</property>
</configuration>
Masters配置
主机上配置masters文件的意思是指定secondary namenode
Vi masters
master241
slavers配置
配置datanode
vi slavers
slaver244
slaver245
slaver246
slaver250
slaver251
HDFS目录创建
Cd /
mkdir data
cd data
mkdir hdfs
cd hdfs
mkdir namedata
chown -R hadoop:hadoop/data
chmod -R 755 /data
从机节点配置(各节点都执行)
Hadoop安装
将主机上配置好的hadoop文件夹打包,分别scp到各台slaver上,并解压
安装目录权限赋予
chown -R hadoop:hadoop /app/hadoop
chmod -R 755 /app/hadoop
HDFS目录创建
Cd /
mkdir data
cd data
mkdir hdfs
cd hdfs
mkdir namedata
chown -R hadoop:hadoop/data
chmod -R 755/data
Hosts配置
从机上的hosts文件都改为:
Vi /etc/hosts
192.168.1.240 master
192.168.1.241 master241
192.168.1.244 slaver244
192.168.1.245 slaver245
192.168.1.246 slaver246
192.168.1.250 slaver250
192.168.1.251 slaver251
127.0.0.1 localhost
从机全局变量配置
vi /etc/profile
JAVA_HOME=/usr/java/jdk1.6.0_35
JRE_HOME=/usr/java/jdk1.6.0_35/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
export HADOOP_HOME=/app/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export HIVE_HOME=/app/hive
PATH=$PATH:$HIVE_HOME/bin
export PATH
配置完都需要source /etc/profile,使文件生效。
配置完成!
Hadoop启动运行
主机上su hadoop
Cd /app/hadoop/bin
./hadoop namenode –format //第一次先格式化namenode
./start-all.sh
主机上Jps查看运行情况:
从机上jps查看运行情况:
Hive配置(只需要主机上配置)
元数据迁移到mysql
主机上先安装mysql,用于存放hadoop元数据
Mysql驱动
下载一个数据包mysql-connector-java-5.1.18-bin.jar,放到hive的lib目录下,
下载地址http://ishare.iask.sina.com.cn/f/22398370.html?from=dl&retcode=0
创建用户
Mysql创建用户hadoop,密码为hadoop321
Mysql下创建元数据库:hive
修改hive数据库连接
在hive的conf目录下创建文件hive-site.xml配置文件(数据库连接等信息自定义):
<?xml version="1.0"?>
<?xml-stylesheettype="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hadoop</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hadoop321</value>
</property>
<property>
<name>datanucleus.fixedDatastore</name>
<value>false</value>
</property>
</configuration>
Hive启动运行
Cd /app/hive
./hive
查看数据表:
Show tables;
安装过程遇到的问题?
jps namenode启动不了?
解决方法:hadoopnamenode -format的时候选择Y/N的时候必须输入大写Y,然后start-all.sh
某个节点的datanode进程启动不了,
报错:2012-09-18 14:59:13,203 ERRORorg.apache.hadoop.hdfs.server.datanode.DataNode: All directories indfs.data.dir are invalid.
解决方法:chmod 755/data/hdfs/data ,权限不能过大
hive报一下错误:
Specified key was too long; max key lengthis 767 bytes。
解决方法:alterdatabase hive character set latin1;