Docker安装Hadoop集群

Docker安装Hadoop集群?图啥呢?不图啥,就是图好玩,本篇博客主要是来教大家如何搭建一个Docker的Hadoop集群,不要问为什么我要做这么无聊的事情,答案你也许知道,就是喜欢折腾。

好了,不多说这些没有必要的东西了,首先,我们来安装Docker。

一.docker的安装

sudo yum install -y docker-io

sudo wget https://get.docker.com/builds/Linux/x86_64/docker-latest -O /usr/bin/docker

我们来启动我们的docker:

sudo service docker start

开机也自启动docker
sudo chkconfig docker on

二.拉取一个镜像

如果我们要6.5的CentOS 版本,额,不要问我问什么用6.5的,因为宿主机是内核6.5的...

sudo docker pull insaneworks/centos

然后我们就可以去吃个饭喝壶茶了......反正你就就慢慢等吧.....

.......

ok,饭吃完了,我们来产生一个容器吧.

sudo docker run -it insaneworks/centos /bin/bash

ctrl+p ctrl+q可以帮助我们从容器返回宿主机.

sudo docker ps 可以查看运行的容器.

ok,我们不想要这个容器了,怎么办呢?

sudo docker stop b152861ef001

同时再把容器删除

sudo docker rm b152861ef001

三.制作一个hadoop镜像

这是这里最繁琐的过程,不过,我们可以分解来做.少年郎,我夹你杠哦,你会了这个,就再也不用担心hadoop

不会装了.走起!

sudo docker run -it -h master --name master insaneworks/centos /bin/bash

进入到容器里,我们第一步就是把gcc给我装了.

yum install -y gcc

装vim

yum install -y vim

装lrzsz

yum install -y lrzsz

装ssh:

yum -y install openssh-server

yum -y install openssh-clients

注意,这里我们要改一下ssh的一些配置:vim /etc/ssh/sshd_config

放开PermitEmptyPasswords no

更改UsePAM no

放开PermitRootLogin yes

启动sshd

service sshd start

然后我们要用到ssh密码设置

ssh-keygen -t rsa -P '' -f ~/.ssh/id_dsa

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

这样完了后呢,我们ssh连自己试试

ssh master

不错,非常好使.

接下来我们把Java给装了.

通过rz将java rpm包给传上去,好了,又该去喝一壶了........

rpm -ivh jdk-7u75-linux-x64.rpm

修改环境变量 

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
export JAVA_HOME=/usr/java/jdk1.7.0_75
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

source /etc/profile

下面我们该装hadoop了,激动吧,呵呵,先把tar给装了先.

yum install -y tar

一样,我们用rz把hadoop的tar包传到容器内.事先埋个伏笔,之后会有一件很坑爹的事情,反正到时候你就知道了.

嗯......等的真是好漫长..........

咚咚哒哒呼噜娃.......咚咚哒哒呼噜娃.......

好了,解压:

tar zxvf hadoop-2.6.0.tar.gz

完美!

配置环境变量
export HADOOP_HOME=/home/hadoop/hadoop-2.6.0
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH

然后又一件事情要做,这件事情看上去好像不用做,但老子试过n次,不做就是hadoop起不来.

vim hadoop-env.sh 和 yarn-env.sh 在开头添加如下环境变量(一定要添加切勿少了)
export JAVA_HOME=/usr/java/jdk1.7.0_75

哦,这个文件都在hadoop解压目录的etc中.

下面我们来写配置文件. 

修改hadoop core-site.xml文件
<configuration>
 <property>
 <name>fs.defaultFS</name>
 <value>hdfs://master:9000</value>
 </property>
 <property>
 <name>io.file.buffer.size</name>
 <value>131702</value>
 </property>
 <property>
 <name>hadoop.tmp.dir</name>
 <value>file:/home/songfy/hadoop-2.6.0/tmp</value>
 </property>
</configuration>

修改hdfs-site.xml文件
<configuration>
 <property>
 <name>dfs.namenode.name.dir</name>
 <value>file:/home/songfy/hadoop-2.6.0/dfs/name</value>
 </property>
 <property>
 <name>dfs.datanode.data.dir</name>
 <value>file:/home/songfy/hadoop-2.6.0/dfs/data</value>
 </property>
 <property>
 <name>dfs.replication</name>
 <value>2</value>
 </property>
 <property>
 <name>dfs.namenode.secondary.http-address</name>
 <value>master:9001</value>
 </property>
 <property>
 <name>dfs.webhdfs.enabled</name>
 <value>true</value>
 </property>
</configuration>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/47a6822d8239b4432dd5a0df565e3cb1.html