zl程序教程

您现在的位置是:首页 >  其他

当前栏目

使用Vagrant创建虚拟机安装Hadoop

安装hadoop虚拟机 创建 vagrant 使用
2023-09-14 08:56:52 时间
安装VirtualBox

下载地址:https://www.virtualbox.org/wiki/Downloads/

安装Vagrant

下载安装包:http://downloads.vagrantup.com/,然后安装。

下载box

下载适合你的box,地址:http://www.vagrantbox.es/

例如下载 CentOS6.5:

$ wget https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box

添加box

首先查看已经添加的box:

$ vagrant box list

添加新的box,可以是远程地址也可以是本地文件,建议先下载到本地再进行添加:

$ vagrant box add centos6.5 ./centos65-x86_64-20140116.box

其语法如下:

vagrant box add {title} {url}

box 被安装在 ~/.vagrant.d/boxes 目录下面。

创建虚拟机

先创建一个目录:

$ mkdir -p ~/workspace/vagrant/cdh

初始化,使用 centos6.5 box:

$ cd ~/workspace/vagrant/cdh

$ vagrant init centos6.5

输出如下日志:

A `Vagrantfile` has been placed in this directory. You are now

ready to `vagrant up` your first virtual environment! Please read

the comments in the Vagrantfile as well as documentation on

`vagrantup.com` for more information on using Vagrant.

在当前目录生成了 Vagrantfile 文件。

修改Vagrantfile

修改文件如下:

# -*- mode: ruby -*-

# vi: set ft=ruby :

# Vagrantfile API/syntax version. Dont touch unless you know what youre doing!

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

 (1..3).each do |i|

 config.vm.define vm_name = "cdh#{i}" do |config|

 config.vm.provider "virtualbox" do |v|

 v.customize ["modifyvm", :id, "--name", vm_name, "--memory", "2048",--cpus, 1]

 config.vm.box = "centos6.5"

 config.vm.hostname =vm_name

 config.ssh.username = "vagrant"

 config.vm.network :private_network, ip: "192.168.56.12#{i}"

 config.vm.provision :shell, :path = "bootstrap.sh"

上面的文件中定义了三个虚拟机,三个虚拟机的名字和 hostname 分别为cdh1、cdh2、cdh3,网络使用的是 host-only 网络。

在启动成功之后,会运行 bootstrap.sh 脚本,你可以编写你自己的脚本。

启动虚拟机

执行以下命令会依次启动三个虚拟机:

$ vagrant up

启动成功之后,就可以通过 ssh 登陆到虚拟机:

$ vagrant ssh cdh1

虚拟机的初始化设置

创建好的虚拟机有很多地方没有设置,有一些软件没有安装,可以编写一个shell脚本(例如,命名为 bootstrap.sh)进行手动执行,也可以通过provision启动之后自动运行。该脚本内容如下:

#!/usr/bin/env bash

# The output of all these installation steps is noisy. With this utility

# the progress report is nice and concise.

