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

[经验分享] parkin

[复制链接]

尚未签到

发表于 2017-12-17 15:47:08 | 显示全部楼层 |阅读模式
  一、环境准备
  1. 机器: 3 台虚拟机

机器
角色
l-qta3.sp.beta.cn0
NameNode,ResourceManager,spark的master
l-querydiff1.sp.beta.cn0
DataNode,NodeManager,Worker
l-bgautotest2.sp.beta.cn0
DataNode,NodeManager,Worker  2. jdk版本
[xx@l-qta3.sp.beta.cn0 ~]$ java -version

  java version "1.7.0_45"
  Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
  Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
  3. 准备工作
  1)ssh 免密登陆: 集群中的机器需要相互免密访问。参考:http://www.cnblogs.com/lijingchn/p/5580263.html
  2)hadoop 2.6.5 binary  下载。地址:http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz
  4. 解压 hadoop-2.6.5.tar.gz
  将hadoop-2.6.5.tar.gz解压缩到 /home/q/
  cmd : tar -xzvf hadoop-2.6.5.tar.gz -C /home/q/
  5. 修改配置文件
  配置文件都在 etc/hadoop/下,这些配置文件里面都有样例,有些是必须设置的。官网配置的介绍:http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/ClusterSetup.html
  5.1 修改hadoop-env.sh
  export JAVA_HOME=xxx    -- java 的安装目录
  5.2 修改yarn-env.sh
  export JAVA_HOME=xxxx
  5.3 修改slaves      配置slave的机器名 (这些机器需要能按机器名ping通,即要需要/etc/hosts 文件,按 ip 空格 机器名 的格式设置。)
  slave1
  slave2
  5.4 配置core-site.xml (从core-site.xml.example copy 过来一个,重命名即可。) 
  

<configuration>  <!-- 文件系统的地址,jdycluster 对应的是namenode 的地址,这里需要将namenode 的hosts 映射到这个名称。 -->
<property>  <name>fs.defaultFS</name>
  <value>hdfs://jdycluster</value>
  </property>   
  

  <property>
  <name>io.file.buffer.size</name>
  <value>4194304</value>
  </property>
  <property>
  <name>fs.trash.interval</name>
  <value>1440</value>
  </property>
  

  <property>
  <name>io.compression.codecs</name>
  <value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.BZip2Codec,org
  
.apache.hadoop.io.compress.SnappyCodec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec</value>
  </property>
  <property>
  <name>io.compression.codec.lzo.class</name>
  <value>com.hadoop.compression.lzo.LzoCodec</value>
  </property>
  <property>
  <name>ha.failover-controller.cli-check.rpc-timeout.ms</name>
  <value>60000</value>
  </property>
  <property>
  <name>ipc.client.connect.timeout</name>
  <value>60000</value>
  </property>
  

  <!-- to solve "impersonate" issue -->
  <property>
  <name>hadoop.proxyuser.jdydev.hosts</name>
  <value>*</value>
  </property>
  

  <property>
  <name>hadoop.proxyuser.jdydev.groups</name>
  <value>*</value>
  </property>
  

  
</configuration>
  

  5.5  配置hdfs-site.xml
  

<configuration>  <property>
  <name>dfs.nameservices</name>
  <value>jdycluster</value>
  </property>
  <!-- 目录需要自己建好 -->
  <property>
  <name>dfs.namenode.name.dir</name>
  <value>file:/home/q/hadoop-2.6.5/dfs/name</value>
  </property>        
  <property>
  <name>dfs.replication</name>
  <value>1</value>   
  </property>
  <property>
  <name>dfs.blocksize</name>
  <value>268435456</value>
  </property>
  <property>
  <name>dfs.namenode.handler.count</name>
  <value>100</value>
  </property>
  

  <property>
  <name>dfs.webhdfs.enabled</name>
  <value>true</value>
  </property>
  
  <!--- 目录需要自己建好 --->
  <property>
  <name>dfs.datanode.data.dir</name>
  <value>file:/home/q/hadoop-2.6.5/dfs/data</value>
  </property>
  

  <property>
  <name>dfs.ha.namenodes.jdycluster</name>
  <value>nn1</value>
  </property>
  

  <property>
  <name>dfs.namenode.rpc-address.jdycluster.nn1</name>
  <value>l-qta3.sp.beta.cn0:8020</value>
  </property>
  <property>
  <name>dfs.namenode.http-address.jdycluster.nn1</name>
  <value>l-qta3.sp.beta.cn0:50070</value>
  </property>
  

  <property>
  <name>dfs.client.failover.proxy.provider.jdycluster</name>
  <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
  </property>
  
   <property>
  <name>dfs.permissions</name>
  <value>false</value>
  </property>   
  
</configuration>
  

  5.6  配置mapred-site.xml, 这里都是map-reduce 的参数
  

