创建 BigInsights (IBM Hadoop) Docker 图像,sysctl 问题

Creating BigInsights (IBM Hadoop) Docker image, sysctl issue

我正在尝试使用 IBM BigInsights QuickStart Edition 在 DOCKER 容器云(例如 IBM Bluemix)上使用本地软件安装程序 运行 创建一个 docker 图像可以在这里找到:

http://www-01.ibm.com/software/data/infosphere/biginsights/quick-start/downloads.html

问题是在安装过程中出现一些错误,使用 sysctl 访问的一些内核参数设置不正确。

如果我使用 Dockerfile 调整它们,我会收到一条错误消息:

只读文件系统

现在我想知道是否可以创建一个 BigInsights 镜像,因为内核参数必须在主机上设置,当然我无法在容器云中进行控制。

Dockerfile 如下所示:

FROM centos:latest

COPY biginsights-3.0.0.2-quickstart-nonproduction-Linux-amd64-b20150120_1502 /usr/local/biginsights-3.0.0.2-quickstart-nonproduction-Linux-amd64-b20150120_1502

RUN yum -y install tar
RUN yum -y install hostname
RUN yum -y install expect
RUN yum -y install net-tools
RUN yum -y install openssh
RUN yum -y install openssh-clients
RUN yum -y install openssh-server
RUN yum -y install passwd
RUN yum -y install sudo


RUN ssh-keygen -f id_rsa -t rsa -N ''

RUN mkdir /root/.ssh
RUN chmod 700 /root/.ssh
RUN mv id_rsa* /root/.ssh/
RUN cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
RUN cat /etc/ssh/sshd_config |sed 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/' | sed 's/#RSAAuthentication yes/RSAAuthentication yes/'| sed 's/HostKey \/etc\/ssh\/ssh_host_rsa_key/#HostKey \/etc\/ssh\/ssh_host_rsa_key/'| sed 's/HostKey \/etc\/ssh\/ssh_host_ecdsa_key/#HostKey \/etc\/ssh\/ssh_host_ecdsa_key/' > /etc/ssh/sshd_config.stage
RUN mv /etc/ssh/sshd_config.stage /etc/ssh/sshd_config
RUN ssh-keygen -f /etc/ssh/ssh_host_key -N '' -t rsa1
RUN ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa
RUN ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa
RUN ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''

在附加到容器后,我运行执行以下命令:

/sbin/sshd -f /etc/ssh/sshd_config
cat /etc/ssh/ssh_host_ecdsa_key.pub  |awk '{print "localhost " " "}' > /root/.ssh/known_hosts


echo "UUID=dummy /dummy    dummy   defaults,noauto 0 0" >> /etc/fstab

export myip=`ifconfig |grep netmask|head -1|awk '{print }'`
export myhostname=`hostname`

cat /usr/local/biginsights-3.0.0.2-quickstart-nonproduction-Linux-amd64-b20150120_1502/silent-install/sample-install-enterprise-defaultFlat.xml |sed 's/9.125.91.82/'"$myip"'/g' |sed 's/node.sample.ibm.com/'"$myhostname"'/g' |sed 's/<partitions>1<\/partitions>/<partitions>2<\/partitions>/' > /usr/local/biginsights-3.0.0.2-quickstart-nonproduction-Linux-amd64-b20150120_1502/install.xml

/usr/local/biginsights-3.0.0.2-quickstart-nonproduction-Linux-amd64-b20150120_1502/silent-install/silent-install.sh

准确的错误是:

[ERROR] (CDYIN0220E) 172.17.0.49: The kernel parameter kernel.pid_max is not set to 4194303.  Use the sysctl program to set the kernel.pid_max parameter to 4194303.
[ERROR] (CDYIN0221E) 172.17.0.49: The kernel parameter net.ipv4.ip_local_port_range is not set to a minimum of 1024.  Use the sysctl program to set the minimum to 1024.
[ERROR] (CDYIN0222E) 172.17.0.49: The kernel parameter net.ipv4.ip_local_port_range is not set to a maximum of 64000.  Use the sysctl program to set the maximum to 64000 or greater.

那么基本上如何 docker 需要设置内核参数等更改才能对 SW 进行处理?

此致

罗密欧(金茨勒)

使用 sudo

尝试 运行 命令