CentOS6非root用户下安装及配置CDH5.3.0

由于CentOS6已经结束生命周期,所有的软件源均已发生改变,所以需要先替换掉原有的软件源为阿里云的源:

mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/

vim /etc/yum.repos.d/centos.repo

输入:

[base]
name=CentOS-6.5 - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.5/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6
 
[updates]
name=CentOS-6.5 - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.5/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6
 
[extras]
name=CentOS-6.5 - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.5/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6
 
[centosplus]
name=CentOS-6.5 - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.5/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6
 
[contrib]
name=CentOS-6.5 - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.5/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6

 

vim /etc/yum.repos.d/epel.repo

输入:

[epel-archive]
name=Extra Packages for Enterprise Linux 6 - $basearch
baseurl=http://mirrors.aliyun.com/epel-archive/6/$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
 
[epel-archive-debuginfo]
name=Extra Packages for Enterprise Linux 6 - $basearch - Debug
baseurl=http://mirrors.aliyun.com/epel-archive/6/$basearch/debug
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=0
 
[epel-archive-source]
name=Extra Packages for Enterprise Linux 6 - $basearch - Source
baseurl=http://mirrors.aliyun.com/epel-archive/6/SRPMS
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=0

 

yum clean all && yum makecache

 

#本安装过程基于CentOS6.5

#install lsb package
sudo yum install -y redhat-lsb net-tools ntp
#sudo时不需要密码(NOPASSWD前是\t)
sudo vim /etc/sudoers
nanjing ALL =(ALL)  NOPASSWD: ALL
#Set the hostname to a unique name (not localhost).
modify HOSTNAME
sudo vi /etc/sysconfig/network

sudo vi /etc/hosts

172.16.1.125 master1
172.16.1.126 slave1
172.16.1.127 slave2

#stop iptables and disable the service

sudo service iptables stop
sudo chkconfig --level 2345 iptables off
sudo setenforce 0

sudo vi /etc/selinux/config

#修改 SELINUX=disabled
sudo /usr/sbin/sestatus -v

 

 #下载所有的资源包:

#CDH5.4.0 & JDK

链接: https://pan.baidu.com/s/1YBKJGO_kvf-1T1XKS0st4w?pwd=1234

提取码: 1234

#CM5

链接: https://pan.baidu.com/s/16-Vj6oUP0IBs02GqZSz1Cw?pwd=1234

 

提取码: 1234

配置免密登录:

cd
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub master1
ssh-copy-id -i ~/.ssh/id_rsa.pub master2
ssh-copy-id -i ~/.ssh/id_rsa.pub slave1
ssh-copy-id -i ~/.ssh/id_rsa.pub slave2


#再controller1上从ftp服务器下载所有cdh5的包
#install CDH Manager5
Pre-requisites: multiple, Internet-connected Linux machines, with SSH access, and significant free space in /var and /opt.

wget http://archive.cloudera.com/cm5/installer/latest/cloudera-manager-installer.bin

chmod u+x cloudera-manager-installer.bin


#再controller1上
#Creating and Using a Package Repository for Cloudera Manager
#Installing Apache HTTPD。
sudo yum install -y httpd
sudo service httpd start
sudo chkconfig --level 2345 httpd on

#拷贝jdk并安装

scp jdk-8u181-linux-x64.rpm root@master1:/root/
scp jdk-8u181-linux-x64.rpm root@master2:/root/
scp jdk-8u181-linux-x64.rpm root@slave1:/root/

#进入各个服务器的/root 目录并安装jdk
cd 
rpm -ivh jdk-8u181-linux-x64.rpm


#安装数据库

sudo yum install -y mysql-connector-java  mysql-server mysql-libs mysql
 sudo chkconfig --level 2345 mysqld on
sudo service mysqld start
sudo mysql_secure_installation

允许root登录。

service mysqld stop
mv /etc/my.cnf /etc/my.cnf.bak
vim /etc/my.cnf
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
character_set_server=utf8

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
max-binlog-size=1G
expire_logs_days=99

#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

# For MySQL version 5.1.8 or later. Comment out binlog_format for older versions.
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 = 512M
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

 

service mysqld start

#解决“nnoDB engine not found.”错误,

mv /var/lib/mysql/ib_logfile* /root/

 service mysqld restart

 mysql -u root -p

登录后 :

show engines;

如果是:

+------------+---------+------------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                    | Transactions | XA   | Savepoints |
+------------+---------+------------------------------------------------------------+--------------+------+------------+
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                      | NO           | NO   | NO         |
| CSV        | YES     | CSV storage engine                                         | NO           | NO   | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance     | NO           | NO   | NO         |
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables  | NO           | NO   | NO         |
+------------+---------+------------------------------------------------------------+--------------+------+------------+
5 rows in set (0.00 sec)

