大数据集群cm离线安装(一)

准备环境

1.1 配置host(大数据集群主机都需要操作)

vim /etc/profile

按照实际情况配置host
*域名应符合(FQDN)完全合格域名,CDH管理主机名必须为FQDN

172.1.1.1 dm2.com
172.1.1.1 dm3.com
172.1.1.1 dm4.com
……

1.2 配置各主机之间免密(大数据集群主机都需要操作)
生成ssh密钥-一直回车

ssh-keygen

查看主机密钥

cat ~/.ssh/id_rsa.pub

将输出的密钥复制到大数据集群其他主机实现免密

vim ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

然后连接测试免密
1.3 关闭iptables、firewalld、selinux(大数据集群主机都需要操作)

systemctl stop iptables
systemctl disable iptbales
systemctl stop firewalld
systemctl disable firewalld

selinux

vim /etc/selinux/config
修改为以下内容
SELINUX=disabled

重启服务器应用修改
1.4 修改centos文件句柄数(大数据集群主机都需要操作)

无论对Spark集群,还是Hadoop集群等大数据相关的集群进行调优,对linux系统层面的调优都是必不可少的,linux在整个系统层面和单个进程两个层面对打开的文件句柄进行限制,默认值在实际线上环境中肯定是不够的,所以需要修改默认配置

vim /etc/security/limits.conf

修改为以下样式

* soft     nproc          unlimited        
* hard     nproc          unlimited
* soft     nofile         131072
* hard     nofile         131072
* soft    memlock     	  unlimited
* hard    memlock     	  unlimited

1.5 配置ntp时钟同步(大数据集群主机都需要操作)
ntp一定要做好,不然集群会一直报警告
我做的是一台大数据集群主机a向时钟源同步,其他大数据集群主机向a同步,这样最少能保证集群内部的时钟同步

外网可用阿里云时钟源-我用的自己内网的,在通过内网同步,保证集群内部时钟同步。
ntp1.aliyun.com
ntp2.aliyun.com
ntp3.aliyun.com
ntp4.aliyun.com
ntp5.aliyun.com
ntp6.aliyun.com
ntp7.aliyun.com

yum -y install ntp*
//编辑ntp配置文件,配置以下内容
vim /etc/ntp.conf

将CDH主节点配置成ntp的主节点,其他大数据节点向主节点同步时钟
主节点配置:

restrict 127.0.0.1
restrict 172.1.1.0 mask 255.255.255.0
restrict ::1

server 172.1.1.1
server 127.127.1.0

其他大数据节点配置
这里配置主机名

server dm2.com iburst
Fudge  dm2.com stratum 10

配置好后重启服务器依次执行一下命令使ntp启动,并正常向主节点同步即可

systemctl restart ntpd
ntpd -gq
systemctl restart ntpd
timedatectl

执行timedatectl看到以下结果即为正确

     NTP enabled: yes
NTP synchronized: yes

1.6 准备cm需要的包(主节点操作)
存储在/home/cm/

cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm
oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm

1.7 安装jdk(大数据集群主机都需要操作)

yum -y install oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm

配置环境变量

vim /etc/profile
//添加以下内容
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

环境变量后续安装后还需要手动添加,暂时先添加这些

//执行以下命令检查环境变量是否ok
source /etc/profile
java -version

1.8 安装数据库(主节点操作)
我是用的mysql-5.7.24,mariadb也可
准备数据库rpm包

mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
##检查服务器是否默认安装了mariadb,如果有,则卸载

rpm -qa | grep mariadb
rpm -e mariadb* --nodeps
#解包
tar zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
#换名
mv mysql-5.7.24-linux-glibc2.12-x86_64  mysql
#创建应用目录及存储目录
mkdir  /data	/data
#挪包
mv  mysql /data/
#授权普通用户
chown -R user.user /data
#切换目录
cd /data/mysql/bin/
#初始化mysql,指定用户,及目录,编码
nohup ./mysqld --initialize --user=appmanager --basedir=/data/mysql --datadir=/data --lc_messages_dir=/data/mysql/share --lc_messages=en_US
#创建目录
mkdir /data/mysql/etc
#编入配置文件内容
cat > /data/mysql/etc/my.cnf << EOF
[mysqld]
user=user
basedir=/data/mysql
datadir=/data
port=3306
log-error=/data/mysql/var/log/mysqld_error.log
pid-file=/data/mysql/var/run/mysqld.pid
socket=/data/mysql/mysql.sock
sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
server-id   = 1

skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 100M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
thread_cache_size = 8
query_cache_size = 8M
tmp_table_size = 16M
performance_schema_max_table_instances = 500
explicit_defaults_for_timestamp = true
max_connections = 10000
max_connect_errors = 100
open_files_limit = 65535

log-bin=mysql-bin
binlog_format=mixed
expire_logs_days = 10
binlog_checksum=crc32
sync_binlog = 500

lower_case_table_names=0
default_storage_engine = InnoDB
innodb_file_per_table = 1
innodb_data_home_dir = /data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /data
innodb_buffer_pool_size = 8G
innodb_log_file_size = 1000M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 50
plugin-load=rpl_semi_sync_master=semisync_master.so
rpl_semi_sync_master_enabled=1
innodb_flush_method = O_DSYNC
innodb_change_buffer_max_size = 50

