MapR的分布式集群安装过程还是很艰难的,远远没有计划中的简单。本人总结安装配置,由于集群有很多机器,手动每台配置是很累的,编写了一个自动化配置脚本,下面以脚本为主线叙述(脚本并不完善,后续继续完善中)。

  编写脚本需要shell基础的,还要掌握awk和sed等统计手段为佳。操作系统是CentOS7。

  准备:安装CentOS操作系统并分区

  分区:

  / 50G

  /home 50G

  /boot 500M

  /var 50G

  /swap 8G

  /disk 305G(剩余全部,用于MapR的文件管理系统使用。特别注意,后面需要去掉挂载,reboot后会进入紧急模式,需要在配置里删掉disk的挂载)

  一 配置IP

  根据公司网络代理配置Ip,这里注意使用awk,用=划分每一行,根据=前的变量修改=后的变量,输出到备份文件中;然后替换原有的Ip配置文件,最后重启网卡。ip在设置前一定要ping一下,不通才可以使用,否则会有ip冲突。

  1. function config_ip(){
  2. NETWORK_PATH=/etc/sysconfig/network-scripts/
  3. ENFILE=`ls $NETWORK_PATH/ifcfg-en*`
  4. IPADDR="10.4.45.211"
  5. NETMASK="255.255.255.0"
  6. GATEWAY="10.4.45.1"
  7. DNS1="210.83.210.155"
  8. TEMP_FILE="ifcfg.temp"
  9.  
  10. cat $ENFILE | awk -F "=" '{
  11. if($=="BOOTPROTO"){
  12. print $"=static"
  13. }
  14. else if($=="ONBOOT"){
  15. print $"=yes"
  16. }
  17. else{
  18. print $"="$
  19. }
  20. }
  21. ' > $TEMP_FILE
  22. echo "IPADDR="$IPADDR >> $TEMP_FILE
  23. echo "NETMASK="$NETMASK >> $TEMP_FILE
  24. echo "GATEWAY="$GATEWAY >> $TEMP_FILE
  25. echo "DNS1="$DNS1 >> $TEMP_FILE
  26.  
  27. mv $TEMP_FILE $ENFILE
  28. service network restart
  29. }

  二 配置host文件

  本集群暂时有四台主机,分别为apm1,apm2,apm3和apm4。用相应名称代替ip,简化了机器间的通讯。

  1. function config_hosts(){
  2.  
  3. echo "10.4.45.210 apm1" >> /etc/hosts
  4. echo "10.4.45.211 apm2" >> /etc/hosts
  5. echo "10.4.45.212 apm3" >> /etc/hosts
  6. echo "10.4.45.213 apm4" >> /etc/hosts
  7. }

  三 配置网络代理

  /etc/profile文件中加入代理配置,但这里是追加到文件尾部了,需要替换到文件顶部。根据自己的代理配置账户和密码。

  1. function config_proxy(){
  2. echo "# add by user" >> /etc/profile
  3. echo "setterm -blength 0" >> /etc/profile
  4. echo "export http_proxy=http://sunyandong:Ulic2016@dl-proxy.neusoft.com:8080/" >> /etc/profile
  5. echo "export https_proxy=http://sunyandong:Ulic2016@dl-proxy.neusoft.com:8080/" >> /etc/profile
  6. echo "export ftp_proxy=http://sunyandong:Ulic2016@dl-proxy.neusoft.com:8080/" >> /etc/profile
  7.  
  8. source /etc/profile
  9.  
  10. #curl "www.baidu.com"
  11. }

  四 配置本地repo

  repo配置成国内镜像,可以加快下载速度。

  1. function config_repo(){
  2.  
  3. WY_REPO=CentOS-.com.repo
  4. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  5. cp /mnt/usb/$WY_REPO /etc/yum.repos.d/CentOS-Base.repo
  6. yum clean all
  7. yum makecache
  8. }

  五 下载安装JDK

  上一步配置好代理后,下面就可以yum下载安装JDK,vim,和createrepo。

  1. function config_software(){
  2. yum install vim
  3. yum install java-1.8.-openjdk-devel.x86_64
  4. yum install createrepo
  5. }

  六 安装MapR

  使用MapR的repo,配置安装MapR相应的服务,包括fileserver,nfs,nodemanager,zookeeper,resourcemanager 和cldb

  1. function config_mapr(){
  2.  
  3. MAPR_REPO=CentOS-mapr.repo
  4. cp /mnt/usb/$MAPR_REPO /etc/yum.repos.d/maprtech.repo
  5.  
  6. yum install mapr-fileserver
  7. yum install mapr-nfs
  8. yum install mapr-nodemanager
  9. yum install mapr-zookeeper
  10. yum install mapr-resourcemanager
  11. #yum install mapr-cldb
  12. }

  七 配置env.sh

  1. function config_env(){
  2. bash /opt/mapr/conf/env.sh
  3. }

  以上为脚本的内容,可以完成MapR的大部分自动化配置安装。

  八 格式化disk,配置结点

  后续完善。。。。。。。

  脚本源码为下:

  1. #!/bin/bash
  2.  
  3. # config ip address
  4. function config_ip(){
  5. NETWORK_PATH=/etc/sysconfig/network-scripts/
  6. ENFILE=`ls $NETWORK_PATH/ifcfg-en*`
  7. IPADDR="10.4.45.211"
  8. NETMASK="255.255.255.0"
  9. GATEWAY="10.4.45.1"
  10. DNS1="210.83.210.155"
  11. TEMP_FILE="ifcfg.temp"
  12.  
  13. cat $ENFILE | awk -F "=" '{
  14. if($=="BOOTPROTO"){
  15. print $"=static"
  16. }
  17. else if($=="ONBOOT"){
  18. print $"=yes"
  19. }
  20. else{
  21. print $"="$
  22. }
  23. }
  24. ' > $TEMP_FILE
  25. echo "IPADDR="$IPADDR >> $TEMP_FILE
  26. echo "NETMASK="$NETMASK >> $TEMP_FILE
  27. echo "GATEWAY="$GATEWAY >> $TEMP_FILE
  28. echo "DNS1="$DNS1 >> $TEMP_FILE
  29.  
  30. mv $TEMP_FILE $ENFILE
  31. service network restart
  32. }
  33.  
  34. # config hosts
  35. function config_hosts(){
  36.  
  37. echo "10.4.45.210 apm1" >> /etc/hosts
  38. echo "10.4.45.211 apm2" >> /etc/hosts
  39. echo "10.4.45.212 apm3" >> /etc/hosts
  40. echo "10.4.45.213 apm4" >> /etc/hosts
  41. }
  42.  
  43. # config proxy
  44. function config_proxy(){
  45. echo "# add by user" >> /etc/profile
  46. echo "setterm -blength 0" >> /etc/profile
  47. echo "export http_proxy=http://sunyandong:Ulic2016@dl-proxy.neusoft.com:8080/" >> /etc/profile
  48. echo "export https_proxy=http://sunyandong:Ulic2016@dl-proxy.neusoft.com:8080/" >> /etc/profile
  49. echo "export ftp_proxy=http://sunyandong:Ulic2016@dl-proxy.neusoft.com:8080/" >> /etc/profile
  50.  
  51. source /etc/profile
  52.  
  53. #curl "www.baidu.com"
  54. }
  55.  
  56. function config_repo(){
  57.  
  58. #cp -r /mnt/usb/mapr /home/
  59.  
  60. # config repo
  61. WY_REPO=CentOS-.com.repo
  62. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  63. cp /mnt/usb/$WY_REPO /etc/yum.repos.d/CentOS-Base.repo
  64. yum clean all
  65. yum makecache
  66. }
  67.  
  68. # config software
  69.  
  70. function config_software(){
  71. yum install vim
  72. yum install java-1.8.-openjdk-devel.x86_64
  73. yum install createrepo
  74.  
  75. }
  76.  
  77. # mapr repo
  78. function config_mapr(){
  79. #cp /mnt/usb/mapr/* /home/apm2/mapr
  80. #createrepo /mnt/usb/mapr
  81. MAPR_REPO=CentOS-mapr.repo
  82. cp /mnt/usb/$MAPR_REPO /etc/yum.repos.d/maprtech.repo
  83.  
  84. #rpm --import http://package.mapr.com/releases/pub/maprgpg.key
  85.  
  86. yum install mapr-fileserver
  87. yum install mapr-nfs
  88. yum install mapr-nodemanager
  89. yum install mapr-zookeeper
  90. yum install mapr-resourcemanager
  91. #yum install mapr-cldb
  92. }
  93.  
  94. function config_env(){
  95. bash /opt/mapr/conf/env.sh
  96. }
  97.  
  98. # main
  99. config_repo
  100. config_software
  101. config_mapr
  102. #config_ip
  103. #config_hosts
  104. #config_proxy

