Hadoop(MapR)分布式安装及自动化脚本配置
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_FILEmv $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:Ulic2016@dl-proxy.neusoft.com:8080/" >> /etc/profile echo "export https_proxy=http://sunyandong:Ulic2016@dl-proxy.neusoft.com:8080/" >> /etc/profile echo "export ftp_proxy=http://sunyandong:Ulic2016@dl-proxy.neusoft.com:8080/" >> /etc/profilesource /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_FILEmv $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:Ulic2016@dl-proxy.neusoft.com:8080/" >> /etc/profile echo "export https_proxy=http://sunyandong:Ulic2016@dl-proxy.neusoft.com:8080/" >> /etc/profile echo "export ftp_proxy=http://sunyandong:Ulic2016@dl-proxy.neusoft.com:8080/" >> /etc/profilesource /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 softwarefunction 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.keyyum 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?
轉載于:https://www.cnblogs.com/rongyux/p/5661009.html
總結
以上是生活随笔為你收集整理的Hadoop(MapR)分布式安装及自动化脚本配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu14.04-LAMP环境搭建
- 下一篇: PHP Module