kudu_CM安装准备工作

 

Cloudera Manager简介:

hadoop: https://yq.aliyun.com/articles/60759

----------------------------------------------下载----------------------------------------------

--下载安装包:
1.Cloudera Manager仓库镜像包下载地址:
https://archive.cloudera.com/cdh5/parcels/5.12/

CDH-5.12.2-1.cdh5.12.2.p0.4-el7.parcel
CDH-5.12.2-1.cdh5.12.2.p0.4-el7.parcel.sha1
manifest.json


2.CDH parcel安装包地址:
http://archive.cloudera.com/cm5/repo-as-tarball/5.12.2/

cm5.12.2-centos7.tar.gz

3.kudu的parcel安装包地址:
http://archive.cloudera.com/kudu/parcels/latest/

KUDU-1.4.0-1.cdh5.12.2.p0.8-el7.parcel
KUDU-1.4.0-1.cdh5.12.2.p0.8-el7.parcel.sha1

4.kudu 的csd安装包地址:
http://archive.cloudera.com/kudu/csd/
注意: 通过 Cloudera Manager 安装parcel时sha1格式的文件需要提前修改为sha。

----------------------------------------------准备工作----------------------------------------------

--配置

修改主机名:
hostnamectl set-hostname Node1

--1.修改hosts文件 所有节点

[root@node1 .ssh]# cat /etc/hosts
127.0.0.1 localhost.Node1
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.2.171 Node1
192.168.2.172 Node2
192.168.2.173 Node3 

--2.配置公钥认证 免密登录
2.1 配置公钥认证
ssh-keygen -t rsa
一路回车,生成无密码的密钥对

2.2 将公钥添加到认证文件中:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

2.3 scp文件到所有受管节点( Node2 和 Node3)的~/.ssh目录:

scp ~/.ssh/authorized_keys root@Node2:~/.ssh/
scp ~/.ssh/authorized_keys root@Node3:~/.ssh/

2.4如果没有.ssh目录,手动创建并赋权限

[root@node1 ~]# mkdir .ssh
[root@node1 ~]# chmod 700 .ssh/

--3.关闭防火墙

[root@node1 .ssh]# systemctl stop firewalld.service
[root@node1 .ssh]# firewall-cmd --state
not running

  

--4.关闭SELINUX
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0

--5.配置NTP服务 同步时间

--6.优化虚拟内存需求率(所有节点)
1)检查虚拟内存需求率
  cat /proc/sys/vm/swappiness


2)临时降低虚拟内存需求率
  sysctl vm.swappiness=0

永久降低虚拟内存需求率
使用命令 vi /etc/sysctl.conf 增加
  vm.swappiness = 0
并运行如下命令使生效
  sysctl -p

--7.解决透明大页面问题(所有节点)

1)检查透明大页面问题

执行代码:

echo never > /sys/kernel/mm/transparent_hugepage/defrag 
echo never > /sys/kernel/mm/transparent_hugepage/enabled  

以禁用此设置,然后将同一命令添加到 /etc/rc.local 等初始化脚本中,以便在系统重启时予以设置。

cat /sys/kernel/mm/transparent_hugepage/defrag

  如果显示为:

  [always] madvise never

 

2)临时关闭透明大页面问题
echo never > /sys/kernel/mm/transparent_hugepage/defrag
确认配置生效:
cat /sys/kernel/mm/transparent_hugepage/defrag
应该显示为:
always madvise [never]
3)配置开机自动生效
使用命令 vim /etc/rc.local,加入如下内容

echo never > /sys/kernel/mm/transparent_hugepage/defrag 
echo never > /sys/kernel/mm/transparent_hugepage/enabled

--8.安装JDK

卸载自带的OpenJdk,
使用 rpm -qa | grep java 查询java相关的包,
使用 rpm -e --nodeps 包名 卸载。

 

--------------------------------------- -----------------安装配置MariaDB--------------------------------------- 

a. 确保/var/lib/mysql目录有足够大的磁盘空间
b. 卸载自带的mysql。
  yum remove mysql
1.添加yum源

vi /etc/yum.repos.d/MariaDB.repo

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1  

2.安装MariaDB
  yum install MariaDB-server MariaDB-client MariaDB-devel --enablerepo=MariaDB.repo

 

3.配置my.conf
vim /etc/my.cnf
用以下内容替换

[mysqld]
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 = 16M
key_buffer_size = 32M
max_allowed_packet = 32M
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

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

3.启动MariaDB
  service mysql start

启动失败:
失败1:
    /usr/bin/mysqld_safe_helper: Can't create/write to file '/var/log/mysqld.log' (Errcode: 13 "Permission denied")
授权:
    chown -R mysql /var/log/
失败2:
    2018-02-05 11:22:22 139647932491520 [ERROR] mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 13 "Permission denied")
    2018-02-05 11:22:22 139647932491520 [ERROR] Can't start server: can't create PID file: Permission denied
解决:
[root@Node1 log]# cat /var/log/mysqld.log
[root@Node1 run]# mkdir mysqld
[root@Node1 log]# chown -R mysql /var/run/mysqld
[root@Node1 log]# chgrp -R mysql /var/run/mysqld

 

 

4.查看MariaDB版本
mysql --version

5.设置开机启动
chkconfig mysql on

6.初始化数据库

sudo /usr/bin/mysql_secure_installation

Enter current password for root (enter for none):  Enter

Set root password? [Y/n] y
New password: 123456
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n
 ... skipping.

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

7.使用mysql -uroot -p进入mysql命令行,创建数据库和用户:

 

[root@Node1 log]# mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 10.1.30-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database hive DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> create database hue DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on hue.* TO 'hue'@'%' IDENTIFIED BY 'hue';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> create database oozie DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';   
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit
Bye
 

 

