在docker的centos官方镜像中安装hadoop的一些关键步骤

来源:互联网 发布:医学英文写作软件 编辑:程序博客网 时间:2024/06/09 16:13

在docker中使用
$ docker pull centos:centos6.7
拉去centos6.7镜像,拉完后直接用 docker create命令创建容器。
很慢?可以用阿里云加速

1. JAVA环境

安装java openjdk 1.8

$ yum install java-1.8.0-openjdk

查看jdk安装位置

$ rpm -ql java-1.8.0-openjdk

我的是在/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-3.b16.el6_9.x86_64 这个位置,而且这个目录下只有一个jre文件夹

1.1 配置JAVA环境变量

建议配到用户环境信息里去
先打开自己的用户环境信息配置文件

$ source ~/.bash_profile

再使用下述命令查看是否配置成功,如果没有输出任何内容,则表示配置有问题

$ echo $JAVA_HOME

二、修改Hadoop的配置文件

1. hadoop-env.sh、yarn-env.sh

初始的hadoop-env.sh文件内容如下,有一行为

...export JAVA_HOME=${JAVA_HOME}...

这样是不行的,要修改为绝对路径

...export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-3.b16.el6_9.x86_64...

而在yarn-env.sh中,export JAVA_HOME 是被注释掉的,所以需要将前面的#号去掉,再写成上面的样子

2. core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml

请根据自己使用的需求,是单机还是分布式进行百度搜索

3. hdfs

因为使用的是openjdk,所以需要将这个文件修改一下,不然会报找不到java程序的错误。
对于hdfs(在bin目录下)脚本,需要修改JAVA变量,来使得它能找到java程序

...else    # run it    JAVA=$JAVA_HOME/jre/bin/java #指定java程序    exec "$JAVA" -Dproc_$COMMAND $JAVA_HEAP_MAX $HADOOP_OPTS $CLASS "$@"fi

如果在运行start-all.sh时也报未找到java程序的错误,只需根据错误提示找到相应的脚本,添加上述代码即可。