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



我正试图使用IBM BigInsights QuickStart Edition创建一个docker映像,该映像将在docker容器云(如IBM Bluemix)上运行,并使用本地软件安装程序,该安装程序可在此处找到:

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 " $1" "$2}' > /root/.ssh/known_hosts

echo "UUID=dummy /dummy    dummy   defaults,noauto 0 0" >> /etc/fstab
export myip=`ifconfig |grep netmask|head -1|awk '{print $2}'`
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.

那么,从根本上讲,如何将SW固定化,从而需要设置内核参数等更改?

向致以最良好的问候

Romeo(Kienzler)

尝试使用sudo 运行命令

相关内容

  • 没有找到相关文章

最新更新