安装JDK 1.7+
【下载网址】
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlexport JAVA_HOME=/usr/java/java-1.7.0_71export JRE_HOME=$JAVA_HOME/jreexport PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
更新重启环境变量
$ source /etc/profile
测试
$ java -version
环境变量设置(最好不要采用openjdk):
下载安装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
配置环境变量:
export SCALA_HOME=/usr/local/scala-2.11.4
export PATH=$SCALA_HOME/bin:$PATH
更新启动环境变量source /etc/profile
测试scala安装是否成功$ scala -version
【亲测】安装Hadoop(需要修改Hadoop的情况下,手动编译)
【安装Hadoop的参考网址】http://qindongliang.iteye.com/blog/2222145安装(下载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
解压后进入根目录,执行下面这个编译命令,就能把snappy库绑定到hadoop的本地库里面,这样就可以在所有的机器上跑了
mvn clean package -DskipTests -Pdist,native -Dtar -Dsnappy.lib=(hadoop-snappy里面编译后的库地址) -Dbundle.snappy
中间会报一些异常,无须关心,如果报异常退出了,就继续执行上面这个命令,直到成功为止,一般速度会跟你的网速有关系,大概40分钟左右,最后会编译成功。git下载地址
git clone https://github.com/electrum/hadoop-snappy.git
打包
下载完成后cd hadoop-snappy
执行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/下面。安装
./configure --prefix=/usr/local/snappy
#指定的一个安装目录make
make install
解压
tar xvf protobuf-2.5.0.tar.gz
安装
cd protobuf-2.5.0
./configure --prefix=/usr/local/protobuf
make
nake install
环境变量
测试
protoc --version
如果输出libprotoc 2.5.0
表示安装成功。
环境变量
测试
ant -version
解压
tar -xvf apache-maven-3.0.5-bin.tar.gz
移动文件
mv -rf apache-maven-3.0.5 /usr/local/
配置环境变量
使生效
source /etc/profile
检查是否安装成功
mvn -v
安装依赖
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/MAVEN_HOME=/usr/local/apache-maven-3.0.5export MAVEN_HOMEexport PATH=${PATH}:${MAVEN_HOME}/bin
安装ant1.8+
【下载网址】http://archive.apache.org/dist/ant/binaries/export ANT_HOME=/usr/local/apache-ant-1.8.4export PATH=$ANT_HOME/bin:$PATH
安装 protobuf-2.5.0.tar.gz
export PATH=$PATH:/usr/local/protobuf/binexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib
安装snappy1.1.0.tar.gz(可选选项,如果需要编译完的Hadoop支持Snappy压缩,需要此步骤)
安装hadoop-snappy
安装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(伪分布式)
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/
配置完成后,执行 namenode 的格式化:
bin/hdfs namenode -format
成功的话,会看到successfully formatted
的提示,且输出信息的倒数第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位,则此时可能会出现一连串的warn提示,如WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
这个提示,这些warn提示可以忽略,不会影响正常使用。查看进程
输入jps
即可
成功启动则会列出如下进程: NameNode、DataNode和SecondaryNameNodeHadoop-webUI
在浏览器中输入http://localhost:50070
(localhost或者是服务器ip)
【注意】如无法访问,先检查防火墙是否是关闭状态(应当是关闭状态)。注意(配置过程中遇到)
在这一步以及后面启动 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
环境变量
export SPARK_HOME=/usr/local/sparkexport PATH=$PATH:$SPARK_HOME/bin
配置Spark环境变量
cd $SPARK_HOME/conf
cp spark-env.sh.template spark-env.sh
vim spark-env.sh
添加如下代码:
export JAVA_HOME=/usr/java/latestexport HADOOP_HOME=/usr/local/hadoopexport HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoopexport SCALA_HOME=/usr/local/scala-2.10.5export SPARK_HOME=/usr/local/sparkexport SPARK_MASTER_IP=127.0.0.1export SPARK_MASTER_PORT=7077export SPARK_MASTER_WEBUI_PORT=8099export SPARK_WORKER_CORES=3export SPARK_WORKER_INSTANCES=1export SPARK_WORKER_MEMORY=10Gexport SPARK_WORKER_WEBUI_PORT=8081export SPARK_EXECUTOR_CORES=1export SPARK_EXECUTOR_MEMORY=1G#export SPARK_CLASSPATH=/opt/hadoop-lzo/current/hadoop-lzo.jar#export SPARK_CLASSPATH=$SPARK_CLASSPATH:$CLASSPATHexport 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:7077Spark-webUI
http://localhost:8099
(localhost或者是服务器ip)
如下所示:关闭master和slave
目录:cd $SPARK_HOME/sbin/
./stop-master.sh
./stop-slaves.sh
作者:popsheng
链接:https://www.jianshu.com/p/d62cc79ef64b