docker 安装oracle_阿里云使用Docker搭建Hadoop集群
生活随笔
收集整理的這篇文章主要介紹了
docker 安装oracle_阿里云使用Docker搭建Hadoop集群
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
摘要
吐血整理,搭建了兩遍,親測可用!!!
我買的是阿里云2C4G的服務器,使用的是CentOS 7.7版本。在搭建過程中踩了不少坑,本篇文章希望對大家有用
CentOS 7.7安裝Docker
查看內核版本(使用root用戶登陸)
uname?-a把yum包更新到最新
yum?update安裝需要的軟件包
yum?install?-y?yum-utils?device-mapper-persistent-data?lvm2設置yum源
sudo?yum-config-manager?--add-repo?https://download.docker.com/linux/centos/docker-ce.repo創建目錄
cd?/mntmkdir?docker?cd?docker可以查看所有倉庫中所有docker版本,并選擇特定版本安裝
yum?list?docker-ce?--showduplicates?|?sort?-r安裝Docker,命令:yum install docker-ce-版本號
yum?install?docker-ce-18.06.3.ce啟動并加入開機啟動
systemctl?start?dockersystemctl?enable?docker驗證安裝是否成功(有client和service兩部分表示docker安裝啟動都成功了)
docker?versionUbuntu 18.04 安裝Docker
創建目錄
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啟動
service?docker?start生成服務器、Hadoop鏡像
獲取centos7鏡像
docker?pull?centos查看鏡像列表
docker?images安裝SSH
cd?/mnt/dockermkdir?sshcd?sshvi?Dockerfile內容
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"]保存并退出
執行構建鏡像的命令,新鏡像命名為 centos7-ssh
docker?build?-t="centos7-ssh"?.基于 centos7-ssh 這個鏡像啟動三個容器
docker?run?-d?--name=centos7.ssh?centos7-sshdocker?run?-d?--name=centos7.ssh2?centos7-sshdocker?run?-d?--name=centos7.ssh3?centos7-ssh構建Hadoop鏡像
創建目錄
cd?/mnt/dockermkdir?hadoopcd?hadoop下載jar包
//下載hadoop,構建鏡像時使用wget?https://mirrors.bfsu.edu.cn/apache/hadoop/common/hadoop-2.9.2/hadoop-2.9.2.tar.gz//下載jdk,構建鏡像時使用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內容
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保存并退出
執行構建命令
docker?build?-t="hadoop"?.運行容器
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內容
增加下面的配置
alias?ll='ls?-l'保存退出
重新加載
source?~/.bashrc安裝vim、net-tools
yum?install?net-toolsyum?install?vim修改每臺服務器的 /etc/hosts
使用ifconfig命令查看自己的IP,改為自己服務器的IP
172.18.0.5?hadoop0172.18.0.6?hadoop1172.18.0.7?hadoop2修改時區
rm?-rf?/etc/localtimeln?-s?/usr/share/zoneinfo/Asia/Shanghai?/etc/localtimeSSH無密碼登陸
在每臺服務器上都執行以下命令,執行后會有多個輸入提示,不用輸入任何內容,全部直接回車即可
ssh-keygen?輸入下面命令時,需要用到上面設置的密碼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 中執行
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
這個文件默認不存在,需要從 mapred-site.xml.template 復制過來
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刪除已有內容,添加:
hadoop1hadoop2配置hadoop-env.sh
vim?/usr/local/hadoop/etc/hadoop/hadoop-env.sh
找到 export JAVA_HOME=${JAVA_HOME},改為自己JAVA_HOME的絕對路徑
export?JAVA_HOME=/usr/local/jdk1.8復制文件到 hadoop1,hadoop2
scp?-r?/usr/local/hadoop?hadoop1:/usr/localscp?-r?/usr/local/hadoop?hadoop2:/usr/local設置 hadoop 環境變量
在每臺服務器上都執行:
vim?~/.bashrc增加內容
export?PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin保存退出,重新加載資源
source?~/.bashrc啟動 hadoop
在master啟動hadoop,從節點會自動啟動
初始化
hdfs?namenode?-format啟動
hadoop-daemon.sh?start?namenodehadoop-daemon.sh?start?datanodestart-dfs.shstart-yarn.shmr-jobhistory-daemon.sh?start?historyserver測試
如果您使用的也是阿里云服務器,那需要在阿里云客戶端調整安全組,阿里云默認只開放22端口,所以需要把50070、8088都開通
端口號.png
瀏覽器中訪問:
http://服務器IP:50070/圖片1.png
http://服務器IP:8088/hdfs 操作
hdfs?dfs?-mkdir?-p?/usr/local/hadoop/inputhdfs?dfs?-put?/usr/local/hadoop/etc/hadoop/kms*.xml?/usr/local/hadoop/inputhttp://服務器IP:50070/,在文件瀏覽頁面查看
驗證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.]+'驗證mapreduce.png
總結
以上是生活随笔為你收集整理的docker 安装oracle_阿里云使用Docker搭建Hadoop集群的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 魅族mx5多少钱啊?
- 下一篇: macos下使用aria2_用Aria2