Hadoop&hive安装配置

本文详细介绍了在Linux环境下安装配置Hadoop和Hive的步骤,包括下载Hadoop和Hive的指定版本,安装JDK,配置SSH无密码访问,设置环境变量,配置Hadoop相关XML文件,创建HDFS目录,以及在主机和从机上的具体配置。此外,还涉及了Hadoop的启动运行、Hive元数据迁移到MySQL以及启动Hive的方法。遇到问题如namenode启动失败、datanode权限问题和Hive字符集错误的解决方案也一并给出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


下载

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数据库连接

hiveconf目录下创建文件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;

 

Ok,配置完成!

 

 

安装过程遇到的问题?

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;


原文地址:http://blog.youkuaiyun.com/lxpbs8851/article/details/7995158



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值