黑猴子的家:Cloudera Manager 之 环境准备

1、资源分配

将3台虚拟机分配好内存和磁盘

hadoop102 hadoop103 hadoop104
内存 10GB 2GB 2GB
磁盘 大于50GB 大于50GB 大于50GB

使用root用户搭建Cloudera Manager

2、安装jdk

三台机器都安装

1)卸载现有jdk

(1)查询是否安装java软件

[root@hadoop102 ~]# rpm -qa | grep java
[root@hadoop102 ~]# rpm -qa | grep jdk

(2)卸载jdk

[root@hadoop102 ~]# rpm -e --nodeps java-1.8

语法:rpm –e --nodeps 软件包名字

2)解压jdk

解压jdk到/opt/module目录下

[root@hadoop102 software]$ tar -xzvf jdk-8u144-linux-x64.tar.gz -C /opt/module/

3)配置环境变量

[root@hadoop102 ~]# vim /etc/profile
##JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

[root@hadoop102 ~]# source /etc/profile
[root@hadoop102 ~]# java -version
java version "1.8.0_144"

尖叫提示:环境变量的配置,根据情况在 /etc/profile , /etc/environment, ~/.bashrc 此三个文件中配置,记得分发

3、离线安装MySQL

hadoop102节点安装

1)卸载mysql

(1)关闭mysql服务

[root@hadoop102 ~]# systemctl status mysql
[root@hadoop102 ~]# systemctl stop mysql

(2)查看mysql

[root@hadoop102 ~]# rpm -qa | grep -i mysql
[root@hadoop102 ~]# rpm -qa | grep -i mariadb

(3)卸载mysql

[root@node1 ~]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

2)安装mysql

(1)添加mysql用户

[root@hadoop102 ~]# id mysql
[root@hadoop102 ~]# useradd mysql
[root@hadoop102 ~]# passwd mysql

尖叫提示:这一步一定要做
(2)创建MySQL-5.7.21-rpm文件夹

[root@hadoop102 software]$ mkdir MySQL-5.7.21-rpm

(3)解压mysql的rpm安装包

[root@hadoop102 software]$ tar -xvf MySQL-5.7.21-1.el7.x86_64.rpm-bundle.tar -C ./MySQL-5.7.21-rpm

(4)设置执行权限

