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中建hdfs和tmp路徑,在hdfs下建name和data路徑
接着進行配置
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>