则表示已经成功启用 InnoDB引擎。

如果是显示:

+------------+---------+-----------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                   | Transactions | XA   | Savepoints |
+------------+---------+-----------------------------------------------------------+--------------+------+------------+
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                     | NO           | NO   | NO         |
| CSV        | YES     | CSV storage engine                                        | NO           | NO   | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance    | NO           | NO   | NO         |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables | NO           | NO   | NO         |
+------------+---------+-----------------------------------------------------------+--------------+------+------------+
4 rows in set (0.00 sec)
则表示启用失败。

继续执行:

show variables like 'plugin_dir';
+---------------+-------------------------+
| Variable_name | Value                   |
+---------------+-------------------------+
| plugin_dir    | /usr/lib64/mysql/plugin |
+---------------+-------------------------+
1 row in set (0.00 sec)

切换到shell:

cd /usr/lib64/mysql/plugin

ll | grep  ha_innodb_plugin

若有显示:

lrwxrwxrwx. 1 root root      25 6月   1 16:22 ha_innodb_plugin.so -> ha_innodb_plugin.so.0.0.0
lrwxrwxrwx. 1 root root      25 6月   1 16:22 ha_innodb_plugin.so.0 -> ha_innodb_plugin.so.0.0.0
-rwxr-xr-x. 1 root root 1259136 2月  13 2014 ha_innodb_plugin.so.0.0.0

则表明可以安装innodb,否则,考虑重新安装或者编译mysql(with innodb engine)

安装 InnoDB Engine:

mysql shell中执行:

INSTALL PLUGIN InnoDB SONAME 'ha_innodb_plugin.so';

重启mysql服务:

sudo mysqld restart

登录mysql后继续查看是否已经成功启用了InnoDB Engine:

show engines;


创建数据库:

create database amon DEFAULT CHARACTER SET utf8;
create database rman DEFAULT CHARACTER SET utf8;
create database metastore DEFAULT CHARACTER SET utf8;
create database sentry DEFAULT CHARACTER SET utf8;
create database nav DEFAULT CHARACTER SET utf8;
create database navms DEFAULT CHARACTER SET utf8;

创建用户:


grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'yourpwd' WITH GRANT OPTION;
grant all on metastore.* TO 'metastore'@'%' IDENTIFIED BY 'yourpwd' WITH GRANT OPTION;
grant all on sentry.* TO 'sentry'@'%' IDENTIFIED BY 'yourpwd' WITH GRANT OPTION;
grant all on nav.* TO 'nav'@'%' IDENTIFIED BY 'yourpwd' WITH GRANT OPTION;
grant all on navms.* TO 'navms'@'%' IDENTIFIED BY 'yourpwd' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON rman.* TO 'rman'@'%' IDENTIFIED BY 'yourpwd' WITH GRANT OPTION;
FLUSH PRIVILEGES;

 
cp cm5.3.0-centos6.tar /var/www/html/
cd /var/www/html/
sudo tar xzvf cm5.3.0-centos6.tar

#在master1上
sudo vi /etc/yum.repos.d/cm5.repo

[cm5]    
name=cm5
baseurl=http://172.16.1.124/cm/5
enabled=1
gpgcheck=0

#在controller1上
sudo yum install yum-utils createrepo
cd /var/www/html/cm/5.3.0
sudo createrepo .
#在master1上
sudo vi /etc/yum.repos.d/cloudera-cm.repo
[cloudera-cm]
# Packages for Cloudera's Distribution for cm, Version 5, on RedHat     or CentOS 7 x86_64
name=Cloudera's Distribution for cm, Version 5
#baseurl=http://repos.jenkins.cloudera.com/cm5.10.0-release/redhat/7/x86_64/cm/5/
#gpgkey = http://repos.jenkins.cloudera.com/cm5.10.0-release/redhat/7/x86_64/cm/RPM-GPG-KEY-cloudera
#gpgcheck = 1
baseurl=http://172.16.1.124/cm/5.3.0
#gpgkey = http://repos.jenkins.cloudera.com/cm5.10.0-release/redhat/7/x86_64/cm/RPM-GPG-KEY-cloudera
gpgcheck = 0

sudo yum clean all


sudo ./cloudera-manager-installer.bin --skip_repo_package=1

#在controller1上
sudo mkdir -p /home/nanjing/cdh5/parcels
cd /home/nanjing/cdh5/parcels
wget --no-check-certificate https://archive.cloudera.com/cdh5/parcels/5.3.0/CDH-5.3.0-1.cdh5.3.0.p0.30-el6.parcel.sha1