[root@hadoop102 software]$ chmod -R 755 ./MySQL-5.7.21-rpm/*

(5)安装mysql rpm包

[root@hadoop102 software]# cd MySQL-5.7.21-rpm
[root@hadoop102 MySQL-5.7.21-rpm]# rpm -ivh mysql-community-common-c-1.el7.x86_64.rpm
[root@hadoop102 MySQL-5.7.21-rpm]# rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm
[root@hadoop102 MySQL-5.7.21-rpm]# rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm
[root@hadoop102 MySQL-5.7.21-rpm]# rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm
[root hadoop102 MySQL-5.7.21-rpm]# rpm -ivh mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm

尖叫提示:rpm -ivh --prefix= /opt/moudle MySQL-client-5.7.21-1.el7.x86_64.rpm,rpm安装的时候可以通过--prefix来制定目录安装
(6)修改配置文件

[root@hadoop102 ~]# vim /etc/my.cnf
validate_password_policy=0
validate_password_length=1

(7)启动mysql服务端

[root@hadoop102 ~]# systemctl start mysqld

(8)查看mysql服务端状态

[root@hadoop102 MySQL-5.7.21-rpm]$ systemctl status mysqld

(9)查看mysql的root用户的密码

[root@hadoop102 ~]$ grep 'temporary password' /var/log/mysqld.log
2018-03-15T01:29:11.385674Z 1 [Note] A temporary password is generated for root@localhost: 42mL&hX3G6+a

(10)mysql客户端登录

[root@hadoop102 ~]$ mysql -uroot -p42mL&hX3G6+a

(11)修改密码

mysql> set password=password('000000');
mysql> flush privileges;

(12)退出mysql

mysql> exit;
mysql> quit;

尖叫提示:两种方式都可以

3)MySQL允许远程登录

任何主机上都能登录MySQL数据库
(1)登录mysql客户端

[root@hadoop102 ~]# mysql -uroot -p000000

(2)显示数据库

mysql> show databases;

(3)使用mysql数据库

mysql> use mysql;

(4)展示mysql数据库中的所有表

mysql> show tables;

(5)展示user表的结构

mysql> desc user;

(6)查询user表

mysql> select user,host,authentication_string from user;

(7)修改user表,把Host表内容修改为%

mysql> update user set host='%' where user='root' and host='localhost';
mysql> grant all privileges on *.* to 'root'@'%' identified by '000000' with grant option;

(8)刷新

mysql> flush privileges;

(9)退出

mysql> quit;

(10)设置开机启动

[root@hadoop102 ~]# systemctl enable mysqld

4)创建数据库

mysql> create database hive default charset utf8 collate utf8_general_ci;
mysql> create database amon default charset utf8 collate utf8_general_ci;
mysql> create database hue default charset utf8 collate utf8_general_ci;
mysql> create database monitor default charset utf8 collate utf8_general_ci;
mysql> create database oozie default charset utf8 collate utf8_general_ci;
mysql> flush privileges;

5)修改密码

mysql> set password=password('alex32405MK!@#$%');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

4、MariaDB-10.1.22_64安装

hadoop102节点安装

1)制作MariaDB.repo

[root@hadoop102 ~]# vim /etc/yum.conf
keepcache=1

[root@hadoop102 ~]# cd /etc/yum.repos.d/
[root@hadoop102 yum.repos.d]# touch MariaDB.repo
[root@hadoop102 yum.repos.d]# vim 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
enabled=1

2)yum安装MariaDB

[root@hadoop102 ~]# yum install -y MariaDB-server MariaDB-client

3)启动服务

[root@hadoop102 ~]# service mysql start
[root@hadoop102 ~]# systemctl start mariadb

4)开机启动

[root@hadoop102 ~]# systemctl enable mariadb
[root@hadoop102 ~]# chkconfig mysql –list

5)MariaDB设置初始化密码及修改密码

(1)方法1

[root@hadoop102 ~]# mysql
MariaDB[(none)]> set password= password('000000');

尖叫提示:语法MariaDB[(none)]> set password= password('newpassward');
(2)方法2

[root@hadoop102 ~]# mysqladmin -u root password 000000

尖叫提示:语法[root@localhost ~]# mysqladmin -u root password 'newpassword'

如果root已经设置过密码

[root@hadoop102 ~]# mysqladmin -uroot -p000000 password 123456

尖叫提示:语法mysqladmin -uroot -p'oldpassword' password 'newpassword'

6)允许远程访问

MariaDB [(none)]> use mysql;
MariaDB [mysql]> grant all privileges on *.* to 'root'@'%' identified by '000000' with grant option;
MariaDB [mysql]> select host,user,password from user;
MariaDB [mysql]> update user set host='%' where user='root' and host='localhost';
MariaDB [mysql]> delete from user where host!='%';
MariaDB [mysql]> flush privileges;

7)修改Mariadb存储路径

(1)确定MariaDB数据库能正常运行

[root@hadoop102 ~]# service mysql status

(2)确定正常后关闭服务

[root@hadoop102 ~]# service mysql stop

(3)建立要更改数据存放的目录

[root@hadoop102 /]# mkdir /data/mysql_data
[root@hadoop102 /]# chown -R mysql:mysql /data/mysql_data

(4)复制默认数据存放文件夹到/data/mysql_data

[root@hadoop102 /]# cp -a /var/lib/mysql /data/mysql_data

(5)修改server.cnf

[root@hadoop102 /]# vim /etc/my.cnf.d/server.cnf
datadir=/data/mysql_data/mysql
socket=/var/lib/mysql/mysql.sock
#default-character-set=utf8
character_set_server=utf8
slow_query_log=on
slow_query_log_file=/data/mysql_data/slow_query_log.log
long_query_time=2

尖叫提示:退出保存Esc ->:wq
如果忘记关掉selinux了,导致更换路径后,无法启动mysql
"datadir"、"innodb_data_home_dir"、"innodb_log_group_home_dir"都修改到最新的"mysql"数据库目录地址

8)添加mysql的Jdbc驱动

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

分发

[root@hadoop102 java]# xsync mysql-connector-java.jar

9)创建数据库

MariaDB [mysql]> create database hive default charset utf8 collate utf8_general_ci;
MariaDB [mysql]> create database amon default charset utf8 collate utf8_general_ci;
MariaDB [mysql]> create database hue default charset utf8 collate utf8_general_ci;
MariaDB [mysql]> create database monitor default charset utf8 collate utf8_general_ci;
MariaDB [mysql]> create database oozie default charset utf8 collate utf8_general_ci;
MariaDB [mysql]> flush privileges;

5、Yum安装MySQL

1)获取rpm包

[root@hadoop104 ~]# cd /etc/yum.repos.d/
[root@hadoop102 yum.repos.d]$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2)安装mysql.rpm包

[root@hadoop102 yum.repos.d]$ rpm -ivh mysql-community-release-el7-5.noarch.rpm

尖叫提示:安装rpm文件,获得两个repo文件(master+slave)
mysql-community.repo
mysql-community-source.repo

3)安装MySQL

[root@hadoop102 yum.repos.d]$ yum install -y mysql-server

4)查看mysql都安装了什么服务

[root@hadoop102 ~]$ rpm -qa | grep -i mysql
mysql-community-client-5.6.49-2.el7.x86_64
mysql-community-common-5.6.49-2.el7.x86_64
mysql-community-release-el7-5.noarch
mysql-community-libs-5.6.49-2.el7.x86_64
mysql-community-server-5.6.49-2.el7.x86_64

5)启动mysql服务

[root@hadoop102 ~]$ systemctl start mysqld.service
[root@hadoop102 ~]$ systemctl enable mysqld.service
[root@hadoop102 ~]$ systemctl status mysqld.service

6)登陆mysql

[root@hadoop102 ~]$ mysql -uroot -p
Enter password: (没有密码)
mysql> set password = password('123456');
mysql> flush privileges;
mysql> exit;

7)远程登陆

mysql> show databases;
mysql> use mysql;
mysql> show tables;
mysql> desc user;
mysql> select host,user,password from user;
mysql> update user set host = '%' where user = 'root' and host = 'localhost';
grant all privileges on *.* to 'root'@'%' identified by '123456';

6、配置SSH免密登陆

1)生成公钥私钥

[root@hadoop102 ~]# ssh-keygen -t rsa
[root@hadoop103 ~]# ssh-keygen -t rsa
[root@hadoop104 ~]# ssh-keygen -t rsa

[root@hadoop102 ~]# ssh-keygen -t rsa -b 2048 -N '' -f /root/.ssh/id_rsa
[root@hadoop103 ~]# ssh-keygen -t rsa -b 2048 -N '' -f /root/.ssh/id_rsa
[root@hadoop104 ~]# ssh-keygen -t rsa -b 2048 -N '' -f /root/.ssh/id_rsa

2)auto-ssh-expect.sh

[root@hadoop102 ~]# yum install -y sshpass expect
[root@hadoop103 ~]# yum install -y sshpass expect
[root@hadoop104 ~]# yum install -y sshpass expect

[root@hadoop102 ~]# cd /usr/local/bin/
[root@hadoop102 bin]# touch auto-ssh-expect.sh
[root@hadoop102 bin]# chmod 755 auto-ssh-expect.sh
[root@hadoop102 bin]# vim auto-ssh-expect.sh
#!/bin/bash
user=`whoami`
passwd=000000
#yum install -y sshpass expect
for((current=102; current<=104; current++));do
  for((host=102; host<=104; host++));do
    sshpass -p $passwd ssh -q -o StrictHostKeyChecking=no $user@hadoop$current expect << EOF
    spawn ssh-copy-id ${user}@hadoop${host}
    expect {
      "yes/no" {send "yes\r";exp_continue}
     "password" {send "$passwd\r"}
    }
    expect eof
EOF
  done
done
[root@hadoop102 ~]# auto-ssh-expect.sh

3)auto-ssh-sshpass.sh

[root@hadoop102 ~]# yum install -y sshpass
[root@hadoop103 ~]# yum install -y sshpass
[root@hadoop104 ~]# yum install -y sshpass

[root@hadoop102 ~]# cd /usr/local/bin/
[root@hadoop102 bin]# touch auto-ssh-sshpass.sh
[root@hadoop102 bin]# chmod 755 auto-ssh-sshpass.sh
[root@hadoop102 bin]# vim auto-ssh-sshpass.sh
#!/bin/bash
user=`whoami`
passwd=000000
#yum install -y sshpass
echo "开始配置免密登录......"
for((current=102; current<=104; current++));do
  for((host=102; host<=104; host++));do
    sshpass -p $passwd ssh -q -o StrictHostKeyChecking=no $user@hadoop$current "sshpass -p $passwd ssh-copy-id -o StrictHostKeyChecking=no $user@hadoop$host"
  done
done
echo "恭喜, 免密登录配置完成!"
[root@hadoop102 ~]# auto-ssh-sshpass.sh

7、NTP时间同步

1)时间服务器配置(必须root用户)

(1)检查ntp是否安装

[root@hadoop102 ~]# rpm -qa | grep ntp
fontpackages-filesystem-1.44-8.el7.noarch
ntp-4.2.6p5-25.el7.centos.2.x86_64
python-ntplib-0.3.2-1.el7.noarch
ntpdate-4.2.6p5-25.el7.centos.2.x86_64

(2)如果没有ntp服务,可使用yum命令进行安装

[root@hadoop102 ~]# yum -y install ntp

2)检查当前系统时区

(1)选择某台机器,作为集群中时间服务器的主节点,然后其他机器同步该机器的时间即可。但是在开始这步操作之前,我们需要确保所有节点的时区是统一的

[root@hadoop102 ~]# date -R

显示类似如下格式:
Wed, 28 Feb 2018 15:28:53 +0800

(2)时区
尖叫提示:如果显示的时区不是+0800,你可以删除localtime文件夹后,再关联一个正确时区的链接过去
``` scala
[root@hadoop102 ~]# rm -rf /etc/localtime
[root@hadoop102 ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

3)同步网络时间

如果怀疑自己本地机器的时间与标准时间相差很多,建议使用时间服务器的主节点同步一下网络时间:

[root@hadoop102 ~]# ntpdate pool.ntp.org

4)修改ntp配置文件

(1)我们需要修改ntp服务的配置文件,关闭网络时间的同步

[root@hadoop102 ~]# vi /etc/ntp.conf

(2)对如下内容做出修改

# 授权192.168.2.0网段上的所有机器可以从这台机器上查询和同步时间
restrict 192.168.2.0 mask 255.255.255.0 nomodify notrap

# 当该节点丢失网络连接,依然可以作为时间服务器为集群中的其它节点提供时间同步
server 127.127.1.0
fudge 127.127.1.0 stratum 10

#集群在局域网中,不使用其他的网络时间
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

尖叫提示:
nomodify:客户端不能使用ntpc与ntpq修改服务器的时间参数
notrap:不提供trap远程时间登录的功能

5)重启ntp服务

(1)CentOS6

[root@hadoop102 ~]# service ntpd restart
[root@hadoop102 ~]# chkconfig ntpd on

(2)CentOS7

[root@hadoop102 ~]# systemctl restart ntpd.service
[root@hadoop102 ~]# systemctl enable ntpd.service

6)设置定时同步任务

(1)首先在其它节点上关闭ntp服务
CentOS6

[root@hadoop103 ~]# service ntpd stop
[root@hadoop103 ~]# chkconfig ntpd off

CentOS7

[root@hadoop103 ~]# systemctl stop ntpd.service
[root@hadoop103 ~]# systemctl disable ntpd.service

查看ntp进程id

[root@hadoop103 ~]# pgrep ntpd

(2)其它节点手动同步第一台时间服务器的时间进行测试

[root@hadoop103 ~]# ntpdate hadoop102

(3)其它节点制定计划任务,周期性同步时间

[root@hadoop103 ~]# crontab -e
# .------------------------------------------minute(0~59)
# | .----------------------------------------hours(0~23)
# | | .--------------------------------------day of month(1~31)
# | | | .------------------------------------month(1~12)
# | | | | .----------------------------------day of week(0~6)
# | | | | | .--------------------------------command
# | | | | | |
# | | | | | |
0 0 * * * /usr/sbin/ntpdate hadoop102

(4)重启定时任务
CentOS6

[root@hadoop102 ~]# service crond restart

CentOS7

[root@hadoop102 ~]# systemctl restart crond.service 

(5)查看任务

[root@hadoop02 ~]# crontab -l
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容