Hadoop(MapR)分布式安装及自动化脚本配置的更多相关文章

  1. hadoop伪分布式安装之Linux环境准备

    Hadoop伪分布式安装之Linux环境准备 一.软件版本 VMare Workstation Pro 14 CentOS 7 32/64位 二.实现Linux服务器联网功能 网络适配器双击选择VMn ...

  2. 【Hadoop学习之三】Hadoop全分布式安装

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop3.1.1 全分布式就是集群,注意配置主机名. ...

  3. [大数据] hadoop全分布式安装

    一.准备工作 在伪分布式的搭建基础上修改配置,搭建全分布式hadoop环境,伪分布式安装参照 hadoop伪分布式安装. 首先准备4台虚拟机,信息如下: 192.168.1.11 namenode1 ...

  4. Hadoop完全分布式安装配置完整过程

    一. 硬件.软件准备 1. 硬件设备 为了方便学习Hadoop,我采用了云服务器来配置Hadoop集群.集群使用三个节点,一个阿里云节点.一个腾讯云节点.一个华为云节点,其中阿里云和腾讯云都是通过使用 ...

  5. hadoop 完全分布式安装

    一个完全的hadoop分布式安装至少需要3个zookeeper,3个journalnode,3个datanode,2个namenode组成. 也就是说需要11个节点,但是我云主机有限,只有3个,所以把 ...

  6. Hadoop学习---Ubuntu中hadoop完全分布式安装教程

    软件版本 Hadoop版本号:hadoop-2.6.0-cdh5.7.0: VMWare版本号:VMware 9或10 Linux系统:CentOS 6.4-6.5 或Ubuntu版本号:ubuntu ...

  7. Hadoop伪分布式安装步骤(hadoop0.20.2版本)

    最近在学习hadoop,自己下了个视频教程,他的教学版本是hadoop0.20.2版本,现在的最新版本都到了3.0了,版本虽然有点老,但是还是学了一下,觉得有借鉴的价值. 不废话了,开始介绍: 先说一 ...

  8. apache hadoop 伪分布式安装

    1. 准备工作 1.1. 软件准备 1.安装VMWare 2.在VMWare上安装CentOS6.5 3.安装XShell5,用来远程登录系统 4.通过rpm -qa | grep ssh 检查cen ...

  9. [hadoop] hadoop-all-in-one-伪分布式安装

    hadoop伪分布式-all-in-one安装 #查看hadoop 版本 [root@hadoop-allinone-200-123 bin]# pwd /wdcloud/app/hadoop-2.7 ...