function install {

 echo Installing $1

 shift

 yum -y install "$@" /dev/null 2 1

echo "Update /etc/hosts"

cat /etc/hosts EOF

127.0.0.1 localhost

192.168.56.121 cdh1

192.168.56.122 cdh2

192.168.56.123 cdh3

echo "Remove unused logs"

sudo rm -rf /root/anaconda-ks.cfg /root/install.log /root/install.log.syslog /root/install-post.log

echo "Disable iptables"

setenforce 0 /dev/null 2 1 iptables -F

### Set env ###

echo "export LC_ALL=en_US.UTF-8" /etc/profile

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

echo "Setup yum repos"

rm -rf /etc/yum.repos.d/*

cp /vagrant/*.repo /etc/yum.repos.d/

yum clean all /dev/null 2 1

echo "Setup root account"

# Setup sudo to allow no-password sudo for "admin". Additionally,

# make "admin" an exempt group so that the PATH is inherited.

cp /etc/sudoers /etc/sudoers.orig

echo "root ALL=(ALL) NOPASSWD: ALL" /etc/sudoers

echo redhat|passwd root --stdin /dev/null 2 1

echo "Setup nameservers"

# http://ithelpblog.com/os/linux/redhat/centos-redhat/howto-fix-couldnt-resolve-host-on-centos-redhat-rhel-fedora/

# http://stackoverflow.com/a/850731/1486325

echo "nameserver 8.8.8.8" | tee -a /etc/resolv.conf

echo "nameserver 8.8.4.4" | tee -a /etc/resolv.conf

echo "Setup ssh"

[ ! -d /root/.ssh ] ( mkdir /root/.ssh ) ( chmod 600 /root/.ssh ) yes|ssh-keygen -f ~/.ssh/id_rsa -t rsa -N ""

install Git git

install "Base tools" vim wget curl

install "Hadoop dependencies" expect rsync pssh

install PostgreSQL postgresql-server postgresql-jdbc

sudo -u postgres createuser --superuser vagrant

sudo -u postgres createdb -O vagrant test1

sudo -u postgres createdb -O vagrant test2


以上所有配置可以在 这里找 找到,其中 cdh.repo 内容如下:

[cdh]

name=cdh

baseurl=http://192.168.56.1/cdh/5.2.0/

enabled=1

gpgcheck=0

[hadoop-repo]

name=hadoop-repo

baseurl=http://192.168.56.1/hadoop-repo/

enabled=1

gpgcheck=0

上面文件包括 cdh 和 hadoop 相关的一些依赖,这些需要通过 apache 服务在宿主机上配置好。

安装hadoop

可以参考这些文章

你可以参考上面的文章手动安装 hadoop,也可以通过我写的 shell 脚本来安装。

步骤:

1.在虚拟机中选择一个节点为管理节点,然后下载仓库

$ git clone https://github.com/javachen/hadoop-install.git

2.进入 hadoop-install/shell 目录,参考 READEME.md 中说明来安装集群。


【大数据开发运维解决方案】hadoop+kylin安装及官方cube/steam cube案例文档 对于hadoop+kylin的安装过程在上一篇文章已经详细的写了, 请读者先看完上一篇文章再看本本篇文章,本文主要大致介绍kylin官官方提供的常规批量cube创建和kafka+kylin流式构建cube(steam cube)的操作过程,具体详细过程请看官方文档。
大数据开发之Hadoop 伪分布式安装(4)【完结】 你好看官,里面请!今天笔者讲的是大数据开发之Hadoop 伪分布式安装(4)。不懂或者觉得我写的有问题可以在评论区留言,我看到会及时回复。 注意:本文仅用于学习参考,不可用于商业用途,如需转载请跟我联系。
大数据开发之Hadoop 伪分布式安装(3) 你好看官,里面请!今天笔者讲的是大数据开发之Hadoop 伪分布式安装(3)。不懂或者觉得我写的有问题可以在评论区留言,我看到会及时回复。 注意:本文仅用于学习参考,不可用于商业用途,如需转载请跟我联系。
大数据开发之Hadoop 伪分布式安装(2) 你好看官,里面请!今天笔者讲的是大数据开发之Hadoop 伪分布式安装(2)。不懂或者觉得我写的有问题可以在评论区留言,我看到会及时回复。 注意:本文仅用于学习参考,不可用于商业用途,如需转载请跟我联系。
大数据开发之Hadoop 伪分布式安装(1) 你好看官,里面请!今天笔者讲的是大数据开发之Hadoop 伪分布式安装(1)。不懂或者觉得我写的有问题可以在评论区留言,我看到会及时回复。 注意:本文仅用于学习参考,不可用于商业用途,如需转载请跟我联系。
Hadoop简介、安装 hadoop平台是一个可靠的、可扩展的、可分布式计算的开源软件。 Apache Hadoop平台是一个框架,允许使用简单的编程模型。该平台被设计成可以从单个服务器扩展到数千台服务器,每台服务器都提供本地计算和存储。该平台也被设计成可检测和处理应用层的故障(即高可用、高容错),高可用服务是基于计算机集群的,并且每一台计算机有可能出错。 #### hadoop应用:
雨客 微博@JavaChen,这里的所有博客文章来自http://blog.javachen.com/。