CDH6.3.1-Hadoop3.0.0集群部署
基于CDH6.3.1版本-Hadoop3.0.0分布式集群部署
注意:虚拟服务器要固定ip地址
一、修改主机名
在对应服务器分别执行:
hostnamectl set-hostname ****-master1
hostnamectl set-hostname ****-master2
hostnamectl set-hostname ****-master3
hostnamectl set-hostname ****-master4
hostnamectl set-hostname ****-master5
hostnamectl set-hostname ****-slave1
hostnamectl set-hostname ****-slave2
hostnamectl set-hostname ****-slave3
hostnamectl set-hostname ****-slave4
hostnamectl set-hostname ****-slave5
hostnamectl set-hostname ****-slave6
hostnamectl set-hostname ****-slave7
hostnamectl set-hostname ****-slave8
hostnamectl set-hostname ****-slave9
hostnamectl set-hostname ****-slave10
hostnamectl set-hostname ****-app
hostnamectl set-hostname ****-master1
hostnamectl set-hostname *-master2
hostnamectl set-hostname *-master3
hostnamectl set-hostname *-master4
hostnamectl set-hostname *-master5
hostnamectl set-hostname *-slave1
hostnamectl set-hostname ****-slave2
hostnamectl set-hostname ****-slave3
hostnamectl set-hostname ****-slave4
hostnamectl set-hostname *-slave5
hostnamectl set-hostname *-slave6
hostnamectl set-hostname *-slave7
hostnamectl set-hostname ****-slave8
hostnamectl set-hostname *-slave9
hostnamectl set-hostname ****-slave10
hostnamectl set-hostname *-app
二、修改hosts文件
在对应服务器分别执行,编辑文件,添加 ip-域名映射:vim /etc/hosts
xxx.xx.xx.xx ****-master1
xxx.xx.xx.xx ****-master2
xxx.xx.xx.xx ****-master3
xxx.xx.xx.xx ****-master4
xxx.xx.xx.xx ****-master5
xxx.xx.xx.xx ****-slave1
xxx.xx.xx.xx ****-slave2
xxx.xx.xx.xx ****-slave3
xxx.xx.xx.xx ****-slave4
xxx.xx.xx.xx ****-slave5
xxx.xx.xx.xx ****-slave6
xxx.xx.xx.xx ****-slave7
xxx.xx.xx.xx ****-slave8
xxx.xx.xx.xx ****-slave9
xxx.xx.xx.xx ****-slave10
xxx.xx.xx.xx ****-app
xxx.xx.xx.xx *-master1
xxx.xx.xx.xx *-master2
xxx.xx.xx.xx *-master3
xxx.xx.xx.xx ****-master4
xxx.xx.xx.xx *-master5
xxx.xx.xx.xx *-slave1
xxx.xx.xx.xx *-slave2
xxx.xx.xx.xx ****-slave3
xxx.xx.xx.xx *-slave4
xxx.xx.xx.xx *-slave5
xxx.xx.xx.xx ****-slave6
xxx.xx.xx.xx ****-slave7
xxx.xx.xx.xx ****-slave8
xxx.xx.xx.xx *-slave9
xxx.xx.xx.xx *-slave10
xxx.xx.xx.xx ****-应用程序
三、关闭selinux
永久关闭输入命令:sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
临时关闭输入命令:setenforce 0 #重启系统后还会开启
查看seLinux的状态命令:getenforce
显示Enforcing为打开状态
显示Disabled为关闭状态
四、关闭防火墙
禁止开机启动: systemctl disable firewalld.service
关闭防火墙: systemctl stop firewalld.service
查看防火墙状态:systemctl status firewalld.service
五、设置时间同步
安装: yum install chrony
启动:systemctl start chronyd
设置开机自启动:systemctl enable chronyd
编辑配置文件: vim /etc/chrony.conf
server 172.16.3.166 iburst
查看服务是否启动: systemctl status chronyd.service
运行以下命令查看本机时间同步状态
chronyc tracking #校准时间服务器
六、配置免密登录
命令解释:
ssh-keygen 产生公钥与私钥对
ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中
ssh-copy-id命令也能让你有到远程机器的home,~./ssh,和 ~/.ssh/authorized_keys的权利
操作
第一步:在每一台服务器上使用ssh-keygen命令产生公钥私钥对
执行:ssh-keygen
第二步:在除****-master1以外的机器上执行,使用ssh-copy-id命令将公钥复制到远程的****-master1机器中
执行:ssh-copy-id -i ~/.ssh/id_rsa.pub ****-master1
第三步:在****-master1机器上执行,将文件分发到其它机器
执行:scp authorized-keys root@****-slave1:~/.ssh
第四步:登录到远程机器互相验证 不用输入密码
执行:ssh ****-slave10
七、安装jdk
第七,jdk
离线下载Java jdk压缩安装包:jdk-8u321-linux-x64.tar.gz
离线下载Java jdk压缩安装包:jdk-8u321-linux-x64.tar.gz
创建目录: mkdir /usr/java -p
将jdk压缩包上传至服务器目录:/usr/java
将jdk压缩包解压:tar -xf jdk-8u211-linux-x64.tar.gz
jdk
配置java环境变量,编辑文件:vim /etc/profile
添加:export JAVA_HOME=/usr/java/jdk1.8.0_321
export PATH=$JAVA_HOME/bin:$PATH
输出JAVA_HOME = /usr/java/jdk1.8.0_321
$PATH:$JAVA_HOME/bin
输出JAVA_HOME = /usr/java/jdk1.8.0_321
$PATH:$JAVA_HOME/bin。
输出JAVA_HOME = /usr/java/jdk1.8.0_321
$PATH:$JAVA_HOME/bin
保存退出
是配置生效:source /etc/profile
检查是否安装成功:java -version
八、安装mysql
,
进入目录: cd /usr/local/src
在linux下载文件: wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar
如果不能访问外网,则在外部这个地址页面手动下载安装包然后再上传到服务器,下载地址:https://downloads.mysql.com/archives/community/
mysql版本:mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar
解压mysql jar包:tar -xf mysql-5.7.30- 1.el7.x86_64.rpm-bundle.tar
创建目录: mkdir mysql-5.7.30-rpm
把解压的文件移动到此目录: mv *rpm mysql-5.7.30-rpm/
执行安装命令: sudo yum install *.rpm
修改配置my.cnf : echo character-set-server=utf8 >> /etc/my.cnf
开启MySQL服务:service mysqld start
查看默认密码: sudo grep 'temporary password' /var/log/mysqld.log
登录: mysql -uroot -p 输入默认密码:uyL*bygH9NOf
登陆成功后修改密码:alter user root@localhost identified by '******';
如果执行上面那条修改密码sql命令报错,则换个方式修改密码:/usr/bin/mysql_secure_installation
修改密码成功后,创建CDH数据库名:
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
新建库后一定要给新建的库赋权限,以下是赋权限及修改密码操作:
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '***';
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY '***';
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY '***';
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY '***';
GRANT ALL ON metastore.* TO 'metastore'@'%' IDENTIFIED BY '***';
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY '***';
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY '***';
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY '***';
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY '***';
新建库后一定要给新建的库赋权限,以下是赋权限及修改密码操作:
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '***';
GRANT ALL ON AMON.* TO 'amon'@'%' IDENTIFIED BY '***';
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY '***';
GRANT ALL ON Hue.* TO 'hue'@'%' IDENTIFIED BY '***';
GRANT ALL ON元存储。* TO 'metastore'@'%' IDENTIFIED BY '***';
GRANT ALL ON Sentry.* TO 'sentry'@'%' IDENTIFIED BY '***';
在导航栏中授予所有权限 * TO 'nav'@'%' IDENTIFIED BY '***';
在navms上授予所有权限。* TO 'navms'@'%' IDENTIFIED BY '***';
GRANT ALL ON Oozie.* TO 'oozie'@'%' IDENTIFIED BY '***';
新建库后一定要给新建的库赋权限,以下是赋权限及修改密码操作:
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '*';
GRANT ALL ON AMON.* TO 'amon'@'%' IDENTIFIED BY '*';
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY '*';
GRANT ALL ON Hue.* TO 'hue'@'%' IDENTIFIED BY '***';
GRANT ALL ON元存储。* TO 'metastore'@'%' IDENTIFIED BY '*';
GRANT ALL ON Sentry.* TO 'sentry'@'%' IDENTIFIED BY '*';
在导航栏中授予所有权限 * TO 'nav'@'%' IDENTIFIED BY '*';
在navms上授予所有权限。* TO 'navms'@'%' IDENTIFIED BY '*';
GRANT ALL ON Oozie.* TO 'oozie'@'%' IDENTIFIED BY '***';
新建库后一定要给新建的库赋权限,以下是赋权限及修改密码操作:
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '*';
授予所有在阿蒙。* TO 'amon'@'%' IDENTIFIED BY '*';
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY '*';
GRANT ALL ON Hue.* TO 'hue'@'%' IDENTIFIED BY '***';
GRANT ALL ON元存储。* TO 'metastore'@'%' IDENTIFIED BY '*';
GRANT ALL ON Sentry.* TO 'sentry'@'%' IDENTIFIED BY '***';
在导航栏中授予所有权限 * TO 'nav'@'%' IDENTIFIED BY '***';
在navms上授予所有权限。* TO 'navms'@'%' IDENTIFIED BY '*';
GRANT ALL ON Oozie.* TO 'oozie'@'%' IDENTIFIED BY '*';
flush privileges; #修改权限后刷新mysql的系统权限相关表
注意:mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。
九、安装jdbc mysql连接器 mysql-connector-java
一个男孩,安杰德bc mysql连接儿子mysql—connector—java
下载mysql连接器到目录:/usr/local/src
mysql连接器版本:mysql-connector-java-5.1.49.jar
在linux上下载:wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.49.tar.gz
如果无法访问外网,则在外部离线下载好后上传至服务器
解压:sudo tar -xf mysql-connector-java-5.1.49.tar.gz
把解压好的jar包放到新建目录:mkdir /usr/share/java
拷贝文件并重命名:cp mysql-connector-java-5.1.49.jar /usr/share/java/mysql-connector-java.jar
十、下载安装包cm6和cdh6
安装包在外部提前下载好并上传至服务器目录
切换到目录:cd /usr/local/src
创建目录: mkdir cm6.3.1
解压cm6压缩包:sudo tar zxvf cm6.tar.gz
在NameNode节点安装
第一步安装daemons rpm:sudo rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
第二步安装server rpm:sudo rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
第三步安装agent rpm:sudo yum install cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
在DataNode节点安装
在datanode节点只需安装客户端
sudo rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
sudo rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm --force --nodeps
修改cloudera-scm-server配置文件,修改数据库类型、地址、用户名、密码:
vim /etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=****-master1
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.password=******
com.cloudera.cmf.db.setupType=EXTERNAL
启动 cloudera-scm-server:
sudo systemctl start cloudera-scm-server
查看启动日志命令:tailf -n 30 /var/log/cloudera-scm-server/cloudera-scm-server.log
查看状态:sudo systemctl status cloudera-scm-server
修改namenode客户端agent:
vim /etc/cloudera-scm-agent/config.ini
server_host=****-master1
server_port=7182
修改除NameNode节点以外的所有客户端配置:
sed -i "s/server_host=localhost/server_host= ****-master1/g" /etc/cloudera-scm-agent/config.ini
启动所有节点的agent服务
systemctl enable cloudera-scm-agent #设置开机自启动
systemctl start cloudera-scm-agent
systemctl status cloudera-scm-agent
访问CM Web安装界面:http://1.14.179.xx:7180/
十一、下载安装cdh6
配置cdh的parcels包文件
采用parcels http私有仓库的形式离线安装
安装httpd:sudo yum install httpd
启动:service httpd start
查看状态:service httpd status
进入这个目录:cd /var/www/html,在此目录创建parcels目录:sudo mkdir parcels -p
linux上下载cdh包:wget https://archive.cloudera.com/cdh6/6.3.1/parcels/CDH-6.3.1-1.cdh6.3.1.p0.1605554-el7.parcel
离线下载好的安装包:cdh6.tart.gz
一般下载时间较长,有提前下载好的直接上传到目录解压即可:tar zxvf cdh6.tart.gz
将解压文件中的三个文件移动到 /var/www/html/parcels/目录
文件一:mv CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel /var/www/html/parcels/
文件二:mv CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha /var/www/html/parcels/
文件三:mv manifest.json /var/www/html/parcels/
意味深长:mv CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel /var/www/html/parcels/
混合混合混合:mv CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha /var/www/html/parcell/
伊朗:mv manifest. json/var/www/html/parcels/
检查.parcel文件的hash码与.parcel.sha文件中的hash码对比是否一致, 检查命令:
sha1sum CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel
cat CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha
httpd服务启动成功状态下,访问 http://1.14.179.xx/parcels/ 查看私仓是否建立好
访问CM按序操作安装: http://1.14.179.xx:7180/
注意:Hive指定在DateNode节点上安装,只能在DataNode上访问。
十二、配置CDH集群
#按照向导配置集群
接着访问CM Web界面,按序操作安装hadoop组件。
打开浏览器输入:http://172.16.14.xx:7180http://172.16.14.xx:7180
选择版本为express免费版
#显示检查结果
#关闭透明大业
两种方式:
1、重启后会失效
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
2、开机时设置never到以上文件中,永久有效。
echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >> /etc/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
#关闭透明页后,重新运行检查。
透明页已关闭,不再提示。%MCEPASTEBIN%% MCEPASTEBIN %;
透明页已关闭,不再提示。
#自定义安装组件
#安装Zookeeper组件
#添加CM Service服务
#添加Hue组件
#添加Hive组件
#添加HBase、Spark、Kafka组件等,不一一展示了,百度可查。
- 点赞
- 收藏
- 关注作者
评论(0)