Docker之路(一)Hadoop集群安装

Docker安装Hadoop集群java

1、单机hadoop
首先进入咱们已有容器:(docker exec -it NAMES(名字) COMMAND ‘/bin/bash’)
mkdir /usr/hadoop
Cd /usr/hadoop
解压上传来的hadoop,或wget获取http://mirrors.sonic.net/apache/hadoop/common/hadoop-2.8.3/hadoop-2.8.3.tar.gz
命令:tar xvzf 压缩包(小编通常解压完直接删除压缩包)node

准备工做已完成,开始搭建hadoop

编辑 .bashrc
Vi ~/.bashrc
加入以下内容:
1.# Set Hadoop-related environment variables
export HADOOP_HOME=/usr/local/hadoop
 
2.# Add Hadoop bin/ directory to PATH
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
刷新一下:
Source ~/.bashrclinux

此处有坑:
找不到which的话执行:yum install whichdocker

建立三个文件:
先进cd /usr/local/hadoop/hadoop-2.7.2
mkdir tmp做为Hadoop的临时目录
mkdir datanode做为NameNode的存放目录
mkdir namenode做为DataNode的存放目录apache

配置文件:cd /usr/local/hadoop/hadoop-2.7.2/etc/hadoopbash

三个文件:
1.core-site.xml配置:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/hadoop-2.7.2/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
<final>true</final>
</configuration>ssh

2.hdfs-site.xml配置:(一些配置为了集群而准备)
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/hadoop-2.7.2/namenode</value>
<final>true</final>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/hadoop-2.7.2/datanode</value>
<final>true</final>
</property>
</configuration>
3.mapred-site.xml配置:(有个mapred-site.xml.template文件,更改成mapred-site.xml)
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
</configuration>ide


下面就指定JAVA_HOME环境变量:
使用命令vi hadoop-env.sh,添加以下配置:oop

The java implementation to use.

export JAVA_HOME=/usr/java/jdk1.8.0_141

接着格式化 namenode
执行命令:hadoop namenode -format
此刻hadoop配置就完成了。.net

2、 安装SSH:
使用yum: yum install passwd openssl openssh-server -y
由于咱们是docker操做,他并不会自动启动,因此咱们去给他加到。Bashrc中

执行命令添加以下内容:Vi ~/.bashrc
#autorun
/usr/sbin/sshd
执行命令生成秘钥公钥:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_dsa
cd ~/.ssh/
cat id_dsa.pub >> authorized_keys

chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys

补:
无密登陆问题:bash: ssh: command not found
解决办法:yum -y install openssh-clients

到此位置咱们保存容器为新的镜像便可:
docker commit -m "hadoop install" 61c9cf8da12f linux:hadoop
此时咱们已经装好了一个单机版的hadoop镜像

检测ssh
命令1./usr/sbin/sshd
命令2.ssh
Docker之路(一)Hadoop集群安装

3、 docker hadoop集群

Docker之路(一)Hadoop集群安装

切记: hostname、hosts配置在容器内修改了,只能在本次容器生命周期内有效。若是容器退出了,从新启动,这两个配置将被还原。且这两个配置没法经过commit命令写入镜像。

三个容器启动后分别配置hosts
vi /etc/hosts 注意修改ip地址:

172.17.0.2      master
172.17.0.3      slave1
172.17.0.4      slave2

启动sshd  /usr/sbin/sshd

配置slaves:vi /usr/local/hadoop/hadoop-2.7.2/etc/hadoop/slaves
将:master
slave1
slave2
添加进去以后:

分别启动Hadoop:(进入/usr/local/hadoop/hadoop-2.7.2/sbin)
            start-all.sh
分别查看--》节点上执行jps命令

Docker之路(一)Hadoop集群安装

master以下:
Docker之路(一)Hadoop集群安装

slave1以下:

Docker之路(一)Hadoop集群安装

slave2以下:

Docker之路(一)Hadoop集群安装

还能够经过Web页面看到查看DataNode和NameNode的状态:http://IP:50070/

大功告成,docker—hadoop集群搭建完毕。

相关文章
相关标签/搜索