你的位置:首页 > 数据库

[数据库]安装Hadoop2.7和hive2.0以及redis


安装过程很简单,主要记录期间碰到的问题:

安装过程:

下载安装包:

hadoop:http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz

hive:http://mirror.bit.edu.cn/apache/hive/hive-2.0.0/apache-hive-2.0.0-bin.tar.gz

redis:http://download.redis.io/releases/redis-3.0.7.tar.gz

解压:

tar-zxvf xx.gz

配置用户配置文件:mac我的是~/.bash_profile,ubuntu是~/.bashrc,配置完source一下

hadoop和redis的配置这些就OK了,其他的使用步奏参照官网的步奏

# javaexport JAVA_HOME=/opt/jdk1.8.0_73export PATH=$PATH:$JAVA_HOME/bin# hadoopexport HADOOP_HOME=/opt/hadoop-2.7.2export PATH=$PATH:$HADOOP_HOME/bin#hiveexport HIVE_HOME=/opt/hive-2.0.0-binexport PATH=$PATH:$HIVE_HOME/bin

redis:需要./configure,make ,make install这些步骤就可以了。

下面主要记录遇到问题:

1:Hadoop支持平台问题:Hadoop本地库不支持mac,一开始捣鼓了好久也没成功,想本地编译也是各种问题,所以,最后就忍受一下每次运行的时候的没有本地库的警告

2:hive 碰到问题可能无关hive,比如:hive获取Hadoop版本号的时候用到awk,碰巧awk报错了

awk: symbol lookup error: /usr/local/lib/libreadline.so.6: undefined symbol: UP

是awk链接库的问题,报错的最新的so文件,把最新的so文件删掉就可以了

ubuntu@ubuntu:~$ ldconfig -p |grep libreadline  libreadline.so.6 (libc6,x86-64) => /usr/local/lib/libreadline.so.6  libreadline.so.6 (libc6,x86-64) => /lib/x86_64-linux-gnu/libreadline.so.6  libreadline.so.5 (libc6,x86-64) => /lib/x86_64-linux-gnu/libreadline.so.5  libreadline.so (libc6,x86-64) => /usr/local/lib/libreadline.soubuntu@ubuntu:~$ ll ldconfig -p |grep libreadlinels: cannot access 'ldconfig': No such file or directoryubuntu@ubuntu:~$ ll /usr/local/lib/ |grep libreadline-rw-r--r-- 1 root  root  1452584 May 16 11:10 libreadline.alrwxrwxrwx 1 root  root     16 May 16 11:10 libreadline.so -> libreadline.so.6*lrwxrwxrwx 1 root  root     18 May 16 11:10 libreadline.so.6 -> libreadline.so.6.3*-r-xr-xr-x 1 root  root   826584 May 16 11:10 libreadline.so.6.3*ubuntu@ubuntu:~$ ll /lib/x86_64-linux-gnu/ |grep libreadlinelrwxrwxrwx 1 root root   18 Feb 7 18:11 libreadline.so.5 -> libreadline.so.5.2-rw-r--r-- 1 root root 249144 Feb 7 18:11 libreadline.so.5.2lrwxrwxrwx 1 root root   18 May 14 18:03 libreadline.so.6 -> libreadline.so.6.3-rw-r--r-- 1 root root 282392 Feb 5 01:18 libreadline.so.6.3

ubuntu@ubuntu:~$ sudo mv /usr/local/lib/libreadline.so.6 /usr/local/lib/libreadline.so.6.bak

这样就不会报awk的错了

Hive metastore database is not initialized. Please use schematool

这个问题具体的原因应该是当前目录下的metastore_db/没有被初始化,可以对其进行重命名或者删除后,运行

schematool -initSchema -dbType derby

Derby是Apache的一个数据库,可以作为hive的默认值,我设置为mysql的时候报错,估计想设置为mysql估计要配置一些东西。

这样Hadoop和hive都可以正常使用了。

安装redis的时候碰到一个坑,也可以说是自己想复杂了,redis 依赖挺多东西的,但redis安装包里面都自带了,并且,重要的事情说三遍:redis都自带了,并且都不需要安装,只需要make(jemalloc还需configure一下),不需要install,不需要install,不需要install。

ubuntu@ubuntu:~$ ls /opt/redis-3.0.7/deps/hiredis jemalloc linenoise lua 

基本就这么多,走过的路总是觉得很平坦,前面的路总是觉得很崎岖。