CentOS7系统下的平台搭建
一、简介
CentOS是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。 Ubuntu是一个以桌面应用为主的Linux操作系统。CentOS简约,命令行下的人性化做得比较好,稳定,有着强大的英文文档与开发社区的支持。Ubuntu近些年的使用率有所增加,它用户界面漂亮、管理系统完善、软件源支持强大、技术社区丰富,对硬件的兼容性也不错。然而,服务器更需要的并非这些,如果是开发还是建议用centos。
二、硬件基础
一台服务器,一台工作站。即一个master节点与一个slave节点。
三、安装centos7操作系统
3.1、分别用U盘启动服务器和工作站,在显示器出现log图信息时按下相应的按键进入初始化界面。(本工作站按F12进入。服务器正常情况F12也可进入,也可按F11进入选择窗口选择U盘启动)。
###安装界面出现dracut如下图
此时的处理方法:
方法一:如果是用U盘安装,检查一下U盘的label是否含有中文或者空格,有的话就改掉。
方法二: 输入以下命令
dracut:/# cd dev
dracut:/# ls
找到代表你U盘的文件名并记下,例如sdb、sdc等。(查找U盘方法:在进入初始化选择界面后可以按Tab键,此时将屏幕下方的字符改成vmlinuz initrd=initrd.img linux dd quiet,Enter之后会很轻易的识别出代表自己U盘的文件)。
然后重启计算机,再次进入初始化界面后按下Tab键,将屏幕下方的字符改为append initrd=initrd.img repo=hd:/dev/我的U盘文件名:/ quiet,然后启动。
3.2、进入centos7的安装界面。依次设置语言、键盘、时间及安装位置、网路主机名等。
###若出现安装源问题
3.3、设置好后点击重启即可重启进入centos系统。
###安装好系统后如果出现不能上网的情况
首先进入终端界面,在根目录下输入ls /etc/sysconfig/network-scripts/。找到ifcfg-eno, 输入vi /etc/sysconfig/network-scripts/ifcfg-eno,如果显示“ONBOOT=no”则改为“ONBOOT=yes”. 用root账户,输入“shutdown -r now"或”rboot”,然后重启系统就可以了。
四、系统环境配置
4.1、设置hosts
输入指令vi/etc/hosts
添加master与slave格式如下
192.168.1.10 master
192.168.1.11 slave1
192.168.1.12 slave2
4.2、关闭防火墙
systemctl stop firewalld.service 停止firewall
systemctl disable firewalld.service 禁止firewall开机启动
4.3、安装JDK1.7
首先检查系统是否有openJDK,若有则先卸载
rpm -qa | grep openjdk | grep -v grep 查找系统中的JDK
rpm -e --nodeps 通过指令依次卸载
然后进入网址下载JDK1.7http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
解压tar –zxvf jdk-7u75-linux-x64.tar.gz
创建java目录mkdir /usr/java
4.4、配置JDK1.7
编辑/etc/profile文件
vi /etc/profile
在/etc/profile文件尾部添加
export JAVA_HOME=/usr/java/jdk1.7.0_75
exportCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
使用source /etc/profile命令重新加载/etc/profile文件,使修改的内容在当前shell窗口中生效。(永久生效,重启系统或注销用户)
(若同时配置主机master可:向主机传文件 scp –r /本机目录 + 主机用户@主机名:/主机目录)
4.4、所有节点免密码SSH登陆
使用ssh-keygen 和ssh-copy-id 实现SSH无密码登陆
1、在各个节点使用产生公钥私钥对
bigdata@master:ssh-keygen -t rsa –P(非主节点私钥用ssh-keygen -t rsa)
(此时~/.ssh下会生成id_rsa.pub和id_rsa,其中id_rsa文件起到唯一标识你的客户机的作用,不要随意更改这两个文件名。)
(注意,秘钥不要生成在根目录下,~表示目录为home/bigdata/)
(指令ls –a显示全部文件,.ssh可能是隐藏文件)
修改sshd配置文件(/etc/ssh/sshd_config).
找到以下内容,并去掉注释符”#“
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
2、配置authorized_keys文件.
若“~/.ssh/authorized_keys”不存在,则建立.ssh文件夹和authorized_keys文件.
将上文中客户机id_rsa.pub的内容拷贝到authorized_keys中.
(可以在客户机中执行命令来拷贝:
cat ~/.ssh/id_rsa.pub | ssh user@host “cat - >> ~/.ssh/authorized_keys”)
注意:
1) .ssh目录的权限必须是700
2) .ssh/authorized_keys文件权限必须是600
(如:chmod 700 文件名)
然后重启sshd. ($ /etc/init.d/sshd restart)
3、将各个节点上公钥复制到master上
bigdata@slave1:ssh-copy-id-i ~/.ssh/id_rsa.pub master
4、查看各个节点的公钥是否追加到了主节点上
bigdata@master:cat~/.ssh/authorized_keys
把主节点上的authorized_keys文件发送到各个节点实现无密码登陆(master)
bigdata@master:scp~/.ssh/authorized_keys bigdata@bigdata-slave1:/home/bigdata/.ssh/
5、修改ssh配置文件使能够在root用户也能免密码采用(所有节点)不然后面安装会报错
root@master:vi /etc/ssh/sshd_config
找到PermitRootlogin 一行把后面修改成yes(有些情况是去掉注释#)
6、重启ssh (root@master:/etc/init.d/ssh restart
或者service ssh restart
)
4.5、关闭selinux
打开cd /etc/selinux/config 改为SELINUX=disable
4.6设置时间同步
参考 http://www.centoscn.com/CentOS/config/2015/1105/6385.html
首先查看master与slave上是否有压缩包 rpm –q ntp
若没有则yum –y install ntp
设置服务器:
配置前先使用命令:ntpdate -u cn.pool.ntp.org
,同步服务器
编辑/etc/ntp.conf文件
*****************
重启ntpd服务systemctlrestart ntpd
使用ntpq -p查看网络中的NTP服务器,同时显示客户端和每个服务器的关系
设置ntp客户端
安装ntp服务并设置为自动启动,和前面的设置方式相同。
然后编辑/etc/ntp.conf文件
***********
重启ntp服务 systemctl restart ntpd
4.7、Master主节点上安装mysql
参考http://www.mamicode.com/info-detail-503994.html
1、CentOS7的yum源中默认应该是没有mysql的,所以需要去网址上下载
$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2、安装这个包$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm 安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
3、安装Mysql
$ sudo yum install mysql-server
不过安装完成后,没有密码,需要重置密码。
4、重置密码前首先要登录 $ mysql -u root
###若登录是报错则:( ERROR 2002 (HY000): Can‘t connect to local MySQL server throughsocket ‘/var/lib/mysql/mysql.sock‘ (2))
原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:$ sudo chown -R openscanner:openscanner /var/lib/mysql
然后重启服务:$ service mysqld restart
5、完成上述步骤后登录重置密码:$ mysql -u root
mysql > use mysql; mysql > update user set password=password(‘123456‘) whereuser=‘root‘;
mysql > exit;
(shutdown -r now 立刻重启 shutdown-r 10 过10分钟自动重启 shutdown -r 20:35 在时间为20:35时候重启 shutdown -h now 立刻关机 shutdown -h 10 10分钟后自动关机)
五、主节点安装CM
5.1、下载CM
Cloudera Manager : http://archive.cloudera.com/cm5/cm/5/
5.2、把下载的CM包解压到opt下
tar -xcvfcloudera-manager-trusty-cm5.6.0_amd64.tar.gz /opt
-zxvf
5.3、添加mysql connector包
mv mysql-connector-java-5.1.38-bin.jar/opt/cm-5.6.0/share/cmf/lib
5.4、所有节点创建cloudera-scm用户
(远程复制指令:
例如将主节点上的文件复制到slave上某个指定的文件夹中:
sudo scp-r /文件所在目录@slave1:~/)
5.5、Agent 配置
用vi /opt/cm-5.6.0/etc/cloudera-scm-agent/config.ini
将其中的server_host为主节点的主机名
5.6、Parcels离线包设置(仅主节点)
将下载好的CDH-5.6.0-1.cdh5.6.0.p0.45-trusty.parcel
CDH-5.6.0-1.cdh5.6.0.p0.45-trusty.parcel.sha
manifest.json文件移至/opt/cloudera/parcel-repo/中,没有这个目录的话,手动 创建。
5.7、启动Cloudera Manager
主节点
/opt/cm-5.6.0/etc/init.d/cloudera-scm-serverstart/opt/cm-5.6.0/etc/init.d/cloudera-scm-agent start
从节点
/opt/cm-5.6.0/etc/init.d/cloudera-scm-agent start
重启server 过程中需要查看日志 cd /opt /…./log /…. Cat cloudera…. 确认下是否重启成功
Cd /opt/cm-5.7.0/etc/init.d/cloudera-scm-agentstop
Cd /opt/cm-5.7.0/etc/init.d/cloudera-scm-agentstart
在mysql中创建一个库来提供给CM服务.
初始化CM5的数据库(仅主节点)
/opt/cm-5.6.0/share/cmf/schema/scm_prepare_database.shmysql cm -hlocalhost -uroot -p123456 --scm-host localhost scm scm
主节点把CM与server发给各个节点
若出现agent启动失败的情况:
5.8、Web端设置
六、安装CDH5
ClouderaManager Server和Agent都启动以后,就可以进行CDH5的安装配置了。根据自己的操作系统下载CDH包:
http://archive.cloudera.com/cdh5/parcels/latest/
1、这时可以通过浏览器访问主节点的7180端口测试一下了(由于CM Server的启动需要花点时间,这里可能要等待一会才能访问),默认的用户名和密码均为admin:
2、
3、
各个Agent节点正常启动后,可以在当前管理的主机列表中看到对应的节点。选择要安装的节点,点继续。
4、接下来,出现以下包名,说明本地Parcel包配置无误,直接点继续就可以了。
5、点击,继续,如果配置本地Parcel包无误,那么下图中的已下载,应该是瞬间就完成了,然后就是耐心等待分配过程就行了,大约几分钟,取决于内网网速。
6、接下来是服务器检查
###可能会遇到以下问题:Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响:
通过指令echo 0 > /proc/sys/vm/swappiness解决。
7、
8、保持默认配置就可以。
9、接下来是数据库的设置,检查通过后就可以进行下一步的操作了:
10、下面是集群设置的审查页面,我这里都是保持默认配置的
11、到安装各个服务的地方,注意:这里安装Hive的时候可能会报错,因为我们使用了MySql作为hive的元数据存储,hive默认没有带mysql的驱动,通过以下命令拷贝一个就行了:
Cp /opt/cm-5.1.3/share/cmf/lib/mysql-connector-java-5.1.33-bin.jar/opt/cloudera/parcels/CDH-5.1.3-1.cdh5.1.3.p0.12/lib/hive/lib/
12、服务的安装过程大约半小时内就可以完成