chmod -R 777 /home/nanjing/cdh5/parcels/
chmod -R o+x ~/

sudo mkdir /var/www/html/cdh/

sudo ln -s /home/nanjing/cdh5/parcels /var/www/html/cdh/5

 
#设置master NTP,关闭Swap

sudo rm -f /etc/localtime
sudo cp  /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
sudo vim /etc/ntp.conf
master节点:

server 127.127.1.0 # local clock

 fudge 127.127.1.0 stratum 10

restrict 172.171.16.0 mask 255.255.255.0 nomodify notrap
logfile /var/log/ntp.log


server     ntp.tencent.com

server     ntp1.tencent.com
server     ntp2.tencent.com
server     ntp3.tencent.com
server     ntp4.tencent.com
server     ntp5.tencent.com


 

#设置默认策略为允许任何主机进行时间同步

restrict default ignore

#保存并关闭

sudo hwclock -w

sudo service ntpd start

sudo chkconfig --level 2345 ntpd on

#其他机器
sudo vim /etc/ntp.conf
server 172.16.1.125

server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
restrict 172.171.16.0 mask 255.255.255.0 nomodify notrap
logfile /var/log/ntp.log
 
#开机自启动
sudo chkconfig --level 2345 ntpd on

sudo service ntpd start
sudo ntpq -p

#修改swappiness
# 临时修改
sudo sysctl -w vm.swappiness=0
# 永久修改
sudo echo "vm.swappiness=0" >> /etc/sysctl.conf

#透明大页面:

echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

将上面一行添加到 /etc/rc.local


 #修改打开句柄数

sudo vim /etc/security/limits.conf

添加下面的内容:

*       soft    nofile          32768
*       hard    nofile          1048576
*       soft    nproc           65536
*       hard    nproc           unlimited
*       soft    memlock         unlimited
*       hard    memlock         unlimited


#将当前用户添加到hdfs组:
sudo usermod -a -G hdfs nanjing
sudo usermod -a -G root nanjing

 #使用 parcel 安装

上传下载好的资源包到服务器主节点
#主节点:
tar -xzvf cloudera-manager.tar.gz

sudo mkdir  /opt/cloudera-manager/
sudo cp -r cloudera /opt/cloudera-manager/
sudo cp -r cm-5.4.3 /opt/cloudera-manager/

# all server
sudo useradd --system --home=/opt/cloudera-manager/cm-5.4.3/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

sudo mkdir -p /opt/cloudera/parcel-repo

 

将下面三个文件拷贝到/opt/cloudera/parcel-repo目录中
CDH-5.14.4-1.cdh5.14.4.p0.3-el6.parcel
CDH-5.14.4-1.cdh5.14.4.p0.3-el6.parcel.sha
manifest.json
sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo

所有节点创建parcels目录(所有节点):
sudo mkdir -p /opt/cloudera/parcels
sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera/
scp -r /opt/cloudera-manager/cloudera root@所有其他节点ip:/opt/cloudera-manager/
scp -r /opt/cloudera-manager/cm-5.4.3 root@所有其他节点ip:/opt/cloudera-manager/

 
#所有节点修改agent配置,server_host 指向manager节点(一般会选择用master节点当作manager节点) 
vim /opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini
 sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera-manager 
初始脚本配置数据库scm_prepare_database.sh(在主节点上)

其中“mysql-connector-java-5.1.41.jar”是我们需要的,将其拷贝到“/opt/cloudera-manager/cm-5.4.3/share/cmf/lib/”路径下。
chown cloudera-scm:cloudera-scm  mysql-connector-java.jar 
备注:执行scm_prepare_database.sh需要切换到root用户
 
#下载mysql-connector-java
wget --no-check-certificate https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-5.1.41.tar.gz
 tar -xzvf mysql-connector-java-5.1.41.tar.gz 
mv /usr/share/java/mysql-connector-java.jar /usr/share/java/mysql-connector-java.jar.bak
cp mysql-connector-java-5.1.41/mysql-connector-java-5.1.41-bin.jar /usr/share/java/mysql-connector-java.jar
cp mysql-connector-java-5.1.41/mysql-connector-java-5.1.41-bin.jar /usr/share/java/mysql-connector-java-5.1.41-bin.jar
cp /usr/share/java/mysql-connector-java.jar /opt/cloudera-manager/cm-5.4.3/share/cmf/lib/

 

#创建mysql用户及授权
mysql -u root -p
-- 允许root登录:
grant all on *.* TO 'root'@'%' IDENTIFIED BY 'yourpwd' WITH GRANT OPTION;flush privileges;
-- 创建scm用户并授权
GRANT ALL PRIVILEGES ON scm.* TO 'scm'@'%' IDENTIFIED BY 'yourpwd' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
 
