近期項目須要用到hadoop。邊學習邊應用,第一步無疑是安裝hadoop。我安裝的是hadoop-2.4.1。以下是具體步驟,做備忘以后查看
一、下載依賴軟件
1、java
hadoop官網說明僅僅支持java 6和7 ,下載最新的java7
http://download.oracle.com/otn-pub/java/jdk/7u65-b17/jdk-7u65-linux-x64.tar.gz
2、maven
從maven官網下載http://maven.apache.org/download.cgi
3、hadoop安裝文件
http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.4.1/hadoop-2.4.1.tar.gz
4、hadoop源碼(用於編譯生成hadoop的native包)
http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.4.1/hadoop-2.4.1-src.tar.gz
5、hive
http://mirrors.cnnic.cn/apache/hive/hive-0.13.1/apache-hive-0.13.1-bin.tar.gz
6、protobuf(用於編譯生成hadoop的native包)
http://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
二、把上述軟件分別解壓到soft文件夾下,然后環境變量設置
1、在管理員權限下centos 運行命令vi /etc/profile ubuntu下為sudo gedit /etc/profile
2、在最后加入以下的路徑
export HADOOP_HOME=/root/soft/hadoop/hadoop-2.4.1
export HIVE_HOME=/root/soft/hadoop/apache-hive-0.13.1-bin
export JAVA_HOME=/root/soft/java/jdk1.7.0_65
export M2_HOME=/root/soft/apache-maven-3.2.1
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH:$JRE_HOME/lib:$HADOOP_HOME/bin:$HIVE_HOME/bin:$M2_HOME/bin
依據解壓后的詳細路徑改動
通過source /etc/profile然環境變量生效
3、驗證
java -version 驗證java
mvn -version 驗證maven
三、編譯hadoop
1、安裝必要工具
centos下:
yum -y install lzo-devel zlib-devel gcc autoconf automake libtool
安裝g++:yum -y install gcc-c++
安裝cmake:yum -y install cmake
安裝openssl-devel:yum -y install openssl-devel
ubuntu下為
apt-get -y install maven build-essential autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev
2、進入下載的protobuf-2.5.0文件夾下
cd protobuf-2.5.0
./configure
make
make install
(ubantu額外運行sudo ldconfig)
3、進入hadoop-2.4.1-src編譯hadoop
cd hadoop-2.4.1-src
mvn clean package -Pdist,native -DskipTests -Dtar
4、普通情況下/root/soft/hadoop/hadoop-2.4.1-src/hadoop-hdfs-project/hadoop-hdfs-httpfs/downloads路徑下的apache-tomcat-6.0.36.tar.gz下載不全然,
正常大小應該為6.47M左右。假設不正確請官網手動下載。路徑為http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.36/bin/apache-tomcat-6.0.36.tar.gz
5、替換hadoop-2.4.1/lib/native為編譯后hadoop-2.4.1-src/hadoop-dist/target/hadoop-2.4.1/lib/native包
四、配置ssh
1、驗證ssh
ssh localhost
沒有安裝的話。運行yum -y install openssh-clients2、運行命令
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
五、配置hadoop
1、etc/hadoop/core-site.xml:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>2、etc/hadoop/hdfs-site.xml:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>3、etc/hadoop/mapred-site.xml:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>4、etc/hadoop/yarn-site.xml:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>5、 etc/hadoop/hadoop-env.sh:
更改27行export JAVA_HOME=${JAVA_HOME}為
export JAVA_HOME=實際路徑
六、啟動hadoop
1、進入hadoop文件夾 cd $HADOOP_HOME 2、格式化namenode:bin/hdfs namenode -format 3、啟動dfs:sbin/start-dfs.sh 4、驗證dfs:http://localhost:50070/ 5、啟動yarn:sbin/start-yarn.sh 6、官方小樣例 bin/hdfs dfs -mkdir /user bin/hdfs dfs -mkdir /user/<username>(username必須為用戶名) bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar grep input output 'dfs[a-z.]+' bin/hdfs dfs -get output output cat output/*
七、編譯后的native包ubuntu鏈接為http://download.csdn.net/detail/zhulin40/7698377centos鏈接為http://download.csdn.net/detail/zhulin40/7698327