安裝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了,其他的使用步奏參照官網的步奏

# java
export JAVA_HOME=/opt/jdk1.8.0_73
export PATH=$PATH:$JAVA_HOME/bin
# hadoop
export HADOOP_HOME=/opt/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin

#hive
export HIVE_HOME=/opt/hive-2.0.0-bin
export 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.so
ubuntu@ubuntu:~$ ll ldconfig -p |grep libreadline
ls: cannot access 'ldconfig': No such file or directory
ubuntu@ubuntu:~$ ll /usr/local/lib/ |grep libreadline
-rw-r--r--  1 root   root    1452584 May 16 11:10 libreadline.a
lrwxrwxrwx  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 libreadline
lrwxrwxrwx  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.2
lrwxrwxrwx  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  

基本就這么多,走過的路總是覺得很平坦,前面的路總是覺得很崎嶇。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM