拉取centos鏡像
docker pull centos:6.6
java
啓動鏡像
docker run -it --name centos centos:6.6 /bin/bash
node
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz mkdir /usr/java tar -zxvf jdk-8u131-linux-x64.tar.gz -C /usr/java
vim /etc/profile #在最下方加入JAVA配置 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL export JAVA_HOME=/usr/java/jdk1.8.0_131 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar #source一下 source /etc/profile
yum -y install openssh-server yum -y install openssh-clients
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
關閉selinux
setenforce 0
linux
下載Hadoopweb
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.9.0/hadoop-2.9.0.tar.gz mkdir /usr/local/hadoop tar -zxvf hadoop-2.9.0.tar.gz -C /usr/local/hadoop
vim /etc/profile #在最下方加入Hadoop配置 export HADOOP_HOME=/usr/local/hadoop/hadoop-2.9.0 export PATH=$PATH:$HADOOP_HOME/bin
cd /usr/local/hadoop/hadoop-2.9.0/etc/hadoop/
在hadoop-env.sh 和 yarn-env.sh 在開頭添加JAVA環境變量JAVA_HOMEdocker
<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/tsk/hadoop-2.9.0/tmp</value> </property> </configuration>
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/tsk/hadoop-2.9.0/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/tsk/hadoop-2.9.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>
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value> </property> </configuration>
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>master:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>master:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:8088</value> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>1024</value> </property> </configuration>
根據需求配置slaves文件
vim slaves
apache
測試一下
ldd /usr/local/hadoop/hadoop-2.9.0/lib/native/libhadoop.so.1.0.0
vim
這時提示GLIBC_2.14 required,centos6的源最高到2.12,這裏須要2.14,因此只能手動make安裝centos
cd /usr/local/ wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz tar zxvf glibc-2.14.tar.gz cd glibc-2.14 mkdir build cd build ../configure --prefix=/usr/local/glibc-2.14 make make install ln -sf /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
exit docker commit centos centos/hadopp
docker inspect --format='{{.NetworkSettings.IPAddress}}' centos
docker stop master docker rm master docker run -it -p 50070:50070 -p 19888:19888 -p 8088:8088 -h master --name master centos/hadoop /bin/bash vim /etc/hosts #添加slave的IP docker run -it -h slave1 --name slave1 tsk/hadoop /bin/bash vim /etc/hosts #添加master的IP
# 第一次啓用前,格式化HDFS hadoop namenode -format /usr/local/hadoop/hadoop-2.9.0/sbin/start-all.sh