#准备scm数据库:
/opt/cloudera-manager/cm-5.4.3/share/cmf/schema/scm_prepare_database.sh mysql -hmaster -uroot -pyourpwd --scm-host master scm scm yourpwd

#启动服务器
#start server:
/opt/cloudera-manager/cm-5.4.3/etc/init.d/cloudera-scm-server start

 

log:
tail -100f /opt/cloudera-manager/cm-5.4.3/log/cloudera-scm-server/cloudera-scm-server.log
 

第一次运行服务器,需要一段时间才能启动完毕,直到日志显示:  Started Jetty server 表示启动成功。


#配置从节点cloudera-manger-agent指向主节点服务器,将 server_host 改为CMS所在的主机名即 master
vim /opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini
#启动客户端
#start agent:
tail -100f /opt/cloudera-manager/cm-5.4.3/etc/init.d/cloudera-scm-agent start
log:
tail -100f /opt/cloudera-manager/cm-5.4.3/log/cloudera-scm-agent/cloudera-scm-agent.log

#设置开机自启动
#add to auto start 
#master:
vim /etc/rc.local
/opt/cloudera-manager/cm-5.4.3/etc/init.d/cloudera-scm-server start
/opt/cloudera-manager/cm-5.4.3/etc/init.d/cloudera-scm-agent start

#all slave:
vim /etc/rc.local
#添加:
/opt/cloudera-manager/cm-5.4.3/etc/init.d/cloudera-scm-agent start
#打开浏览器

输入http://172.16.1.125:7180/  用户名密码都是admin,登录后继续操作。
如果chrome登录不成功,尝试使用中文版Firefox。
登录后选择安装express版本,搜索主机时填写172.16.1.[125-127]
然后全选,在选择安装方式时选择“使用 Parcel (建议)”,然后点击后面的“更多选项”,
配置“远程 Parcel 存储库 URL” 中的第一行为:http://172.16.1.124/cdh/5/,
删除其他的“远程 Parcel 存储库 URL”,点击确定,弹出层关闭后,页面自动更新,
显示“选择 CDH 的版本”为:“CDH-5.3.0-1.cdh5.3.0.p0.30 ”
继续安装即可。

安装的时候如果遇到下面的错误:
Command failed to run because service Hive has invalid configuration. Review and correct its configuration. First error: 'Hive Metastore Database Host' is required when using database type 'postgresql'
返回,选择只安装HDFS,OOzie,zookeeper,HBase,Yarn等基本组件即可,Spark、Hive等可以后续再安装。

如果是后续往集群中添加机器,则可以在添加远程repo的时候,填写:http://192.168.88.35/cm/5.3.0/

     已启用“透明大页面”,它可能会导致重大的性能问题。版本为“CentOS release 6.4 (Final)”且发行版为“2.6.32-358.el6.x86_64”的 Kernel 已将 enabled 设置为“[always] never”,并将 defrag 设置为“[always] never”。请运行“echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag”以禁用此设置,然后将同一命令添加到一个 init 脚本中,如 /etc/rc.local,这样当系统重启时就会予以设置。或者,升级到 RHEL 6.5 或更新版本,它们不存在此错误。将会影响到以下主机:

问题处理:

在卸载某个节点的时候,如果遇到:

 rm -rf  /opt/cloudera-manager/*

rm: 无法删除"/opt/cloudera-manager/cm-5.4.3/run/cloudera-scm-agent/process": 设备或资源忙

可查看文件被挂载:

[root@master1 ~]# df -Th
Filesystem                       Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg_bigdata01-lv_root ext4   484G  4.7G  455G   2% /
tmpfs                            tmpfs  3.9G   72K  3.9G   1% /dev/shm
/dev/sda1                        ext4   485M   39M  421M   9% /boot
cm_processes                     tmpfs  3.9G     0  3.9G   0% /opt/cloudera-manager/cm-5.4.3/run/cloudera-scm-agent/process

需要先卸载分区:

[root@master1 ~]# umount /opt/cloudera-manager/cm-5.4.3/run/cloudera-scm-agent/process
[root@master1 ~]# df -Th
Filesystem                       Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg_bigdata01-lv_root ext4   484G  4.7G  455G   2% /
tmpfs                            tmpfs  3.9G   72K  3.9G   1% /dev/shm
/dev/sda1                        ext4   485M   39M  421M   9% /boot
然后再执行删除就可以了。

 

posted on 2019-08-13 09:50  sixiiweb  阅读(1124)  评论(0编辑  收藏  举报

导航