docker 安装oracle_阿里云使用Docker搭建Hadoop集群
摘要
吐血整理,搭建了兩遍,親測(cè)可用!!!
我買(mǎi)的是阿里云2C4G的服務(wù)器,使用的是CentOS 7.7版本。在搭建過(guò)程中踩了不少坑,本篇文章希望對(duì)大家有用
CentOS 7.7安裝Docker
查看內(nèi)核版本(使用root用戶登陸)
uname?-a把yum包更新到最新
yum?update安裝需要的軟件包
yum?install?-y?yum-utils?device-mapper-persistent-data?lvm2設(shè)置yum源
sudo?yum-config-manager?--add-repo?https://download.docker.com/linux/centos/docker-ce.repo創(chuàng)建目錄
cd?/mntmkdir?docker?cd?docker可以查看所有倉(cāng)庫(kù)中所有docker版本,并選擇特定版本安裝
yum?list?docker-ce?--showduplicates?|?sort?-r安裝Docker,命令:yum install docker-ce-版本號(hào)
yum?install?docker-ce-18.06.3.ce啟動(dòng)并加入開(kāi)機(jī)啟動(dòng)
systemctl?start?dockersystemctl?enable?docker驗(yàn)證安裝是否成功(有client和service兩部分表示docker安裝啟動(dòng)都成功了)
docker?versionUbuntu 18.04 安裝Docker
創(chuàng)建目錄
cd?/mntmkdir?docker?cd?docker下載
wget?https://mirrors.aliyun.com/docker-ce/linux/ubuntu/dists/bionic/pool/stable/amd64/containerd.io_1.2.6-3_amd64.debwget?https://mirrors.aliyun.com/docker-ce/linux/ubuntu/dists/bionic/pool/stable/amd64/docker-ce-cli_19.03.9~3-0~ubuntu-bionic_amd64.debwget?https://mirrors.aliyun.com/docker-ce/linux/ubuntu/dists/bionic/pool/stable/amd64/docker-ce_19.03.9~3-0~ubuntu-bionic_amd64.deb安裝
sudo?dpkg?-i?*.deb啟動(dòng)
service?docker?start生成服務(wù)器、Hadoop鏡像
獲取centos7鏡像
docker?pull?centos查看鏡像列表
docker?images安裝SSH
cd?/mnt/dockermkdir?sshcd?sshvi?Dockerfile內(nèi)容
FROM?centosMAINTAINER?dysRUN?yum?install?-y?openssh-server?sudoRUN?sed?-i?'s/UsePAM?yes/UsePAM?no/g'?/etc/ssh/sshd_configRUN?yum??install?-y?openssh-clientsRUN?echo?"root:1234"?|?chpasswdRUN?echo?"root???ALL=(ALL)???????ALL"?>>?/etc/sudoersRUN?ssh-keygen?-t?dsa?-f?/etc/ssh/ssh_host_dsa_keyRUN?ssh-keygen?-t?rsa?-f?/etc/ssh/ssh_host_rsa_keyRUN?mkdir?/var/run/sshdEXPOSE?22CMD?["/usr/sbin/sshd",?"-D"]保存并退出
執(zhí)行構(gòu)建鏡像的命令,新鏡像命名為 centos7-ssh
docker?build?-t="centos7-ssh"?.基于 centos7-ssh 這個(gè)鏡像啟動(dòng)三個(gè)容器
docker?run?-d?--name=centos7.ssh?centos7-sshdocker?run?-d?--name=centos7.ssh2?centos7-sshdocker?run?-d?--name=centos7.ssh3?centos7-ssh構(gòu)建Hadoop鏡像
創(chuàng)建目錄
cd?/mnt/dockermkdir?hadoopcd?hadoop下載jar包
//下載hadoop,構(gòu)建鏡像時(shí)使用wget?https://mirrors.bfsu.edu.cn/apache/hadoop/common/hadoop-2.9.2/hadoop-2.9.2.tar.gz//下載jdk,構(gòu)建鏡像時(shí)使用wget?--no-cookies?--no-check-certificate?--header?"Cookie:?gpw_e24=http%3A%2F%2Fwww.oracle.com%2F;?oraclelicense=accept-securebackup-cookie"?"http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"編輯DockerFile
vi?Dockerfile內(nèi)容
FROM?centos7-sshADD?jdk-8u141-linux-x64.tar.gz?/usr/local/RUN?mv?/usr/local/jdk1.8.0_141?/usr/local/jdk1.8ENV?JAVA_HOME?/usr/local/jdk1.8ENV?PATH?$JAVA_HOME/bin:$PATHADD?hadoop-2.9.2.tar.gz?/usr/localRUN?mv?/usr/local/hadoop-2.9.2?/usr/local/hadoopENV?HADOOP_HOME?/usr/local/hadoopENV?PATH?$HADOOP_HOME/bin:$PATHRUN?yum?install?-y?which?sudo保存并退出
執(zhí)行構(gòu)建命令
docker?build?-t="hadoop"?.運(yùn)行容器
docker?run?--name?hadoop0?--hostname?hadoop0?-d?-P?-p?50070:50070?-p?8088:8088?hadoopdocker?run?--name?hadoop1?--hostname?hadoop1?-d?-P?hadoopdocker?run?--name?hadoop2?--hostname?hadoop2?-d?-P?hadoopHadoop 集群搭建
配置ll命令
vim?~/.bashrc內(nèi)容
增加下面的配置
alias?ll='ls?-l'保存退出
重新加載
source?~/.bashrc安裝vim、net-tools
yum?install?net-toolsyum?install?vim修改每臺(tái)服務(wù)器的 /etc/hosts
使用ifconfig命令查看自己的IP,改為自己服務(wù)器的IP
172.18.0.5?hadoop0172.18.0.6?hadoop1172.18.0.7?hadoop2修改時(shí)區(qū)
rm?-rf?/etc/localtimeln?-s?/usr/share/zoneinfo/Asia/Shanghai?/etc/localtimeSSH無(wú)密碼登陸
在每臺(tái)服務(wù)器上都執(zhí)行以下命令,執(zhí)行后會(huì)有多個(gè)輸入提示,不用輸入任何內(nèi)容,全部直接回車即可
ssh-keygen?輸入下面命令時(shí),需要用到上面設(shè)置的密碼1234
ssh-copy-id?-i?/root/.ssh/id_rsa?-p?22?root@hadoop0?ssh-copy-id?-i?/root/.ssh/id_rsa?-p?22?root@hadoop1ssh-copy-id?-i?/root/.ssh/id_rsa?-p?22?root@hadoop2安裝配置 hadoop
在 master 中執(zhí)行
cd?/usr/local/hadoopmkdir?tmp?hdfsmkdir?hdfs/data?hdfs/name配置core-site.xml
vim?/usr/local/hadoop/etc/hadoop/core-site.xml在 塊兒中添加:
????fs.defaultFS????hdfs://hadoop0:9000???hadoop.tmp.dir???file:/usr/local/hadoop/tmp???io.file.buffer.size???131702配置hdfs-site.xml
vim?/usr/local/hadoop/etc/hadoop/hdfs-site.xml在 塊兒中添加:
????????dfs.namenode.name.dir????file:/usr/local/hadoop/hdfs/name????dfs.datanode.data.dir????file:/usr/local/hadoop/hdfs/data????dfs.replication????2????dfs.namenode.secondary.http-address????hadoop0:9001????dfs.webhdfs.enabled????true配置mapred-site.xml
這個(gè)文件默認(rèn)不存在,需要從 mapred-site.xml.template 復(fù)制過(guò)來(lái)
cp?/usr/local/hadoop/etc/hadoop/mapred-site.xml.template?/usr/local/hadoop/etc/hadoop/mapred-site.xml編輯文件
vim?/usr/local/hadoop/etc/hadoop/mapred-site.xml在 塊兒中添加:
????mapreduce.framework.name????yarn????mapreduce.jobhistory.address????hadoop0:10020????mapreduce.jobhistory.webapp.address????hadoop0:19888配置yarn-site.xml
vim?/usr/local/hadoop/etc/hadoop/yarn-site.xml在 塊兒中添加:
????yarn.nodemanager.aux-services????mapreduce_shuffle????yarn.nodemanager.auxservices.mapreduce.shuffle.class????org.apache.hadoop.mapred.ShuffleHandler????yarn.resourcemanager.address????hadoop0:8032????yarn.resourcemanager.scheduler.address????hadoop0:8030????yarn.resourcemanager.resource-tracker.address????hadoop0:8031????yarn.resourcemanager.admin.address????hadoop0:8033????yarn.resourcemanager.webapp.address????hadoop0:8088配置slaves
vim?/usr/local/hadoop/etc/hadoop/slaves刪除已有內(nèi)容,添加:
hadoop1hadoop2配置hadoop-env.sh
vim?/usr/local/hadoop/etc/hadoop/hadoop-env.sh
找到 export JAVA_HOME=${JAVA_HOME},改為自己JAVA_HOME的絕對(duì)路徑
export?JAVA_HOME=/usr/local/jdk1.8復(fù)制文件到 hadoop1,hadoop2
scp?-r?/usr/local/hadoop?hadoop1:/usr/localscp?-r?/usr/local/hadoop?hadoop2:/usr/local設(shè)置 hadoop 環(huán)境變量
在每臺(tái)服務(wù)器上都執(zhí)行:
vim?~/.bashrc增加內(nèi)容
export?PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin保存退出,重新加載資源
source?~/.bashrc啟動(dòng) hadoop
在master啟動(dòng)hadoop,從節(jié)點(diǎn)會(huì)自動(dòng)啟動(dòng)
初始化
hdfs?namenode?-format啟動(dòng)
hadoop-daemon.sh?start?namenodehadoop-daemon.sh?start?datanodestart-dfs.shstart-yarn.shmr-jobhistory-daemon.sh?start?historyserver測(cè)試
如果您使用的也是阿里云服務(wù)器,那需要在阿里云客戶端調(diào)整安全組,阿里云默認(rèn)只開(kāi)放22端口,所以需要把50070、8088都開(kāi)通
端口號(hào).png
瀏覽器中訪問(wèn):
http://服務(wù)器IP:50070/圖片1.png
http://服務(wù)器IP:8088/hdfs 操作
hdfs?dfs?-mkdir?-p?/usr/local/hadoop/inputhdfs?dfs?-put?/usr/local/hadoop/etc/hadoop/kms*.xml?/usr/local/hadoop/inputhttp://服務(wù)器IP:50070/,在文件瀏覽頁(yè)面查看
驗(yàn)證hdfs.png
mapreduce 操作
hadoop?jar?/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar?grep?/usr/local/hadoop/input?/usr/local/hadoop/output?'dfs[a-z.]+'驗(yàn)證mapreduce.png
總結(jié)
以上是生活随笔為你收集整理的docker 安装oracle_阿里云使用Docker搭建Hadoop集群的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 魅族mx5多少钱啊?
- 下一篇: macos下使用aria2_用Aria2