一步一个坑的在docker里安装hadoop

  • 创建一个Dockerfile
FROM ubuntu
RUN mkdir opt/fsd
#RUN apt-get install ssh
#RUN apt-get install pdsh
RUN apt-get update
RUN apt install vim --assume-yes
ADD jdk-11.0.11_linux-x64_bin.tar.gz opt/fsd
ENV JAVA_HOME=/opt/fsd/jdk-11.0.11
ENV PATH=$JAVA_HOME/bin:$PATH
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  • 创建image

>docker build -t hado:latest .

 

  • 运行container

>docker run -v /Users/Shared/dockerdir:/data --name hadoin  -it -p 9870:9870 hado /bin/bash

  • 在docker中安装hadoop

>cp /data/hadoop-3.3.0.tar.gz .

>tar  -zxvf hadoop-3.3.0.tar.gz

#edit the file etc/hadoop/hadoop-env.sh
export JAVA_HOME=/opt/fsd/jdk-11.0.11

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jar grep input output 'dfs[a-z.]+'

  • 安装ssh

>apt-get update
>apt-get install ssh
>apt-get install pdsh

/etc/profile里加入:
export PDSH_RCMD_TYPE=ssh

>source /etc/profile

 >service ssh status
>service ssh start

#Now check that you can ssh to the localhost without a passphrase:
 > ssh localhost

#If you cannot ssh to localhost without a passphrase, execute the following commands:
  > ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  > cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  > chmod 0600 ~/.ssh/authorized_keys

  • 运行dfs

> bin/hdfs namenode -format
>sbin/start-dfs.sh

#Starting namenodes on [66cfa584a4d5]
#pdsh@66cfa584a4d5: 66cfa584a4d5: ssh exited with exit code 1
#check log find below error
#Invalid URI for NameNode address (check fs.defaultFS): file:/// has no authority.
 etc\hadoop\core-site.xml的<configuration>
<property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:8070</value>
 </property>
 
 http://localhost:9870/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值