随机推荐

  1. android 拍照 相册 剪切以及显示功能

    一.概述 android的 图片拍照 ,相册选图,以及图片剪切功能可以说非常常用. 尤其是图片上传功能,必然用到此功能. 而公司最近的一个项目中正好用到该功能. 记录下来以便以后再次用到,直接拿来使用 ...

  2. 阿里云 centos7 64位搭建JAVA环境-----安装JDK(2)

    mysql安装好以后,把jdk环境配置一下. 首先下载jdk 8,在官网下载. 找到链接 http://download.oracle.com/otn-pub/java/jdk/8u171-b11/5 ...

  3. 学习数据库SQL语句2

    2018年11月15日  下午 —————————————————————————————————————————————————————————————————————————————————— 1 ...

  4. 44 (OC)* 野指针、空指针

    一: 空指针 : 没有存储任何内存地址的指针就称为空指针(NULL指针). 被赋值为nil的指针,在没有被具体初始化之前,为nil.nil.Nil.NULL.NSNULL的含义和区别 nil:OC中的 ...

  5. Spring Boot(一) Hello World

    一.Spring Boot之我见     Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从 ...

  6. Codeforces New Year and Buggy Bot 题解

    主要思路:全排列,然后按输入的字符串走并且判断是否撞墙 注:这样不会TLE,全排列最多24种 Code(C++): #include<bits/stdc++.h> using namesp ...

  7. Python学习-迭代器、生成器

    一.迭代器 1. 可迭代对象 我们知道字符串.列表.元组.字典.集合都可以使用for语句进行循环遍历,然后输出每一个元素,这些都是可迭代对象. 检查对象是否是可迭代对象可以用两种方式去判断: (1)使 ...

  8. 更改hadoop集群yarn的webui中的开始时间和结束时间为本地时间

    yarn集群的webui地址为:http://rm:8088 执行任务后,任务的开始时间和结束时间都是utc时间,查看很不方便. 查找相关资料发现hadoop有补丁包,补丁地址:https://iss ...

  9. jenkins离线安装插件的方法(无法访问外网)

    最近项目要迁移环境,无法访问外网,因此jenkins的安装配置需要离线操作,在此记录 jenkins下载安装好之后,跳过插件的安装,新建用户进入jenkins界面,这些前置步骤我在之前的随笔里有写具体 ...

  10. Centos 7 配置tomcat服务器

    1.首先查看当前系统版本 uname -a 2.安装之前查看系统是否安装了java rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj 如果没 ...