离线安装Cloudera
1. 网络配置(所有节点)
修改所有节点的机器名,命令如下
vi /etc/sysconfig/network
修改hostname:
NETWORKING=yes
HOSTNAME=cdhmaster
通过 service network restart 重启网络服务生效
vi /etc/hosts ,修改ip与主机名的对应关系,添加如下内容:
192.168.1.185 cdhmaster
192.168.1.186 cdhsalave1
192.168.1.187 cdhsalave2
192.168.1.188 cdhsalave3
2. 主机之间SSH免密码登录配置
生成SSH密钥:
1) 所有机器上执行下面命令,一路回车,可生成本机的rsa类型的密钥。
ssh-keygen -t rsa |
执行完之后在~/.ssh/目录下会生成一个保存有公钥的文件:id_rsa.pub
2) 在所有机器执行下面命令把自己的公钥拷贝到Master机
ssh-copy-id root@cdhmaster |
3) 把cdhmaster的authorized_keys拷贝到cdhsalave1、cdhsalave2、cdhsalave3
scp ~/.ssh/authorized_keys root@cdhsalave1:~/.ssh/ scp ~/.ssh/authorized_keys root@cdhsalave2:~/.ssh/ scp ~/.ssh/authorized_keys root@cdhsalave3:~/.ssh/ |
3. 安装JDK(所有节点)
1) 卸载旧版本JDK,命令如下:
rpm -qa | grep jdk //查找现有版本的Jdk rpm -e jdk名称 --nodeps //卸载现有的jdk |
2) 上传下载的jdk,安装命令如下:
rpm -ivh jdk-8u131-linux-x64.tar.gz |
3) rpm包并不需要自己来配置环境变量,只需要配置一个全局的 JAVA_HOME变量即可,执行命令:
echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment |
4. 安装mysql(主节点)
1) 检查机器是否已经安装mysql,卸载mysql
rpm -qa | grep -i mysql --查找已经安装的mysql rpm -e mysql名称 --nodeps --卸载mysql |
2) 创建目录,上传Percona-Server-5.1.56-rel12.7-224-Linux-x86_64.tar.gz.bz2安装文件 到主机新建的目录中,解压命令如下
mkdir /home/soft/mysql cd /home/soft/mysql tar -zxvf Percona-Server-5.1.56-rel12.7-224-Linux-x86_64.tar.gz.bz2 |
3) 添加组合用户,执行如下命令
mkdir /home/soft/mysql/data //mysql数据存放目录 groupadd mysql useradd -r -g mysql mysql chown -R mysql:mysql /home/soft/mysql |
4) 初始化数据表
cd /home/soft/mysql
./bin/mysql_install_db --user=mysql --basedir=/home/soft/mysql --datadir=/home/soft/mysql/data |
5) 设置mysql启动脚本
cp /home/soft/mysql/share/mysql/mysql.server /etc/init.d/mysqld # 拷贝启动文件到/etc/init.d/下并重命令为mysqld
chmod 755 /etc/init.d/mysqld # 增加执行权限
chkconfig --list mysqld # 检查自启动项列表中没有mysqld这个
chkconfig --add mysqld # 如果没有就添加mysqld
chkconfig mysqld on # 用这个命令设置开机启动 |
6) 修改启动脚本mysqld
vim /etc/init.d/mysqld ,修改basedir和datadir内容,如下: basedir=/home/soft/mysql datadir=/home/soft/mysql/data
vim /etc/my.cnf的datadir,修改如下 datadir=/home/soft/mysql/data |
7) 建立软连接
ln -s /home/soft/mysql/bin/mysql /usr/bin/ |
8) 启动mysql服务,并登陆
service mysqld start #启动数据库
/home/soft/mysql/bin/mysqladmin -u root password 'mysql_123' #设置root用户的密码
mysql -uroot -pmysql_123 #登陆数据库 |
9) 创建以下数据库
#hive create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#授权root用户在主节点拥有所有数据库的访问权限 grant all privileges on *.* to 'root'@'cdhmaster' identified by 'mysql_123' with grant option; flush privileges; |
5. 关闭防火墙和SELinux
1) 关闭防火墙:
service iptables stop (临时关闭) chkconfig iptables off (重启后生效) |
2) 关闭SELINUX:
setenforce 0 (临时生效) 修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效) |
6. 同步时间(所有主机)
vi /etc/ntp.conf,添加
server 192.168.1.248
7. Cloudera Manager安装
1) 上传cloudera-manager-el6-cm5.12.0_x86_64.tar.gz至主机,解压命令如下:
tar -xzvf cloudera-manager-el6-cm5.12.0_x86_64.tar.gz |
2) 下载mysql的jdbc驱动(mysql-connector-java-5.1.33-bin.jar)放到 /opt/cm-5.12.0/share/cmf/lib/和 /opt/cloudera/parcels/CDH-5.12.0-1.cdh5.12.0.p0.29/lib/hive/lib、/opt/cloudera/parcels/CDH-5.12.0-1.cdh5.12.0.p0.29/lib/oozie/lib、
/var/lib/oozie
中
3) 在主节点初始化CM5的数据库:
/opt/cm-5.12.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pmysql_123 --scm-host localhost scm scm scm |
4) 修改/opt/cm-5.1.3/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主 机名
vim /opt/cm-5.12.0/etc/cloudera-scm-agent/config.ini |
5) 同步Agent到其他节点
scp -r /opt/cm-5.12.0 root@cdhsalave1:/opt/ scp -r /opt/cm-5.12.0 root@cdhsalave2:/opt/ scp -r /opt/cm-5.12.0 root@cdhsalave3:/opt/ |
6) 在所有节点创建cloudera-scm用户
useradd --system --home=/opt/cm-5.12.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm |
7) 准备Parcels,用以安装CDH5
将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中
相关的文件如下:
CDH-5.12.0-1.cdh5.12.0.p0.29-el6.parcel CDH-5.12.0-1.cdh5.12.0.p0.29-el6.parcel.sha1 manifest.json |
将CDH-5.12.0-1.cdh5.12.0.p0.29-el6.parcel.sha1
重命名为CDH-5.12.0-1.cdh5.12.0.p0.29-el6.parcel.sha,这点必须注意,
否则,系统会重新下载CDH-5.12.0-1.cdh5.12.0.p0.29-el6.parcel文件。
cd /opt/cloudera/parcel-repo/ mv CDH-5.12.0-1.cdh5.12.0.p0.29-el6.parcel.sha1 CDH-5.12.0-1.cdh5.12.0.p0.29-el6.parcel.sha1 |
8) 启动脚本
/opt/cm-5.12.0/etc/init.d/cloudera-scm-server start //主机 /opt/cm-5.12.0/etc/init.d/cloudera-scm-agent start //所有节点 |
8. CDH5的安装配置
1) 打开http://主机IP:7180,默认用户名和密码都是admin
2) 勾选接受,点击继续
3)可以选择免费的,现在免费的也没有节点限制了
4)
5)
异常:FSNamesystem: Encountered exception loading fsimage
java.io.IOException: NameNode is not formatted.
解决办法:hadoop namenode -format
异常:java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster.
替换hdfs目录:
新建一个目录 mkdir -p /home/dfs (所有节点)
chown hadoop:hadoop -R /home/dfs
修改
/etc/hive/conf.cloudera.hive/hdfs-site.xml
/etc/hbase/conf.cloudera.hbase/hdfs-site.xml
/etc/hadoop/conf.cloudera.hdfs/hdfs-site.xml
/etc/hadoop/conf.cloudera.yarn/hdfs-site.xml
中dfs.namenode.name.dir的值
1. 格式化:hadoop namenode -format
2. su hdfs
hdfs dfs -chmod -R 777 /
hdfs dfs -chmod -R 777 /user