1.设置hosts(每台机器执行)
sudo hostnamectl set-hostname foo-1.example.com
vim /etc/hosts
172.20.3.134 foo-1.example.com foo-1
172.20.3.135 foo-2.example.com foo-2
172.20.3.136 foo-3.example.com foo-3
vim /etc/sysconfig/network
HOSTNAME=foo-1.example.com
uname -a
host -v -t A $(hostname)
2.关闭firewalld(每台机器执行)
systemctl stop firewalld
systemctl disable firewalld
3.关闭selinux(每台机器执行)
vim /etc/sysconfig/selinux
SELINUX=enforcing to SELINUX=permissive
setenforce 0
4.安装ntp时钟(每台机器执行)
yum install ntp
vim /etc/ntp.conf
server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
ntp服务启动
sudo systemctl start ntpd
sudo systemctl enable ntpd
ntpdate -u <ntp_server>
hwclock --systohc
4.5 配置免密登陆(master执行)
ssh-keygen -t rsa
ls
ssh-copy-id root@localhost
ssh-copy-id root@172.20.3.136
ssh-copy-id root@172.20.3.135
5.0 配置yum parcel源(master执行)
1.安装并开启httpd服务
yum install httpd
systemctl start httpd
systemctl enable httpd.service
2.在软件目录解压镜像
镜像包放在baiduyun中:
cp cdh.tar.gz /var/www/html/
tar -xvf cdh.tar.gz
chmod -R ugo+rX /var/www/html/cm
http://172.20.3.134/cm/ #ip换成自己的,看下浏览器是否能访问
http://172.20.3.134/cdh #这个是后面界面配置安装cdh时用到的
5.1 加入CM的yum源(所有都执行)
vim cloudera-repo.repo
[cloudera-repo]
name=cloudera-repo
baseurl=http://172.20.3.134/cm/
enabled=1
gpgcheck=0
6.java安装 (所有都执行)
yum install java-1.8.0-openjdk -y #主要是这一步,下面的都没啥用
yum install java-1.8.0-openjdk-devel.x86_64 -y
如果安装其他版本,可以参考运维二三事中的java jdk安装的文章:https://www.jianshu.com/p/062cb9ad5f81
7.安装Cloudera Manager
master节点:
sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
woker节点:
sudo yum install cloudera-manager-daemons cloudera-manager-agent
8.mysql(主要是master节点的)
#这些时master的
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
sudo yum update
sudo yum install mysql-server
sudo systemctl start mysqld
设置数据库:
#这些时master的
sudo systemctl stop mysqld
# 这两个文件备份一下
/var/lib/mysql/ib_logfile0 and /var/lib/mysql/ib_logfile1
# 查看表驱动指令,这个可以等创建完数据库以后
mysql> show table status;
#这些时master的
vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
transaction-isolation = READ-COMMITTED
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
symbolic-links = 0
key_buffer_size = 32M
max_allowed_packet = 16M
thread_stack = 256K
thread_cache_size = 64
query_cache_limit = 8M
query_cache_size = 64M
query_cache_type = 1
max_connections = 550
#expire_logs_days = 10
#max_binlog_size = 100M
#log_bin should be on a disk with enough free space.
#Replace '/var/lib/mysql/mysql_binary_log' with an appropriate path for your
#system and chown the specified folder to the mysql user.
log_bin=/var/lib/mysql/mysql_binary_log
#In later versions of MySQL, if you enable the binary log and do not set
#a server_id, MySQL will not start. The server_id must be unique within
#the replicating group.
server_id=1
binlog_format = mixed
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M
# InnoDB settings
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 64M
innodb_buffer_pool_size = 4G
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_log_file_size = 512M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
sql_mode=STRICT_ALL_TABLES
systemctl start mysqld
systemctl enable mysqld
sudo /usr/bin/mysql_secure_installation
1.
[...]
Enter current password for root (enter for none):
OK, successfully used password, moving on...
[...]
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
[...]
Disallow root login remotely? [Y/n] N
[...]
Remove test database and access to it [Y/n] Y
[...]
Reload privilege tables now? [Y/n] Y
All done!
安装 Mysql JDBC Driver(这一步三台机器全做)
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
tar zxvf mysql-connector-java-5.1.46.tar.gz
sudo mkdir -p /usr/share/java/
cd mysql-connector-java-5.1.46
sudo cp mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar
数据库表格创建:(这些时master的)
mysql -u root -p
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 reman 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 '123456';
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY '123456';
GRANT ALL ON reman.* TO 'reman'@'%' IDENTIFIED BY '123456';
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY '123456';
GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY '123456';
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY '123456';
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY '123456';
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY '123456';
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456';
查看数据库:
show databases;
查看授权:
SHOW GRANTS FOR 'scm'@'%';
SHOW GRANTS FOR 'amon'@'%';
SHOW GRANTS FOR 'reman'@'%';
SHOW GRANTS FOR 'hue'@'%';
SHOW GRANTS FOR 'metastore'@'%';
SHOW GRANTS FOR 'sentry'@'%';
SHOW GRANTS FOR 'nav'@'%';
SHOW GRANTS FOR 'navms'@'%';
SHOW GRANTS FOR 'oozie'@'%';
初始化数据库:(master操作)
把上面的数据库都进行初始化
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql amon amon
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql reman reman
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql hue hue
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql metastore hive
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql sentry sentry
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql nav nav
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql navms navms
sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql oozie oozie
如果已经存在了,就执行如下指令
sudo rm /etc/cloudera-scm-server/db.mgmt.properties
9.安装CDH和其他软件
#master节点:
systemctl start cloudera-scm-server
systemctl enable cloudera-scm-server
sudo tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
#worker节点:
systemctl start cloudera-scm-agent
systemctl enable cloudera-scm-agent
10.登陆web查看
http://<server_host>:7180
username: admin
password: admin
web的图形安装,请看下篇:https://www.jianshu.com/p/304b579b3ee4
上述所需的文件包:
链接:https://pan.baidu.com/s/1TMnUV5jVF0SJQEunE0bqyQ
提取码:73xx
官方文档:
https://docs.cloudera.com/documentation/enterprise/6/6.3/topics/installation.html
https://blog.csdn.net/sinat_35045195/article/details/102566776
图形安装部分详细教程:
https://www.jianshu.com/p/304b579b3ee4