<configuration>  <property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
  </property>
  <property>
  <name>mapreduce.map.memory.mb</name>
  <value>1536</value>
  </property>
  <property>
  <name>mapreduce.map.java.opts</name>
  <value>-Xmx1024M</value>
  </property>
  <property>
  <name>mapreduce.reduce.memory.mb</name>
  <value>3072</value>
  </property>
  

  <property>
  <name>mapreduce.reduce.java.opts</name>
  <value>-Xmx2560M</value>
  </property>
  

  <property>
  <name>mapreduce.task.io.sort.mb</name>
  <value>512</value>
  </property>
  <property>
  <name>mapreduce.task.io.sort.factor</name>
  <value>100</value>
  </property>
  <property>
  <name>mapreduce.reduce.shuffle.parallelcopies</name>
  <value>50</value>
  </property>
  

  <property>
  <name>mapreduce.jobhistory.address</name>
  <value>l-qta3.sp.beta.cn0:10020</value>
  </property>
  

  <property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>l-qta3.sp.beta.cn0:19888</value>
  </property>
  

  <property>
  <name>mapreduce.jobhistory.intermediate-done-dir</name>
  <value>/mr-history/tmp</value>
  </property>
  <property>
  <name>mapreduce.jobhistory.done-dir</name>
  <value>/mr-history/done</value>
  </property>
  

  5.7 配置yarn-site.xml
  

<configuration>  

  
<!-- Site specific YARN configuration properties -->
  

  <property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
  </property>
  <property>
  <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
  <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
  <property>
  <name>yarn.resourcemanager.address</name>
  <value>l-qta3.sp.beta.cn0:8032</value>
  </property>
  <property>
  <name>yarn.resourcemanager.scheduler.address</name>
  <value>l-qta3.sp.beta.cn0:8030</value>
  </property>
  <property>
  <name>yarn.resourcemanager.resource-tracker.address</name>
  <value>l-qta3.sp.beta.cn0:8035</value>
  </property>
  <property>
  <name>yarn.resourcemanager.admin.address</name>
  <value>l-qta3.sp.beta.cn0:8033</value>
  </property>
  <property>
  <name>yarn.resourcemanager.webapp.address</name>
  <value>l-qta3.sp.beta.cn0:8088</value>
  </property>
  

  
</configuration>
  

  5.8 配置slaves, 这里配置的就是DataNode,NodeManager,Worker的机器。
  l-qta3.sp.beta.cn0
  l-bgautotest2.sp.beta.cn0
  5.9  scp到所有salve机器相同目录下
  scp -r /home/q/hadoop-2.6.5  xx@slave[1-2]:/home/q/
  6 启动hadoop 集群
  6.1 格式化NameNode
  在NameNode执行以下操作
  

cd  /home/q/hadoop-2.6.5/bin  

sudo bin/hadoop namenode –format  

  6.2 启动hadoop集群
  

方式1:  sbin/start-dfs.sh                              #启动HDFS
  
sbin/start-yarn.sh                             #启动资源管理器
  方式2:
  sbin/start-all.sh                 
  注意: 在启动过程中,启动脚本会依次ssh方式登陆各台机器,所以即使是启动本机的服务也会ssh,这时候 本机也要做免密登陆,否则NameNode会起不来。
  

  6.3 验证集群是否启动
  

在NameNode上执行 jps  返回如下:
  6996 ResourceManager
  6611 NameNode
  6412 Jps
  在DataNode上执行 jps
  返回如下:
  22285 NodeManager
  22151 DataNode
  

  说明已经启动成功。进入Hadoop的Web管理页面:http://l-qta3.sp.beta.cn0:50070/
  7. 安装spark
  首先到spark官网下载和你安装的hadoop 版本匹配的spark 版本。http://spark.apache.org/downloads.html
  7.1 解压缩 spark-2.0.2-bin-hadoop2.6.tgz
  

sudo tar -zxvf spark-2.0.2-bin-hadoop2.6.tgz -C /home/q/  

  7.2 配置spark-env.sh
  

cd /home/q/spark-2.0.2-bin-hadoop2.6/conf  

cp spark-env.sh.template spark-env.sh  
sudo vi spark-env.sh
  export JAVA_HOME=/home/q/java/default
  

  export HADOOP_HOME=/home/q/hadoop-2.6.5
  export HADOOP_CONF_DIR=/home/q/hadoop-2.6.5/etc/hadoop/
  export SPARK_LOCAL_DIRS=/home/q/spark-2.0.2-bin-hadoop2.6
  export SPARK_CLASSPATH=/home/q/spark-2.0.2-bin-hadoop2.6/bin
  export SPARK_CLASSPATH=$SPARK_CLASSPATH:/home/q/hadoop-2.6.5/share/hadoop/mapreduce/lib/hadoop-lzo-0.4.20-SNAPSHOT.jar
  export HIVE_CONF_DIR=/home/q/apache-hive-2.1.1-bin/conf
  7.3 配置salves
  

vi slaves  
l
-bgautotest2.sp.beta.cn0  
l
-querydiff1.sp.beta.cn  

  7.4 将spark的安装文件scp到slaves的相同目录下
  

scp -r /home/q/spark-2.0.2-bin-hadoop2.6 xx@slaves[1-2]:/home/q/  

  7.5 启动spark 集群
  

sbin/start-all.sh  

  7.6 验证是否启动spark集群
  

master 机器上执行  jps  
返回中有:
  

11016 Master  
slave 机器上执行 jps:
  
返回中有:
  

6689 Worker  说明启动成功。
  

  进入Spark的Web管理页面:http://l-qta3.sp.cn0:8080 .

运维网声明 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-425050-1-1.html 上篇帖子: 如果没能一次成功,那就叫它1.0版吧! 下篇帖子: Hadoop hdfs完全分布式搭建教程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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