[client]
#default-character-set=utf8
socket=/data/mysql/mysql.sock
port=3306

[mysql]
#default-character-set=utf8
socket=/data/mysql/mysql.sock
port=3306
no-auto-rehash

[mysqldump]
quick
max_allowed_packet = 128M
EOF
#清理无效配置文件
rm -rf /etc/my.cnf
#软连接配置文件到/etc/下
ln -s /data/mysql/etc/my.cnf /etc/my.cnf
#创建所需目录
mkdir -p /data/mysql/var/log/
mkdir -p /data/mysql/var/run/
#更改mysql启动文件内容
cd /data/mysql/support-files/
cp mysql.server /etc/init.d/mysql
sed -i '46c basedir=/data/mysql' /etc/init.d/mysql
sed -i '47c datadir=/data' /etc/init.d/mysql
#添加执行权限
chmod +x /etc/init.d/mysql
#添加为系统服务
chkconfig --add mysql
#创建所需日志文件
touch /data/mysql/var/log/mysqld_error.log
#软连接mysql命令
ln -s  /data/mysql/bin/mysql /usr/bin/mysql
ln -s  /data/mysql/bin/mysqldump /usr/bin/mysqldump
#授权
chown -R user.user /data
#启动数据库
service mysql restart
#第一次登录需要更改mysql   root的密码
set password =password('123456');

至此mysql安装完毕,根据自己服务器内存大小更改配置文件中的innodb_buffer_pool_size,来指定mysql的初始化内存,默认密码存在执行mysql初始化命令目录下的nohup.out 中。

创建集群所需数据库及授权用户(根据安装的软件进行创建,没有用到可以不创建)

GRANT ALL ON *.* TO 'root'@'%' identified by 'jesse@123';

create database scm DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database rman DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database metastore DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database sentry DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database nav DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database navms DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

GRANT ALL ON *.* TO 'scm'@'%' identified by 'jesse@123';
GRANT ALL ON *.* TO 'amon'@'%' identified by 'jesse@123';
GRANT ALL ON *.* TO 'rman'@'%' identified by 'jesse@123';
GRANT ALL ON *.* TO 'hue'@'%' identified by 'jesse@123';
GRANT ALL ON *.* TO 'hive'@'%' identified by 'jesse@123';
GRANT ALL ON *.* TO 'sentry'@'%' identified by 'jesse@123';
GRANT ALL ON *.* TO 'nav'@'%' identified by 'jesse@123';
GRANT ALL ON *.* TO 'navms'@'%' identified by 'jesse@123';
GRANT ALL ON *.* TO 'oozie'@'%' identified by 'jesse@123';

flush privileges;

配置mysql-jdbc 注意包明需要修改

mv mysql-connector-java-8.0.15.jar mysql-connector-java.jar
cp ~/mysql-connector-java.jar  /usr/share/java/

1.9 安装http(主节点操作)

大数据环境需要http服务器做分发器,其他节点只需要配置yum即可

yum -y install httpd*
//修改配置文件为一下内容
vim /etc/httpd/conf/httpd.conf
#添加以下内容
AddType application/x-gzip .gz .tgz .parcel
//启动httpd
systemctl httpd start

访问本机地址查看是否安装成功
制作本地分发器/yum源
将1.6步骤准备的cm包放到http目录下

#将本地cm包放到 /var/www/html/下
cp /home/cm/* /var/www/html/cm6/
#进入目录制作成镜像
cd /var/www/html/cm6/
createrepo *
#如果没有createrepo 命令则yum一个,再执行
yum -y install createrepo*
#授权目录为apache用户权限,并赋权
chown -R apache.apache /var/www/html/*
chmod 755 /var/www/html/cm6
#重启httpd服务
systemctl restart httpd

访问本机地址测试httpd搭建情况

浏览器输入   http://本机ip:80/cm6

访问自己的ip端口80
见到这个页面即制作成功
1.9 配置yum(大数据集群主机都需要操作,因为主节点需要安装cloudera-manager-server,其他节点需要安装cloudera-manager-agent)
所有大数据集群yum配置成以下内容(大数据集群主机都需要操作)

vim /etc/yum.repos.d/cloudera-manager.repo
#写入以下内容
name=Cloudera Manager
baseurl=http://1.1.1.1/cm6
gpgcheck=0
enabled=1
#保存退出
#1.1.1.1为刚才搭建的httpd服务地址
#清理yum环境,重新加载
yum clean all
yum makecache
yum repolist

1.10 安装依赖(大数据集群主机都需要操作)

yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb postgresql* portmap mod_ssl openssl-devel python-psycopg2 MySQL-python	

准备工作完成,开始安装cm

主节点安装cloudera-manager

yum -y install cloudera-manager*

执行cm初始化脚本

#切到cm目录下
cd /opt/cloudera/cm/schema
#执行sh
scm_prepare_database.sh mysql scm root 123456
#初始化脚本 mysql 库名 用户 密码

手动安装cloudera-manager-agent(所有从节点)

yum -y install cloudera-manager-agent*

配置agent配置文件

vim /etc/cloudera-scm-agent/config.ini
#修改
server_host=主节点ip/主节点主机名(FQDN)

重启agent

至此cm安装完成,进入页面安装

http://1.1.1.1:7180
账号密码默认 admin/admin

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值