设为首页 收藏本站
查看: 884|回复: 0

hadoop-2.2.0+spark1.1.0安装过程

[复制链接]
发表于 2015-11-11 10:44:23 | 显示全部楼层 |阅读模式
hadoop-2.2.0+spark1.1.0安装过程

首先介绍一下整个过程中需要用到的一些软件

虚拟机vmwareworkstation 10

Linux版本 CentOS 6.4

Jdk jdk-7u21-linux-i586.tar.gz

终端SecureCRT

Hadoop2.2.0

Spark1.1.0

scala2.10.4


本人是采用在32位的windowns下安装虚拟机,在虚拟机中建立节点部署hadoop和spark的,spark比较耗内存,所以需要较大内存。

整体设计:一台namenode,namenode同时当datanode,另外2台datanode,如果物理机是linux系统,可以拿物理机当客户端,spark集群的时候,通过客户端去调用。这边我选择再多创建一个虚拟机当客户端。

10.136.7.171

namenode

10.136.7.172

datanode1

10.136.7.173

datanode2

10.136.7.174

customer







整体介绍一下整个流程:


新建虚拟机—>网络设置—>关闭防火墙及其他服务—>设置成文本启动方式—>修改配置文件—>修改hosts—>安装jdk—>安装scala—>环境变量设置-->安装hadoop—>修改hadoop的配置文件(core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml, hadoop-env.sh)-->复制整个虚拟机文件—>修改复制后的虚拟机文件—>ssh无密码登录设置--> hadoop集群的启动—>启动yarn—>hadoop源码编译-->spark安装—>修改配置文件(slaves,spark-env.sh)-->拷贝spark到各个节点—>spark集群启动-- >Spark Standalone HA 部署—>spark工具查看



具体操作:


在vm中新建虚拟机,选择linux类型,3G内存,动态分配硬盘。网络设置,选择桥接网卡。

安装好CentOS6.4之后,首先是进行网络设置,IPV4setting中选择manual,设置成和物理机在同一个网段上,测试能否上网。


进入终端,关闭防火墙和一些其他服务。

chkconfig iptables off

chkconfig ip6tables off

chkconfig postfix off

chkconfig bluetooth off

chkconfig --list


检查sshd  是否为off off on on on on off

启动时设置成文本方式  

vi /etc/inittab

移动到最后,5改成3  5是以窗口方式启动3是以文本方式启动

重启虚拟机shutdown -h  now


新建一个目录,之后将软件安装在这个目录下(也可自行建立其他目录)

mkdir -p  /app/hadoop


一些文件句柄的设置,为以后做准备,也可跳过此步骤

vi  /etc/security/limits.conf

插入最后

hadoop - nofile 32768
hadoop soft/hard nproc 32000


vi /etc/pam.d/login

插入最后

sessionrequired pam_limits.so


vi/etc/ssh/sshd_config

打开三个开关



vi/etc/hosts

在最上面增加

192.168.1.171namenode

192.168.1.172datanode1

192.168.1.173datanode2


软件安装

安装java

cd 进入安装java的目录(这边通过secureCRT将一些需要安装的软件传到虚拟机,也可在虚拟机中自行下载)

tar-zxf  /app/software/jdk-7u21-linux-i586.tar.gz

同时记住java安装的目录。


安装scala

进入安装目录

tar-zxf /scala

为方便以后输命令可改目录名  mv scala-2.10.4 scala2104

修改用户权限 chown -R root:root scala2104/



环境变量的设置

vi/etc/profile

加在最后

exportJAVA_HOME=/usr/lib/java/jdk1.7.0_21  
export JRE_HOME=/usr/lib/java/jdk1.7.0_21/jre
export SCALA_HOME=/app/scala2104
export HADOOP_COMMON_HOME=/app/hadoop/hadoop220
export HADOOP_CONF_DIR=/app/hadoop/hadoop220/etc/hadoop
export YARN_CONF_DIR=/app/hadoop/hadoop220/etc/hadoop
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
exportPATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:${SCALA_HOME}/bin:${HADOOP_COMMON_HOME}/bin:${HADOOP_COMMON_HOME}/sbin:$PATH

刷新更改的环境变量配置 source /etc/profile

测试java是否安装正确 java -version

