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($=="BOOTPROTO"){
print $"=static"
}
else if($=="ONBOOT"){
print $"=yes"
}
else{
print $"="$
}
}
' > $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: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/profile
source /etc/profile
#curl "www.baidu.com"
}
四 配置本地repo
repo配置成国内镜像,可以加快下载速度。
function config_repo(){
WY_REPO=CentOS-.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.-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($=="BOOTPROTO"){
print $"=static"
}
else if($=="ONBOOT"){
print $"=yes"
}
else{
print $"="$
}
}
' > $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: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/profile source /etc/profile #curl "www.baidu.com"
} function config_repo(){ #cp -r /mnt/usb/mapr /home/ # config repo
WY_REPO=CentOS-.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.-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
Hadoop(MapR)分布式安装及自动化脚本配置的更多相关文章
- hadoop伪分布式安装之Linux环境准备
Hadoop伪分布式安装之Linux环境准备 一.软件版本 VMare Workstation Pro 14 CentOS 7 32/64位 二.实现Linux服务器联网功能 网络适配器双击选择VMn ...
- 【Hadoop学习之三】Hadoop全分布式安装
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop3.1.1 全分布式就是集群,注意配置主机名. ...
- [大数据] hadoop全分布式安装
一.准备工作 在伪分布式的搭建基础上修改配置,搭建全分布式hadoop环境,伪分布式安装参照 hadoop伪分布式安装. 首先准备4台虚拟机,信息如下: 192.168.1.11 namenode1 ...
- Hadoop完全分布式安装配置完整过程
一. 硬件.软件准备 1. 硬件设备 为了方便学习Hadoop,我采用了云服务器来配置Hadoop集群.集群使用三个节点,一个阿里云节点.一个腾讯云节点.一个华为云节点,其中阿里云和腾讯云都是通过使用 ...
- hadoop 完全分布式安装
一个完全的hadoop分布式安装至少需要3个zookeeper,3个journalnode,3个datanode,2个namenode组成. 也就是说需要11个节点,但是我云主机有限,只有3个,所以把 ...
- Hadoop学习---Ubuntu中hadoop完全分布式安装教程
软件版本 Hadoop版本号:hadoop-2.6.0-cdh5.7.0: VMWare版本号:VMware 9或10 Linux系统:CentOS 6.4-6.5 或Ubuntu版本号:ubuntu ...
- Hadoop伪分布式安装步骤(hadoop0.20.2版本)
最近在学习hadoop,自己下了个视频教程,他的教学版本是hadoop0.20.2版本,现在的最新版本都到了3.0了,版本虽然有点老,但是还是学了一下,觉得有借鉴的价值. 不废话了,开始介绍: 先说一 ...
- apache hadoop 伪分布式安装
1. 准备工作 1.1. 软件准备 1.安装VMWare 2.在VMWare上安装CentOS6.5 3.安装XShell5,用来远程登录系统 4.通过rpm -qa | grep ssh 检查cen ...
- [hadoop] hadoop-all-in-one-伪分布式安装
hadoop伪分布式-all-in-one安装 #查看hadoop 版本 [root@hadoop-allinone-200-123 bin]# pwd /wdcloud/app/hadoop-2.7 ...
随机推荐
- Python网络爬虫实战(三)照片定位与B站弹幕
之前两篇已经说完了如何爬取网页以及如何解析其中的数据,那么今天我们就可以开始第一次实战了. 这篇实战包含两个内容. * 利用爬虫调用Api来解析照片的拍摄位置 * 利用爬虫爬取Bilibili视频中的 ...
- MySql(二)_NHibernateHelper管理会话工厂
1.定义接口的好处: (1) 清楚的看到里面有哪些方法: ( 2 ) 可以更换实现类:Nhibernate实现件可以更换: Manger文件夹(另外两个是Model.Mappings文件夹) 首先M ...
- Winform中设置ZedGraph曲线图的水平与竖直参考线
场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
- 漫谈Java中的OOPS
什么是OOPS? 面向对象编程是一种编程概念,其工作原理是对象是程序中最重要的部分.它允许用户创建他们想要的对象,然后创建处理这些对象的方法.操作这些对象以获得结果是面向对象编程的目标. 面向对象编程 ...
- WebDriver 将浏览器窗口最大化
package com.entrym.main; import java.io.File; import java.io.IOException; import org.openqa.selenium ...
- Linux 笔记 - 第十章 Shell 基础知识
博客地址:http://www.moonxy.com 一.前言 Shell 是系统的用户界面,提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行.实际上 Shell 是一 ...
- Linux之正则表达式grep
真好!
- java8 Date/Time API 新的日期处理工具
接上篇文章 java8 新特性 由于上篇过于庞大,使得重点不够清晰,本篇单独拿出 java8 的 Date/Time api 进行说明,新的日期时间工具全部都在 java.time 及其子包中. 新 ...
- centos使用android studio遇到的一些问题
1.下载完成后进入bin目录启动 ./studio 2. 由于google被墙,SDK 下载不了, 照此教程添加下载源 http://jingyan.baidu.com/album/adc815137 ...
- 新手学习Git之在本地使用Git
每个开发人员应该都会一个版本管理工具,在Git和SVN中,我选择以Git,以下是我的一些心得 什么是 Git Git是目前世界上最先进的分布式版本控制系统(没有之一). 一.Git安装 1).linu ...