zoukankan      html  css  js  c++  java
  • 虚拟机全部简单配置

    配置ip

    在每台节点上配置ip,打开/etc/sysconfig/network-scripts/ifcfg-eth0编辑内容如下:

    1. DEVICE=eth0
    2. TYPE=Ethernet
    3. ONBOOT=yes
    4. NM_CONTROLLED=yes
    5. BOOTPROTO=static
    6. IPADDR=192.168.179.201
    7. NETMASK=255.255.255.0
    8. GATEWAY=192.168.179.2
    9. DNS1=192.168.179.2

    10. DNS2=8.8.8.8

    重启网络服务使ip生效:

    1. service network restart

    三台节点配置的ip分别为:

    192.168.179.201,192.168.179.202,192.168.179.203

    注意:每台节点克隆后需要删除每台节点/etc/udev/rules.d/70-persistent-net.rules文件,清除mac地址。重启每台节点即可。

    配置每台节点的hostname

    修改每台节点/etc/sysconfig/network中的HOSTNAME,分别为:cm1,cm2,cm3。设置好每台节点的hostname之后重启每台节点即可生效。

    配置节点ip、hostname映射

    在每台节点/etc/hosts文件后追加如下内容,配置ip与hostname之间的映射。

    1. 192.168.179.201 cm1
    2. 192.168.179.202 cm2
    3. 192.168.179.203 cm3

    关闭防火墙

    在每台节点上执行如下命令,关闭防火墙,并设置开机不启动:

    1. [root@cm3 ~]# service iptables stop
    2. [root@cm3 ~]# chkconfig iptables off
    3. [root@cm3 ~]# chkconfig iptables --list
    4. iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off

    关闭SELinux

    SELinux就是Security-Enhanced Linux的简称,安全加强的linux。传统的linux权限是对文件和目录的owner, group和other的rwx进行控制,而SELinux采用的是委任式访问控制,也就是控制一个进程对具体文件系统上面的文件和目录的访问,SELinux规定了很多的规则,来决定哪个进程可以访问哪些文件和目录。虽然SELinux很好用,但是在多数情况我们还是将其关闭,因为在不了解其机制的情况下使用SELinux会导致软件安装或者应用部署失败。

    在每台节点/etc/selinux/config中将SELINUX=enforcing改成SELINUX=disabled即可。

    配置本地yum源

    这里我们选择使用本地yum源。需要在VM中设置下连接光驱,步骤如下图。

     

    在cm1、cm2、cm3节点上配置本地yum源:

    每台节点创建/mnt/cdrom目录:

    1. mkdir -p /mnt/cdrom

    每台节点执行如下命令,将光盘设备/dev/sr0挂载到/mnt/cdrom目录:

    1. [root@cm1 ~]# mount /dev/sr0 /mnt/cdrom/
    2. mount: block device /dev/sr0 is write-protected, mounting read-only

    每台节点执行命令:df -h查看是否挂载成功:

    1. df -h

    上面的mount命令挂载后在机器重启后会失效,为了可以实现开机自动挂载,可以在每台节点的/etc/fstab文件的最后面加入下面语句:

    1. /dev/sr0 /mnt/cdrom iso9660 defaults 0 0

    下面可以创建本地yum源,在每台节点的/etc/yum.repos.d目录下创建local.repo文件,内容如下:

    1. [local]
    2. name=local repo
    3. baseurl=file:///mnt/cdrom
    4. enable=1
    5. gpgcheck=1
    6. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

    以上内容中,baseurl是指Yum源的地址,该路径下有个repodata目录,就是yum 安装源目录。file://表示yum源为文件。

    如果只想让local.repo生效,可以在每台节点的/etc/yum.repos.d目录下创建一个backup目录,将其他的以“.repo”结尾的文件都移动到backup目录中。

    1. mkdir -p /etc/yum.repos.d/backup
    2. mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/backup/

    在每台节点上执行以下命令,更新yum源:

    1. yum clean all
    2. yum makecache

    配置SSH免秘钥登录

    在CDH中需要任意两个节点之间都可以免秘钥登录。节点两两免秘钥的根本原理如下:假设A节点需要免秘钥登录B节点,只要B节点上有A节点的公钥,那么A节点就可以免密登录当前B节点。

    第一,需要在每台节点上安装ssh客户端,否则,不能使用ssh命令(最小化安装Liunx,默认没有安装ssh客户端):

    1. yum -y install openssh-clients

    第二,在每台节点执行如下命令,在每台节点的“~”目录下,创建.ssh目录,注意,不要手动创建这个目录,因为有权限问题。

    1. cd ~
    2. ssh localhost
    3. #这里会需要输入节点密码#
    4. exit

    第三,在每台节点上执行如下命令,给当前节点创建公钥和私钥:

    1. ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

    第四,将cm1,cm2,cm3的公钥copy到cm1上,这样,cm1,cm2,cm3节点都能登录cm1节点。命令如下:

    1. 在cm1上执行如下命令,需要输入密码:
    2. [root@cm1 .ssh]# ssh-copy-id cm1 #会在当前~/.ssh目录下生成authorized_keys文件,文件中存放当前cm1的公钥#
    3. 在cm2上执行如下命令,需要输入密码:
    4. [root@cm2 ~]# ssh-copy-id cm1 #会将cm2的公钥追加到cm1节点的authorized_keys文件中#
    5. 在cm3上执行如下命令,需要输入密码:
    6. [root@cm3 ~]# ssh-copy-id cm1 #会将cm3的公钥追加到cm1节点的authorized_keys文件中#

    最后,将cm1节点上~/.ssh/authorized_keys拷贝到cm2和cm3节点的~/.ssh/目录下,执行如下命令:

    1. 在cm1上执行如下命令,需要输入密码:
    2. [root@cm1 .ssh]# scp ~/.ssh/authorized_keys cm2:`pwd`
    3. [root@cm1 .ssh]# scp ~/.ssh/authorized_keys cm3:`pwd`

    经过以上步骤,节点两两免密完成。

    节点同步时间

    在cm1,cm2,cm3每台节点上执行如下命令,安装ntp服务及配置定时任务:

    1. yum -y install ntp #安装ntp服务#
    2. rm -rf /etc/localtime #删除现有时区#
    3. ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改上海时区#
    4. /usr/sbin/ntpdate -u pool.ntp.org #同步时间#
    5. date #查看时间#
    6. #crontab -e 写入如下定时内容:#
    7. */10 * * * * /usr/sbin/ntpdate -u pool.ntp.org >/dev/null 2>&1 #同步时间定时任务#
    8. service crond restart #重启定时任务#
    9. crontab -l #查看定时任务#
    10.  
    11. chkconfig ntpd on #设置ntpd 开机启动,不然后期安装CDH时会有警告。
    12. service ntpd start #启动ntpd服务

     安装jdk

    给每台节点安装jdk,这里我们安装的CDH版本为5.4,在官网https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html下有介绍CDH5.x版本对应的jdk版本,可以使用jdk7,也可使用jdk8,但是对应的jdk小版本有要求,具体如下:

     

     

    这里我们选择jdk8版本中的1.8u181版本安装。注意后期如果安装oozie,oozie基于tomcat6运行,需要jdk7的环境。如果需要展示oozie的webui需要安装jdk7。

    在每台节点安装jdk,在每台节点中创建/software目录,将jdk8安装包通过ftp工具上传到/software目录下,每台节点执行如下命令安装jdk:

    1. [root@cm1 ~]# mkdir -p /software
    2. [root@cm1 ~]# rpm -ivh /software/jdk-8u181-linux-x64.rpm

    以上命令执行完成之后,会在每台节点的/usr/java下安装jdk。在每台节点配置jdk的环境变量:

    1. vim /etc/profile
    2. #在每台节点中配置profile文件,在最后追加内容如下:#
    3. export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
    4. export PATH=$JAVA_HOME/bin:$PATH
    5. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    执行完成以上命令之后,在每台节点上执行 “source /etc/profile”使配置生效。

    安装mysql数据库

    在cm1中安装mysql数据库,执行命令:yum install –y mysql-server

    执行完成之后,启动mysql:service mysqld start。登录mysql执行如下语句:

    1. [root@cm1 java]# mysql
    2. mysql> use mysql;
    3. mysql> select user,password from user;
    4. mysql> delete from user;
    5. mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
    6. mysql> flush privileges;

    执行如下命令,将mysql设置成开机启动,如果不设置开机启动,后期每次启动ClouderaManager时,需要手动启动MySQL。

    1. [root@cm1 ~]# chkconfig --add mysqld
    2. [root@cm1 ~]# chkconfig --level 345 mysqld on
    3. [root@cm1 ~]# chkconfig --list

     安装第三方依赖包

    在每台几点上安装第三方依赖包,每台节点执行如下命令:

    1. yum install -y chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb

    至此,安装Cloudera Manager的基础环境准备完成。

  • 相关阅读:
    C 实战练习题目20 – 小球自由下落
    C 实战练习题目19
    C 实战练习题目18
    C 实战练习题目17
    C 实战练习题目16 -最大公约数和最小公倍数
    C 实战练习题目15
    C 实战练习题目14 -将一个正整数分解质因数
    C 实战练习题目13 -水仙花数
    C 实战练习题目12
    C 实战练习题目11
  • 原文地址:https://www.cnblogs.com/hhz-97/p/12897341.html
Copyright © 2011-2022 走看看