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
[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;
创建用户:
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节点:
fudge 127.127.1.0 stratum 10
server ntp.tencent.com
#设置默认策略为允许任何主机进行时间同步
restrict default ignore
#保存并关闭
sudo hwclock -w
sudo service ntpd startsudo chkconfig --level 2345 ntpd on
#其他机器
sudo vim /etc/ntp.conf
server 172.16.1.125
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
sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
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/
vim /opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera-manager
chown cloudera-scm:cloudera-scm mysql-connector-java.jar
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/
-- 允许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
/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
tail -100f /opt/cloudera-manager/cm-5.4.3/log/cloudera-scm-server/cloudera-scm-server.log
第一次运行服务器,需要一段时间才能启动完毕,直到日志显示: Started Jetty server 表示启动成功。
vim /opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini
tail -100f /opt/cloudera-manager/cm-5.4.3/etc/init.d/cloudera-scm-agent start
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
然后再执行删除就可以了。
////////////////////////////////
////////Sixi. Let it be.../////
//////////////////////////////