MapR分布式集群的安装配置及shell自动化脚本

  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冲突。

function config_ip(){
NETWORK_PATH=/etc/sysconfig/network-scripts/
ENFILE=`ls $NETWORK_PATH/ifcfg-en*`
IPADDR="10.4.45.211"
NETMASK="255.255.255.0"
GATEWAY="10.4.45.1"
DNS1="210.83.210.155"
TEMP_FILE="ifcfg.temp"

cat $ENFILE | awk -F "=" ‘{
  if($1=="BOOTPROTO"){
    print $1"=static"
  }
  else if($1=="ONBOOT"){
    print $1"=yes"
  }
  else{
    print $1"="$2
  }
}
‘ > $TEMP_FILE
echo "IPADDR="$IPADDR >> $TEMP_FILE
echo "NETMASK="$NETMASK >> $TEMP_FILE
echo "GATEWAY="$GATEWAY >> $TEMP_FILE
echo "DNS1="$DNS1 >> $TEMP_FILE

mv $TEMP_FILE $ENFILE
service network restart
}

  二 配置host文件

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

function config_hosts(){

echo "10.4.45.210    apm1" >> /etc/hosts
echo "10.4.45.211    apm2" >> /etc/hosts
echo "10.4.45.212    apm3" >> /etc/hosts
echo "10.4.45.213    apm4" >> /etc/hosts
}

  三 配置网络代理

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

function config_proxy(){
echo "# add by user" >> /etc/profile
echo "setterm -blength 0" >> /etc/profile
echo "export http_proxy=http://sunyandong:[email protected]:8080/" >> /etc/profile
echo "export https_proxy=http://sunyandong:[email protected]:8080/" >> /etc/profile
echo "export ftp_proxy=http://sunyandong:[email protected]:8080/" >> /etc/profile

source /etc/profile

#curl "www.baidu.com"
}

  四 配置本地repo

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

function config_repo(){

WY_REPO=CentOS-163.com.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
cp /mnt/usb/$WY_REPO /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum makecache
}

  五 下载安装JDK

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

function config_software(){
yum install vim
yum install java-1.8.0-openjdk-devel.x86_64
yum install createrepo
}

  六 安装MapR

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

function config_mapr(){

MAPR_REPO=CentOS-mapr.repo
cp /mnt/usb/$MAPR_REPO /etc/yum.repos.d/maprtech.repo

yum install mapr-fileserver
yum install mapr-nfs
yum install mapr-nodemanager
yum install mapr-zookeeper
yum install mapr-resourcemanager
#yum install mapr-cldb
}

  七 配置env.sh

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

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

  八 格式化disk,配置结点

  后续完善。。。。。。。

  脚本源码为下:

#!/bin/bash

# config ip address
function config_ip(){
NETWORK_PATH=/etc/sysconfig/network-scripts/
ENFILE=`ls $NETWORK_PATH/ifcfg-en*`
IPADDR="10.4.45.211"
NETMASK="255.255.255.0"
GATEWAY="10.4.45.1"
DNS1="210.83.210.155"
TEMP_FILE="ifcfg.temp"

cat $ENFILE | awk -F "=" ‘{
  if($1=="BOOTPROTO"){
    print $1"=static"
  }
  else if($1=="ONBOOT"){
    print $1"=yes"
  }
  else{
    print $1"="$2
  }
}
‘ > $TEMP_FILE
echo "IPADDR="$IPADDR >> $TEMP_FILE
echo "NETMASK="$NETMASK >> $TEMP_FILE
echo "GATEWAY="$GATEWAY >> $TEMP_FILE
echo "DNS1="$DNS1 >> $TEMP_FILE

mv $TEMP_FILE $ENFILE
service network restart
}

# config hosts
function config_hosts(){

echo "10.4.45.210    apm1" >> /etc/hosts
echo "10.4.45.211    apm2" >> /etc/hosts
echo "10.4.45.212    apm3" >> /etc/hosts
echo "10.4.45.213    apm4" >> /etc/hosts
}

# config proxy
function config_proxy(){
echo "# add by user" >> /etc/profile
echo "setterm -blength 0" >> /etc/profile
echo "export http_proxy=http://sunyandong:[email protected]:8080/" >> /etc/profile
echo "export https_proxy=http://sunyandong:[email protected]:8080/" >> /etc/profile
echo "export ftp_proxy=http://sunyandong:[email protected]:8080/" >> /etc/profile

source /etc/profile

#curl "www.baidu.com"
}

function config_repo(){

#cp -r /mnt/usb/mapr /home/

# config repo
WY_REPO=CentOS-163.com.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
cp /mnt/usb/$WY_REPO /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum makecache
}

# config software

function config_software(){
yum install vim
yum install java-1.8.0-openjdk-devel.x86_64
yum install createrepo

}

