ubantu下安装hadoop+hive全解

来源:互联网 发布:js cookie 过期时间 编辑:程序博客网 时间:2024/05/22 12:28

参考链接:http://www.cnblogs.com/viviman/archive/2013/01/14/2860201.html


ubanto-hadoop环境搭建

安装 vm

下载:去官网下 VMware-player-5.0.1-894247.zip

安装和配置ubanto

下载:去官网下 ubuntu-12.10-desktop-i386.iso

打开vm,载入ubanto iso文件,进行安装更新

进入ubanto,如果是第一个进入,则需要设置root的密码

> sudo passwd root

创建用户

#sudo useradd username
#sudo passwd username

 

配置简单的VIM

syntax on

set ruler

set autoindent

set cindent

set hlsearch

 

安装和配置JDK

首先将*.tar.gz解压

具体方法为:tar -xzvf *.tar.gz

假设得到的文件夹为java

将其移动到/usr/中

命令为:sudo mv java /usr/

然后设置环境变量:

sudo gedit /etc/profile

打开文件

在结尾处umask 022前,输入:

    JAVA_HOME=/usr/java
  export JRE_HOME=/usr/java/jre
  export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

Ubuntu 中修改默认jdk

update-alternatives --install /usr/bin/java java /usr/java/bin/java 300
update-alternatives --install /usr/bin/javac javac /usr/java/bin/javac 300

通过这一步将我们安装的jdk加入java选单。

update-alternatives --config java

选择默认的jdk

java -version

检查OK

安装和配置SSH免密钥

安装 sudo apt-get install ssh 

ip : ifconfig

root@ubuntu:~# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
root@ubuntu:~# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

 

./hadoop namenode -format 

sh starl-all.sh

ps -ef 查看进程 ps -ef | hadoop

sh stop-all.sh

 

安装和配置hadoop

下载:去官网下 hadoop-1.0.4.tar.gz

解压到某路径下,这里我们选择 /root/

配置hadoop/root/hadoop-1.0.4/conf 主要对此配置路径下的xml进行配置

 

首先在hadoop目录下新建datas路径,在datas中建hdfstmp路径,在hdfs下建namedata路径

接着进行配置

core-site.xml

<property>

<name>fs.default.name</name>

<value>hdfs://192.168.119.128:8898</value>

</property>

 

<property>

<name>hadoop.tmp.dir</name>

<value>/root/hadoop-1.0.4/datas/tmp</value>

</property>

 

hdfs-site.xml

<property>

<name>dfs.name.dir</name>

<value>/root/hadoop-1.0.4/datas/hdfs/name/</value>

</property>

<property>

<name>dfs.data.dir</name>

<value>/root/hadoop-1.0.4/datas/hdfs/data/</value>

</property>

 

mapred-site.xml

<property>

<name>mapred.job.tracker</name>

<value>192.168.119.128:8899</value>

</property>

 

masters

slaves

1. 如果不能正常运行,提示JAVA_HOME没有找到路径,则需要编辑在conf/hadoop-env.sh中指明JAVA_HOME的路径。

2. 如果还是不能运行,或者能访问50030不能访问50070,则说明namenode没有正常启动,重新格式化一次,重新启动试试:hadoop namenode -format (Y

 

问题:

1 Hadoop状态页面的Browse the filesystem链接无效的问题

或者 Window中的网页无法localhost

配置主机地址映射

c:\windows\system32\drivers\etc

10.15.82.48  ubuntu

10.15.82.48  vm.hfx.localhost

 

hadoop服务器的系统地址配置

#10.15.82.48    localhost

10.15.82.48     10.15.82.48.localhost

127.0.1.1       ubuntu

root@ubuntu:/etc# vi hosts

 

2 Warning: $HADOOP_HOME is deprecated.

经查hadoop-1.0.3/bin/hadoop脚本和hadoop-config.sh脚本,发现脚本中对HADOOP_HOME的环境变量设置做了判断,笔者的环境根本不需要设置HADOOP_HOME环境变量。
解决方案一:到HOME目录编辑.bash_profile(ubanto下为.bashrc)文件,去掉HADOOP_HOME的变量设定,重新输入hadoop fs命令,警告消失。
解决方案二:到HOME目录编辑.bash_profile文件,添加一个环境变量,之后警告消失:

export HADOOP_HOME_WARN_SUPPRESS=1

本人的情况是:在电脑的环境变量里已经设置了 HADOOP_HOME 的路径,后来在 hadoop-env.sh 中又进行了设置 export HADOOP_HOME=E:/hadoop/hadoop-1.0.3 ,后来把该文件中的注释掉即,不提示了

 

安装和配置Mysql

sodu rpt-install rpm

rpm -qa |grep mysql

查看有没有mysql相关信息,如果有则表明已经安装

下载:sodu apt-get install mysql-server

测试安装成功 root@ubuntu:/usr/bin# ./mysql -u root -p

111111

show databases;

mysql> use test;

Database changed

mysql> show tables;

mysql> create table table1 (a int, b int);

mysql> show tables;

+----------------+

| Tables_in_test |

+----------------+

| table1         |

+----------------+

1 row in set (0.00 sec)

 

mysql> insert into table1 (a,b) values (1,1);

Query OK, 1 row affected (0.01 sec)

mysql> insert into table1 (a,b) values (1,2);

Query OK, 1 row affected (0.00 sec)

mysql> insert into table1 (a,b) values (1,3);

Query OK, 1 row affected (0.00 sec)

mysql> select * from table1;

+------+------+

| a    | b    |

+------+------+

|    1 |    1 |

|    1 |    2 |

|    1 |    3 |

+------+------+

3 rows in set (0.02 sec)

 

安装和配置Hive

下载:hive-0.9.0.tar.gz

解压到某路径中,

首先,将解压出来的mysql-connector-java-5.1.22-bin.jar复制到/hive下的lib路径里

接着 配置hive-size.xml,这个配置可以参考官方网站

<property>

<name>hive.metastore.local</name>

<value>true</value>

</property>

<property>

<name>javax.jdo.option.ConnectionURL</name>

<value>jdbc:mysql://vm.hfx.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(mysql用户名)</value>

</property>

<property>

<name>javax.jdo.option.ConnectionPassword</name>

<value>hadoop(密码)</value>

</property>


0 0