测试scala是否安装正确 scala -version


安装hadoop-2.2.0

tarzxf /app/software/hadoop-2.2.0.tar.gz

mvhadoop-2.2.0 hadoop220


进入hadoop配置文件目录,进行修改

cdhadoop220/etc/hadoop/

vi slaves

去掉localhost

加上 namenode

datanode1

datanode2


vicore-site.xml


<configuration>中间加

<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:8000</value>
</property>


vihdfs-site.xml

<property>
        <name>dfs.namenode.name.dir</name>
       <value>file:///app/hadoop/hadoop220/mydata/name</value>
  </property>
    <property>
       <name>dfs.datanode.data.dir</name>
      <value>file:///app/hadoop/hadoop220/mydata/data</value>
    </property>

<property>
       <name>dfs.replication</name>
       <value>1</value>
    </property>


vi mapred-site.xml

<configuration>
<property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
</property>

</configuration>


vi yarn-site.xml


<property>
   <name>yarn.resourcemanager.hostname</name>
   <value>namenode</value>
</property>                    
<property>
   <name>yarn.resourcemanager.address</name>
   <value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
   <name>yarn.resourcemanager.scheduler.address</name>
   <value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
   <name>yarn.resourcemanager.webapp.address</name>
   <value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
   <name>yarn.resourcemanager.webapp.https.address</name>
   <value>${yarn.resourcemanager.hostname}:8090</value>
</property>
<property>
  <name>yarn.resourcemanager.resource-tracker.address</name>
   <value>${yarn.resourcemanager.hostname}:8031</value>
</property>
<property>
   <name>yarn.resourcemanager.admin.address</name>
   <value>${yarn.resourcemanager.hostname}:8033</value>
</property>
<property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
</property>                 

vi hadoop-env.sh

JAVA_HOME=/usr/lib/java/jdk1.7.0_21

重启虚拟机


记得关掉vm之后再进行复制虚拟机namenode,否则打开之后会报错。复制整个文件夹,对文件夹进行重命名。之后打开vm,选择打开文件,选择复制之后的文件,修改虚拟机的名字,启动虚拟机,首次启动会有一个选项,选择“我已复制虚拟机”


对复制的各个虚拟机均进行一下操作:


启动复制的虚拟机

修改网卡的配置文件

vi /etc/udev/rules.d/70-persistent-net.rules

里面有两张网卡,去掉前一个网卡,同时修改name 为eth0 ,同时记住mac地址


vi /etc/sysconfig/network-scripts/ifcfg-eth0

修改里面的HWADDR地址,改为刚才记住的。ip地址改为10.136.7.172

vi /etc/sysconfig/network

hostname改为datanode

关闭虚拟机


修改第三台

重复上述过程。


三台都要

修改用户权限

cd/app

chown-R hadoop:hadoop hadoop


SSH无密码登录

每个节点

su -hadoop

生成公钥 ssh-keygen-t rsa

cd~/.ssh

ls-lsa

公钥三合一,在namenode上运行

ssh 机器名 cat/home/hadoop/.ssh/id_rsa.pub>>authorized_keys 合成公钥

ssh namenode cat/home/hadoop/.ssh/id_rsa.pub>>authorized_keys

sshdatanode1 cat /home/hadoop/.ssh/id_rsa.pub>>authorized_keys

sshdatanode2 cat /home/hadoop/.ssh/id_rsa.pub>>authorized_keys

ls-lsa

修改authorized_keys文件属性为600 ,并发放给各节点

chmod600 authorized_keys

ls-lsa

scp authorized_keyshadoop@datanode1:/home/hadoop/.ssh/

scp authorized_keyshadoop@datanode2:/home/hadoop/.ssh/


scp known_hostshadoop@datanode1:/home/hadoop/.ssh/

scp known_hostshadoop@datanode2:/home/hadoop/.ssh/


同时在三个节点上进行测试无密码登录

ssh namenodedate

ssh datanode1date

ssh datanode2date


hadoop集群的启动


cd/app/hadoop

cdhadoop220/

进行&#26684;式化

//bin/hdfsnamenode -format

hadoop namenode-format


启动hdfs

//sbin/start-dfs.sh

start-dfs.sh

注意查看是否启动了四个,一个namenode 三个datanode