# mapr repo
function config_mapr(){
#cp /mnt/usb/mapr/* /home/apm2/mapr
#createrepo /mnt/usb/mapr
MAPR_REPO=CentOS-mapr.repo
cp /mnt/usb/$MAPR_REPO /etc/yum.repos.d/maprtech.repo

#rpm --import http://package.mapr.com/releases/pub/maprgpg.key

yum install mapr-fileserver
yum install mapr-nfs
yum install mapr-nodemanager
yum install mapr-zookeeper
yum install mapr-resourcemanager
#yum install mapr-cldb
}

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

# main
config_repo
config_software
config_mapr
#config_ip
#config_hosts
#config_proxy
时间: 2024-10-01 09:48:22

MapR分布式集群的安装配置及shell自动化脚本的相关文章

storm0.9.1 集群环境安装配置

Storm安装配置 三台机器  131,132,133 需要安装 jdk,python,autoconf-2.64,zeromq-3.2.2,jzmq 安装jdk和python不详细说. 1  安装 autoconf-2.64, 1.1 下载 http://download.chinaunix.net/download.php?id=29328&ResourceID=648 上传到lunix上的工作目录 比如  /home/bigdata/ 解压  tar -xvf   autoconf-2.6

Hadoop集群_Hadoop安装配置

1.集群部署介绍 1.1 Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台.以Hadoop分布式文件系统(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构. 对于Hadoop的集群来讲,可以分成两大类角色:Master和Salve.一个HDFS集群是由一个NameNode和若干个DataNode组成的.其中Nam

Hadoop伪分布式集群的安装部署

一.如何为虚拟机做快照? 1.什么是快照? 快照就是对当前的虚拟机状态进行拍照,保留虚拟机当前状态的操作信息. 2.为什么要为虚拟机做快照? 第一:为克隆不同状态的虚拟机提前做准备. 第二:当对虚拟机的某些操作执行错误而且改正比较麻烦的时候,可以切换到之前正常的虚拟机状态重新进行相关的操作. 3.如何为虚拟机做快照? (1)选择要克隆的虚拟机,然后“右键”,选择“快照”,然后选择“拍摄快照”. (2)可以为快照取个名称,也可以为虚拟机当前的状态做个描述,然后点击“拍摄快照”. 4.如何转到某一特

Storm集群的安装配置

Storm集群的安装分为以下几步: 1.首先保证Zookeeper集群服务的正常运行以及必要组件的正确安装 2.释放压缩包 3.修改storm.yaml添加集群配置信息 4.使用storm脚本启动相应服务并查看服务状态 5.通过web查看storm集群的状态 安装Storm之前首先保证之前安装的Zookeeper服务正常运行,包括配置hosts映射,主机名修改,防火墙都已经设置完好 Storm是由java编写,因此必须依赖JDK运行,系统首先应正确安装JDK 部分需要依赖Python,红帽系列L

VMware下Hadoop 2.4.1完全分布式集群平台安装与设置

1 VM下Ubuntu安装和配置 1.1 安装Ubuntu系统 这个就不说了,不知道的可以去看看其他的博文. 1.2 集群配置 搭建一个由3台机器组成的集群: IP user/passwd hostname role System 192.168.174.160 hadoop/hadoop master nn/snn/rm Ubuntu-14.04-32bit 192.168.174.161 hadoop/hadoop slave1 dn/nm Ubuntu-14.04-32bit 192.16

Hadoop集群_CentOS安装配置

1.准备安装 1.1 系统简介 CentOS 是什么? CentOS是一个基于Red Hat 企业级 Linux 提供的可自由使用的源代码企业级的 Linux 发行版本.每个版本的 CentOS 都会获得七年的支持(通过安全更新方式).新版本的 CentOS 每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件.这样,建立一个安全.低维护.稳定.高预测性.高重复性的 Linux 环境. CentOS(Community Enterprise Operati

高可用集群heartbeat安装配置(一)

一.HA高可 FailOver:故障转移 包含HA Resource IP, service,STONITH FailBack故障转移原点 Faiover domain:故障转移域 资源粘性资源更倾向于运行于哪个节点 Messagin Layer:集群事务信息层仅用来传递信息并不负责后期信息计算与比较 CRM:claster resource meanager 集群资源管理器负责统计收集集群上每一个资源状态根据资源状态资源服务本身计算出应该运行在哪个节点上. DC:Desinated Coord

Storm系列(一)集群的安装配置

安装前说明: 必须先安装zookeeper集群 该Storm集群由三台机器构成,主机名分别为chenx01,chenx02,chenx03,对应的IP分别为192.168.1.110,192.168.1.111,192.168.1.112,其中chenx01为MAST   1.修改主机名 vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=chenx01   2.修改主机和IP的映射关系 vim /etc/hosts 127.0.0.1 loca

HA分布式集群二hive配置

一,概念 hive:是一种数据仓库,数据储存在:hdfs上,hsql是由替换简单的map-reduce,hive通过mysql来记录映射数据 二,安装 1,mysql安装: 1,检测是否有mariadb rpm -qa|grep mariadb tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz 存在:rpm -e mariadb-libs-5.5.52-1.el7.x86_64 --nodeps 2,安装前准备: # ha1环境下:mysql