-------------------------------------------安装mysql JDBC 驱动(管理节点)-----------------------------------------

下载mysql JDBC 驱动放到目录 /usr/share/java/ 并修改名为mysql-connector-java.jar
下载地址:https://dev.mysql.com/downloads/connector/j/

[root@Node1 mysql-connector-java-5.1.45]# cp mysql-connector-java-5.1.45-bin.jar /usr/share/java/mysql-connector-java.jar

 

----------------------------------------- 安装配置 Cloudera Manager(管理节点)---------------------------------------
建立Cloudera Manager安装文件自定义存储库

a.安装httpd服务器

查询一下是否已经安装了apache
rpm -qa httpd 
如果还没有则进行安装
yum -y install httpd
启动apache
service httpd start
开机自启动
chkconfig httpd on

1.将Cloudera Manager仓库镜像包cm5.12.2-centos7.tar.gz
解压到/var/www/html目录,文件目录结构如下
[root@Node1 cm]# tar zxvf /root/softwares/kudu/cm5.12.2-centos7.tar.gz -C /var/www/html

2.通过rpm安装包本地安装 Cloudera Manager
到目录 /var/www/html/cm/5/RPMS/x86_64

--本地安装rpm包,不验证签名

yum --nogpgcheck localinstall cloudera-manager-daemons-5.12.*.rpm cloudera-manager-server-5.12.*.rpm enterprise-debuginfo-5.12.*.rpm

3.Parcel和csd格式文件上传
a. 上传下列文件到Parcel包的存放路径: /root/cloudera/parcel-repo/
CDH-5.12.2-1.cdh5.12.2.p0.4-el7.parcel
CDH-5.12.2-1.cdh5.12.2.p0.4-el7.parcel.sha1
KUDU-1.4.0-1.cdh5.12.2.p0.8-el7.parcel
KUDU-1.4.0-1.cdh5.12.2.p0.8-el7.parcel.sha1
manifest.json

 

 

4.上传最新的kudu csd文件到csd包存放路径: /root/cloudera/csd/
KUDU-5.10.2.jar

 

5.配置 Cloudera Manager Server 数据库

使用命令scm_prepare_database.sh创建Cloudera Manager Server数据库配置文件
命令格式如下
/usr/share/cmf/schema/scm_prepare_database.sh database-type [options] database-name username password
如:

 

/usr/share/cmf/schema/scm_prepare_database.sh mysql -hNode1 -uroot -p123456 --scm-host Node1 scm scm scm

成功:

[root@node1 cloudera-scm-server]# /usr/share/cmf/schema/scm_prepare_database.sh mysql -hNode1 -uroot -p123456 --scm-host Node1 scm scm scm
JAVA_HOME=/usr/java/jdk1.7.0_79
Verifying that we can write to /etc/cloudera-scm-server
Creating SCM configuration file in /etc/cloudera-scm-server
Executing: /usr/java/jdk1.7.0_79/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
[ main] DbCommandExecutor INFO Successfully connected to database.
All done, your SCM database is configured correctly!
[root@node1 cloudera-scm-server]# 
执行完成后生成数据库配置文件/etc/cloudera-scm-server/db.properties
# Auto-generated by scm_prepare_database.sh on 2018年 01月 10日 星期三 14:42:32 CST
#
# For information describing how to configure the Cloudera Manager Server
# to connect to databases, see the "Cloudera Manager Installation Guide."
#
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=localhost
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.setupType=EXTERNAL
com.cloudera.cmf.db.password=scm
报错:
mysql>use mysql;
mysql>desc user;
mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";  //为root添加远程连接的能力。
mysql>update user set Password = password('123456') where User='root';
mysql>select Host,User,Password  from user where User='root'; 
mysql>flush privileges;
mysql>exit

grant all on scm.* to 'root'@'%' identified by '123456' with grant option;

cat /etc/cloudera-scm-server/db.properties

6.启动Cloudera Manager Server

[root@node1 ~]# service cloudera-scm-server start
Starting cloudera-scm-server (via systemctl): Warning: cloudera-scm-server.service changed on disk. Run 'systemctl daemon-reload' to reload units.
[ 确定 ]
[root@node1 ~]# systemctl daemon-reload
[root@node1 ~]# service cloudera-scm-server start
Starting cloudera-scm-server (via systemctl): [ 确定 ]
启动失败报错没有JDK
一个是OS的环境变量,一个是脚本运行时候的设置
[root@Node1 init.d]# pwd
/etc/init.d
[root@Node1 init.d]# vim cloudera-scm-server
添加:
export JAVA_HOME=/root/jdk1.7.0_79

再次启动:
[root@Node1 init.d]# service cloudera-scm-server start
查看日志:
[root@Node1 init.d]# cat /var/log/cloudera-scm-server/cloudera-scm-server.out 
JAVA_HOME=/root/jdk1.7.0_79
/usr/share/cmf/bin/cmf-server:行129: /root/jdk1.7.0_79/bin/java: 权限不够
/usr/share/cmf/bin/cmf-server: 第 129 行:exec: /root/jdk1.7.0_79/bin/java: 无法执行: 权限不够

修改jdk路径
[root@Node1 ~]# cd /usr/
[root@Node1 usr]# mkdir java/
[root@Node1 init.d]# echo $JAVA_HOME
/usr/java/jdk1.7.0_79

再次启动:
[root@Node1 init.d]# service cloudera-scm-server start

--CM

等待大概两分钟,访问 http://192.168.2.171:7180/ 进入管理端 (登陆名:admin 密码:admin)

--kudu
http://192.168.2.171:8051/

  

  

 

 

 

posted on 2018-02-05 17:44  ajistyle  阅读(970)  评论(0编辑  收藏  举报

导航