-
安裝JDK 1.7+
【下載網址】
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html- 環(huán)境變量設置(最好不要采用openjdk):
export JAVA_HOME=/usr/java/java-1.7.0_71 export JRE_HOME=$JAVA_HOME/jre export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- 更新重啟環(huán)境變量
$ source /etc/profile
- 測試
$ java -version
下載安裝scala-2.10.5
【下載網址】http://www.scala-lang.org/download/2.10.5.html
下載對對對應的壓縮包
$ tar -zxf scala-2.10.5.tgz
$ sudo mv scala-2.10.5 /usr/local
配置環(huán)境變量:
export SCALA_HOME=/usr/local/scala-2.11.4
export PATH=$SCALA_HOME/bin:$PATH
更新啟動環(huán)境變量
source /etc/profile
測試scala安裝是否成功
$ scala -version
-
【親測】安裝Hadoop(需要修改Hadoop的情況下,手動編譯)
【安裝Hadoop的參考網址】http://qindongliang.iteye.com/blog/2222145- 安裝依賴
sudo yum install -y autoconf automake libtool git gcc gcc-c++ make cmake openssl-devel,ncurses-devel bzip2-devel
- 安裝Maven3.0+
【下載網址】
http://archive.apache.org/dist/maven/maven-3/3.0.5/binaries/- 解壓
tar -xvf apache-maven-3.0.5-bin.tar.gz
- 移動文件
mv -rf apache-maven-3.0.5 /usr/local/
- 配置環(huán)境變量
MAVEN_HOME=/usr/local/apache-maven-3.0.5 export MAVEN_HOME export PATH=${PATH}:${MAVEN_HOME}/bin
- 使生效
source /etc/profile
- 檢查是否安裝成功
mvn -v
- 解壓
- 安裝ant1.8+
【下載網址】http://archive.apache.org/dist/ant/binaries/- 環(huán)境變量
export ANT_HOME=/usr/local/apache-ant-1.8.4 export PATH=$ANT_HOME/bin:$PATH
- 測試
ant -version
- 安裝 protobuf-2.5.0.tar.gz
- 解壓
tar xvf protobuf-2.5.0.tar.gz
- 安裝
cd protobuf-2.5.0
./configure --prefix=/usr/local/protobuf
make
nake install
- 環(huán)境變量
export PATH=$PATH:/usr/local/protobuf/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib
- 測試
protoc --version
如果輸出libprotoc 2.5.0
表示安裝成功。
- 解壓
- 安裝snappy1.1.0.tar.gz(可選選項,如果需要編譯完的Hadoop支持Snappy壓縮,需要此步驟)
- 安裝
./configure --prefix=/usr/local/snappy
#指定的一個安裝目錄
make
make install
- 安裝
- 安裝hadoop-snappy
- git下載地址
git clone https://github.com/electrum/hadoop-snappy.git
- 打包
下載完成后
cd hadoop-snappy
執(zhí)行maven打包命令
mvn package -Dsnappy.prefix=/home/search/snappy
- 驗證
?這個目錄就是編譯后的snappy的本地庫,在
hadoop-snappy/target/hadoop-snappy-0.0.1-SNAPSHOT-tar/hadoop-snappy-0.0.1-SNAPSHOT/lib
目錄下,有個hadoop-snappy-0.0.1-SNAPSHOT.jar
,在hadoop編譯后,需要拷貝到$HADOOP_HOME/lib
目錄下。
?【備注】整個過程中使用到的包都放在/root/下面。
- git下載地址
- 安裝Hadoop
- 安裝(下載hadoop-2.6.0-src.tar.gz是hadoop的源碼)
【下載網址】
http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.6.0/
【也可以直接獲取】wget http://archive-primary.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.4.1-src.tar.gz
- 解壓
tar -zxvf hadoop-2.6.0-cdh5.4.1-src.tar.gz
- 解壓后進入根目錄,執(zhí)行下面這個編譯命令,就能把snappy庫綁定到hadoop的本地庫里面,這樣就可以在所有的機器上跑了
mvn clean package -DskipTests -Pdist,native -Dtar -Dsnappy.lib=(hadoop-snappy里面編譯后的庫地址) -Dbundle.snappy
?中間會報一些異常,無須關心,如果報異常退出了,就繼續(xù)執(zhí)行上面這個命令,直到成功為止,一般速度會跟你的網速有關系,大概40分鐘左右,最后會編譯成功。
- 安裝(下載hadoop-2.6.0-src.tar.gz是hadoop的源碼)
- 安裝依賴
-
【最終選擇】安裝Hadoop(無需修改Hadoop時直接下載編譯好的Hadoop文件)
- 安裝(下載已經編譯好的hadoop-2.6.0.tar.gz)
【下載網址】http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.6.0/ - 解壓安裝在
/usr/local/
- 改名為hadoop,即最終路徑:
/usr/local/hadoop
下同。
- 安裝(下載已經編譯好的hadoop-2.6.0.tar.gz)
單機部署Hadoop(偽分布式)
- Hadoop 的配置文件位于
/usr/local/hadoop/etc/hadoop/
中(很多的xml文件),偽分布式需要修改2個配置文件 core-site.xml 和 hdfs-site.xml。 - 修改配置文件 core-site.xml (vim /usr/local/hadoop/etc/hadoop/core-site.xml)
將當中的
<configuration>
</configuration>
修改為下面配置:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
- 修改配置文件 hdfs-site.xml(同理)
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
【注意】不說明的話都是目錄的起始位置都是:hadoop/
- 配置完成后,執(zhí)行 namenode 的格式化:
bin/hdfs namenode -format
成功的話,會看到successfully formatted
的提示,且輸出信息的倒數(shù)第5行的提示如下,Exitting with status 0 表示成功,若為 Exitting with status 1 則是出錯。若出錯,可試著加上 sudo, 既sudo bin/hdfs namenode -format
再試試看。 - 開啟NameNode、DataNode守護進程
sbin/start-dfs.sh
【注意】若你使用的是 Hadoop 2.4.1 64位,則此時可能會出現(xiàn)一連串的warn提示,如WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
這個提示,這些warn提示可以忽略,不會影響正常使用。 - 查看進程
輸入jps
即可
成功啟動則會列出如下進程: NameNode、DataNode和SecondaryNameNode - Hadoop-webUI
在瀏覽器中輸入http://localhost:50070
(localhost或者是服務器ip)
【注意】如無法訪問,先檢查防火墻是否是關閉狀態(tài)(應當是關閉狀態(tài))。 - 注意(配置過程中遇到)
在這一步以及后面啟動 Hadoop 時若提示Error: JAVA_HOME is not set and could not be found.
的錯誤,則需要在文件hadoop/etc/hadoop/hadoop-env.sh
中設置 JAVA_HOME 變量,即找到export JAVA_HOME=${JAVA_HOME} 這一行,改為 export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
(就是之前設置的JAVA_HOME位置),再重新嘗試即可。 - 關閉NameNode、DataNode守護進程
sbin/stop-dfs.sh
單機部署Spark
- 下載
wget http://archive.apache.org/dist/spark/spark-1.4.0/spark-1.4.0-bin-hadoop2.6.tgz
- 解壓并修改名字為spark
- 環(huán)境變量
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin
- 配置Spark環(huán)境變量
cd $SPARK_HOME/conf
cp spark-env.sh.template spark-env.sh
vim spark-env.sh
添加如下代碼:
export JAVA_HOME=/usr/java/latest
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SCALA_HOME=/usr/local/scala-2.10.5
export SPARK_HOME=/usr/local/spark
export SPARK_MASTER_IP=127.0.0.1
export SPARK_MASTER_PORT=7077
export SPARK_MASTER_WEBUI_PORT=8099
export SPARK_WORKER_CORES=3
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=10G
export SPARK_WORKER_WEBUI_PORT=8081
export SPARK_EXECUTOR_CORES=1
export SPARK_EXECUTOR_MEMORY=1G
#export SPARK_CLASSPATH=/opt/hadoop-lzo/current/hadoop-lzo.jar
#export SPARK_CLASSPATH=$SPARK_CLASSPATH:$CLASSPATH
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$HADOOP_HOME/lib/native
- 配置Slave
cp slaves.template slaves
vim slaves
添加以下代碼(默認就是localhost):
localhost
- 因為是單機ssh免登陸不再贅述
- 啟動Spark Master
目錄:cd $SPARK_HOME/sbin/
./start-master.sh
- 啟動Spark Slave
目錄:cd $SPARK_HOME/sbin/
./start-slaves.sh
(注意是slaves) - 啟動Spark-shell(application)
./spark-shell --master spark://127.0.0.1:7077 - Spark-webUI
http://localhost:8099
(localhost或者是服務器ip)
如下所示:
- 關閉master和slave
目錄:cd $SPARK_HOME/sbin/
./stop-master.sh
./stop-slaves.sh