测试hdfs

bin/hdfsdfs -ls /

bin/hdfsdfs -mkdir -p /dataguru/test

bin/hdfsdfs -ls /dataguru

bin/hdfsdfs -ls /dataguru/test

ls -lsa

上传一个文件

bin/hdfsdfs -put LICENSE.txt /dataguru/test/

查看bin/hdfs dfs -ls /dataguru/test


启动yarn


sbin/start-yarn.sh

注意查看是否启动了四个,一个namenode 三个datanode

jps


查看是否都已启动


同时在其他节点也查看

jps



url访问


namenode:50070


yarn:

namenode:8088


关闭hadoop集群

su -hadoop

cd/app/hadoop/hadoop220

sbin/stop-all.sh



hadoop源码编译

32位的不需再进行编译了,64位的需要进行编译,首次编译比较耗时间,也可下载编译过的软件。

可跳过该编译部分

在namenode上进行编译

回到root身份

cd hadoop

解压hadoop-2.2.0

安装编译工具

yum -y install lzo-devel zlib-devel gccautoconf automake libtool

解压Ant 1.9.2
解压Maven 3.0.5
解压ProtocolBuffer 2.5.0 (编译安装)
解压findbugs 2.0.2

解压CMake 2.8.6 (编译安装)



cd  ProtocolBuffer 2.5.0 目录

./configure

make

make check

make install

cd ..


cd CMake 2.8.6目录

./bootstrap:make:make install


其他编译软件环境变量的修改

cd ..

vi /etc/profile





source /etc/profile

验证版本

ant -version


源码的bug修改(补丁)


cd /app/hadoop/hadoop220_src

修改该文件,增加一些内容



编译

cd hadoop220_src

mvn clean package -DskipTests-Pdist,native,docs -Dtar



spark安装

spark-1.0.0/project/SparkBuild.scala SBT依赖包,配置参数包查看


spark-1.0.0/pom.xml Maven配置参数包查看


cd 进入安装的目录

tarzxf /app/software/spark-1.0.0-bin-2.2.0.tgz


mv spark-1.0.0-bin-2.2.0.tgz spark100

cdspark100/conf

节点配置

vislaves


去掉localhost

加入节点

namenode

datanode1

datanode2

运行环境

cpspark-env.sh.template spark-env.sh

修改该文件

vi spark-env.sh

加最后

exportSPARK_MASTER_IP=namenode
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORKER_INSTANCES=1

exportSPARK_WORKER_MEMORY=2g


拷贝到各个节点


cd 退到hadoop目录下

(拷贝时候特别注意,直接从pdf或者课件上拷贝时候很容易出现特殊符号,比如问号,报错是需要认真看清楚)

scp -rspark100 hadoop@datanode1:/app/hadoop/

scp -rspark100 hadoop@datanode2:/app/hadoop/


启动集群

cdspark100

sbin/start-all.sh


测试

http://10.136.7.171:8080/


客户端安装

scp -r hadoop@namenode:/app/hadoop/spark100 .


客户端访问集群


bin/spark-shell--master spark://namenode:7077


关闭集群

spark100目录下

sbin/stop-all.sh


SparkStandalone HA 部署


基于文件系统的HA

cdconf

spark-env.sh里对SPARK_DAEMON_JAVA_OPTS 设置

vi spark-env.sh

在最后增加一行

exportSPARK_DAEMON_JAVA_OPTS=&quot;-Dspark.deploy.recoveryMode=FILESYSTEM-Dspark.deploy.recoveryDirectory=/app/hadoop/spark100/recovery&quot;


将该文件分到各个节点

scp spark-env.shhadoop@DataNode1:/app/hadoop/spark100/conf/

scp spark-env.shhadoop@DataNode2:/app/hadoop/spark100/conf/

测试

cd ..

sbin/start-all.sh

dfs启动

cd/app/hadoop/hadoop220

sbin/start-dfs.sh


客户端

bin/spark-shell--master spark://namenode:7077



Spark 工具

(1)spark-shell

(2)spark-submit


参数说明可查看

bin/spark-shell --help

bin/spark-submit--help

         版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-137813-1-1.html 上篇帖子: apache tez on hadoop-2.7.1 下篇帖子: hadoop2.0介绍(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表