作者:河北东软大数据 0 所需安装包1. apt-get install openjdk-8-jdk #所有节点安装java 2. apt-get install mysql-server mysql-client #主节点安装mysql服务器&客户端 3. apt-get install mysql-client #从节点安装mysql客户端 4. apt-get install libmysql-java #所有节点 5. apt-get install python #所有节点 6. apt-get update #安装更新 7. apt-get install libmysqlclient-dev 8. apt-get install libxslt-dev 9. apt-get install apache2 在介绍具体的硬件、软件配置之前,需要强调一点,所有的命令都是在root用户下执行的。使用如下的命令可以切换到root用户: 1. sudo su 在教程中使用的编辑器是vim,如果没有安装,请使用下面的命令安装,并自行查找相关的使用资料。 1. apt-get install vim 1 硬件平台介绍集群总共包括三台服务器,一台主机两台从机,服务器名称和IP地址对应关系如下: hadoop-master 172.30.3.135 hadoop-slave1 172.30.3.136 hadoop-slave2 172.30.3.137 1.1 hostname、hosts和防火墙设置1.1.1 hostname设置首先设置所有节点的hostname,使用下面的命令: 1. vim /etc/hostname 将xx-PC类似的名字改成hadoop-master(主机)或者是hadoop-slave1、hadoop-slave2(从机)。 1.1.2 hosts配置修改所有节点的hosts配置,使用如下的命令: 1. vim /etc/hosts hosts文件修改后的内容如下所示: 1. 127.0.0.1 localhost 2. #127.0.0.1 xx-pc 这一行一定要删除掉,否则后面配置CDH的时候会有问题 3. 172.30.3.135 hadoop-master 4. 172.30.3.136 hadoop-slave1 5. 172.30.3.137 hadoop-slave2 6. #ipv6相关的配置不需要更改 1.1.3 关闭防火墙使用下面的命令关闭所有节点的防火墙: 1. iptables-save > /root/firewal.rules #保存防火墙的规则 2. service ufw stop #关闭防火墙 如果不关闭防火墙,在后续配置集群的时候主节点会无法检测到其他的节点。 在执行完上面的所有配置以后,重启所有节点。 1. ufw status #Status: inactive 2. reboot #重启服务器 1.1.4 测试配置结果依次在所有节点的终端上,执行下面的命令: 1. ping hadoop-master 2. ping hadoop-slave1 3. ping hadoop-slave2 如果都ping成功了,说明上面的配置就没有问题了。 1.2 ssh服务配置为了能够让机器远程ssh登录到root账号,需要进行两个配置:修改ssh的配置,允许远程登录到root用户;拷贝公钥。 1.2.1 修改ssh配置首先确认在所有的节点上都安装了ssh,测试的方法为在终端输入ssh会弹出提示信息,否则显 示没有这个可执行程序。 如果没有安装ssh,则使用下面的命令安装: 1. apt-get install openssh-* 然后使用下面的命令打开ssh配置: 1. vim /etc/ssh/sshd_config 修改ssh的root用户远程设置: 1. #PermitRootLogin prohibit-password #注释掉下面这一行,有时候为without-password 2. PermitRootLogin yes 退出vim并保存,重新启动ssh。 1. service ssh restart 1.2.2 生成并拷贝ssh公钥在所有的节点上,执行下面的命令生成ssh的公钥: 1. ssh-keygen -t rsa 上面的命令会在当前用户目录(也就是root用户)下生成.ssh文件,里面存放了公钥和私钥,需要将公钥添加到hadoop-master和hadoop-slave[1-2]上 1. ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop-master 2. ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop-slave1 3. ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop-slave2 上面的命令会将公钥添加到远程机器相同账号(root用户)的~/.ssh/authorized_keys文件夹中。 若以上方法失败,也可手动复制公钥,将/root/.ssh/id_rsa.pub复制到authorized_keys文件中。 【注意】在所有的机器上进行完上面的命令以后,再进行测试。 1.2.3 测试配置结果在终端下,输入下面的命令测试: 1. ssh hadoop-master #如果成功,请输入exit命令退出远程登录 2. ssh hadoop-slave1 #如果成功,请输入exit命令退出远程登录 3. ssh hadoop-slave2 #如果成功,请输入exit命令退出远程登录 ssh成功后,会进入到远程机器上,请使用exit命令退出远程登录再测试其他的机器。否则,会出现Access Denied的提示信息。 2 配置JDK环境和MySQL下面介绍Cloudera Manager的安装需要的java和MySQL环境配置。 2.1 JDK安装在Ubunt16.04上默认的jdk版本就已经够了,如果在系统上没有进行过修改, 输入java -version 命令应该就会直接显示java的版本。 1. apt-get install openjdk-8-jdk #所有节点安装java 2.2 安装MySQL在hadoop-master节点上,使用下面的命令安装MySQL 1. apt-get install mysql-server mysql-client #主节点安装mysql服务器&客户端 2. apt-get install mysql-client #从节点安装mysql客户端 3 部署Cloudera Manager为了安装Cloudera Manager,需要执行如下的几个步骤: 3.1 软件准备这个步骤只需要在hadoop-master上执行。 首先需要准备四个文件cloudera-manager-xenial-cm5.14.0_amd64.tar.gz,CDH-5.14.0-1.cdh5.14.0.p0.24-xenial.parcel,manifest.json和CDH-5.14.0-1.cdh5.14.0.p0.24-xenial.parcel.sha1文件。如果没有这四个文件,可以使用下面的命令安装: 1. # 默认下载在/root/backup文件夹下 2. mkdir -p /root/backup 3. cd /root/backup 4. # 下载cloudera-manager 5. wget -c http://archive.cloudera.com/cm5/cm/5/cloudera-manager-xenial-cm5.14.0_amd64.tar.gz 6. # 下载cdh的parcel文件 7. wget -c http://archive.cloudera.com/cdh5/parcels/latest/CDH-5.14.0-1.cdh5.14.0.p0.24-xenial.parcel 8. # 下载cdh的parcel.sha文件 9. wget -c http://archive.cloudera.com/cdh5/parcels/latest/CDH-5.14.0-1.cdh5.14.0.p0.24-xenial.parcel.sha1 10. # 下载manifest文件 11. wget -c http://archive.cloudera.com/cdh5/parcels/latest/manifest.json 12. 下载了四个文件以后,需要将CDH-5.14.0-1.cdh5.14.0.p0.24-xenial-parcel.sha1改名为CDH-5.14.0-1.cdh5.14.0.p0.24-xenial-parcel.sha,使用下面的命令 13. cd /root/backup 14. mv CDH-5.14.0-1.cdh5.14.0.p0.24-xenial-parcel.sha1 CDH-5.14.0-1.cdh5.14.0.p0.24-xenial-parcel.sha 然后建立如下所示的文件树: 1. | --/opt 2. |--/cloudera 3. |--/parcels 4. |--/parcel-repo 5. |--/CDH-5.14.0-1.cdh5.14.0.p0.24-xenial.parcel 6. |--/CDH-5.14.0-1.cdh5.14.0.p0.24-xenial.parcel.sha 7. |--/manifest.json 8. |--/cm-5.14.0 具体的操作命令如下: 1. cd /opt 2. mkdir cloudera #创建cloudera文件夹 3. cd cloudera 4. mkdir parcels #创建parcels文件夹 5. mkdir parcel-repo #创建parcel-rep文件夹 6. cd parcel-repo 7. cp /root/backup/* ./ #将三个文件拷打percel-repo文件夹下 8. tar -zxf cloudera-manager-xenial-cm5.14.0_amd64.tar.gz -C /opt #解压cm
3.2 为Cloudera Manager连接MySQL3.2.1 配置cm5数据库首先在所有节点上安装mysql-connector-java软件包: 1. apt-get install libmysql-java 在hadoop-master上链接mysql连接库到cm 加入mysql-connector-java-5.1.41-bin.jar 到下边指定位置 1. ln -s /usr/share/java/mysql-connector-java.jar /opt/cm-5.14.0/share/cmf/lib/mysql-connector-java.jar 在hadoop-master上配置cm5的数据库: 1. cd /opt/cm-5.14.0/share/cmf/schema ./scm_prepare_database.sh mysql -uroot -p123456 scm scm scm --force 在命令中加--force是为了防止重新配置时,因为scm数据库已经存在而终止执行命令。 3.2.2 配置Agent在hadoop-master上修改配置文件的server: 1. vim /opt/cm-5.14.0/etc/cloudera-scm-agent/config.ini #打开config.ini文件 2. server_host=hadoop-master #修改server_host为hadoop-master 将hadoop-master上的cm-5.14.0复制到其他的节点上: 1. scp -r /opt/cm-5.14.0 hadoop-slave1:/opt/ 2. scp -r /opt/cm-5.14.0 hadoop-slave2:/opt/ 3.2.3 启动Cloudera Manager的Server和Agent在hadoop-master节点上启动Server进程和Agent进程: 1. cd /opt/cm-5.14.0/etc/init.d 2. ./cloudera-scm-server start 3. ./cloudera-scm-agent start 在hadoop-slave[1-2]节点上启动Agent进程: 1. cd /opt/cm-5.14.0/etc/init.d 2. ./cloudera-scm-agent start 4 正式部署-可视化集群配置在等待Cloudera Manager Server和Agent启动完毕后,就可以使用CDH5的可视化界面了,在集群的机器上浏览器输入链接http://hadoop-master:7180,登录管理界面。如果访问失败,可能需要稍微等几十秒,不停的刷新浏览器。如果还是不行,可能是前面的配置有问题,请确认前面的配置没有错误。
如出现某个主机不能正常运行的警告,请安装apt-get install openjdk-8-jdk 。 如出现用户或组缺失的警告,在所有节点上创建用户和组。 1. groupadd cloudera-scm 2. useradd cloudera-scm -g cloudera-scm
1. mysql -uroot -p123456 2. #创建数据库 3. create database hive DEFAULT CHARSET utf8; 4. create database rman DEFAULT CHARSET utf8; 5. create database oozie DEFAULT CHARSET utf8; 6. create database hue DEFAULT CHARSET utf8; 7. #创建用户名 8. grant all on hive.* TO 'hive'@'%' IDENTIFIED BY '123456'; 9. grant all on rman.* TO rman@'%' IDENTIFIED BY '123456'; 10. grant all on oozie.* TO oozie@'%' IDENTIFIED BY '123456'; 11. grant all on hue.* TO 'hue'@'%' IDENTIFIED BY '123456'; 注意,上面的每一个命令后都会有分号,在输完一行命令以后都会在下面显示OK! 然后点击测试连接,如果测试失败,可以试试将hadoop-master改成localhost试试。 #No database server found running on host hadoop-master. 1. mysql -uroot -p123456 -h hadoop-master #访问不了 2. cd /etc/mysql/mysql.conf.d/ 3. vim mysqld.cnf 4. 注释掉 bind-address # Unexpected error. Unable to verify database connection. 安装 apt-get install libmysqlclient-dev apt-get install libxslt-dev
5 Sqoop相关事项【tips】1.安装时hive的mysql jar放在 /opt/cloudera/parcels/CDH-5.14.0-1.cdh5.14.0.p0.24/lib/hive/lib oozie的mysqljar放在/var/lib/oozie 2.tail -f cloudera-scm-server.log #动态查看日志 3.修改用户权限 1. su - hdfs 2. hadoop dfs -mkdir /user 3. hdfs dfs -chmod 777 /user 4. hdfs dfs -chmod 777 /tmp 4.使用sqoop迁移mysql表到hadoop平台,同时通过hue可视化工具查看查询该表 将ojdbc6.jar 复制到: 1. cd /opt/cloudera/parcels/CDH-5.14.0-1.cdh5.14.0.p0.24/lib/sqoop/ 6 kylin相关安装6.1 kylin软件下载社区版kylin下载地址:https://archive.apache.org/dist/kylin/ ,本次测试使用apache-kylin-2.3.1.tar.gz 6.2 配置安装kylin6.2.1 kylin 安装的环境配置1. tar -zxvf apache-kylin-2.3.1-cdh57-bin.tar.gz -C /usr/local/ 2. cd /usr/local/ 3. mv apache-kylin-2.3.1-bin/ kylin 4. vim /etc/profile 5. ----### kylin #### export KYLIN_HOME=/usr/local/kylin 6. PATH=$PATH:$HOME/bin:$KYLIN_HOME/bin 7. ---source /etc/profile 6.2.2 kylin的启动验证1. cd /usr/local/kylin/ 2. ./check-env.sh 1. su - hdfs 2. hdfs fs -chmod -R 777 / 1. #重新检测处理 2. cd /usr/local/kylin/ 3. ./check-env.sh 1. #启动kylin 2. ./kylin.sh start 默认用户名:ADMIN 密码:KYLIN 6.2.3 kylin 运行实例使用测试1. cd /usr/local/kylin/bin 2. ./sample.sh 1. #重启kylin 2. cd /usr/local/kylin/bin 3. ./kylin.sh stop 4. ./kylin.sh start impala的加载表: impala-shell -i "INVALIDATE METADATA" 单独刷新一张表: refrash + 表名 hive 的default库 当中多了几张kylin的表
这一步会比较耗时,因为这步会进行预计算,默认是MapReduce作业。
先运行简单的count,可以看到耗时4.12s,再次执行基本在0.5s级,基本是毫秒级别就可以查询出来,这是因为kylin 支持缓存的功能。
1. select sum(KYLIN_SALES.PRICE) 2. as price_sum,KYLIN_CATEGORY_GROUPINGS.META_CATEG_NAME,KYLIN_CATEGORY_GROUPINGS.CATEG_LVL2_NAME 3. from KYLIN_SALES inner join KYLIN_CATEGORY_GROUPINGS 4. on KYLIN_SALES.LEAF_CATEG_ID = KYLIN_CATEGORY_GROUPINGS.LEAF_CATEG_ID and 5. KYLIN_SALES.LSTG_SITE_ID = KYLIN_CATEGORY_GROUPINGS.SITE_ID 6. group by KYLIN_CATEGORY_GROUPINGS.META_CATEG_NAME,KYLIN_CATEGORY_GROUPINGS.CATEG_LVL2_NAME 7. order by KYLIN_CATEGORY_GROUPINGS.META_CATEG_NAME asc,KYLIN_CATEGORY_GROUPINGS.CATEG_LVL2_NAME desc 7 CDH5安装失败如何重新安装CDH安装失败的原因可能有以下原因: 1、机器内存不足,(server节点我用了6G,两个agent节点均是4G才安装成功)。 2、需要的mysql驱动文件没有拷贝到指定位置。 具体重新安装步骤如下: 停止agent服务19001 netstat -tunlp|grep 19001 一、删除cm库 1. mysql> drop database scm; 2. Query OK, 45 rows affected (1.69 sec) 二、删除agent节点相关信息 1. rm -rf /opt/cm-5.124.0/lib/cloudera-scm-agent/* 三、如果安装过程中agent节点产生了dd,dn数据,还需要将数据删除。 四、重新创建cm数据库 1. cd /opt/cm-5.14.0/share/cmf/schema ./scm_prepare_database.sh mysql -uroot -p123456 scm scm scm --force 五、分别启动cloudera-scm-server和cloudera-scm-agent。 到了这里,就可以通过浏览器进入http://node01:7180页面进行重新安装了。 ------------------------------------------------------------------------- 我们尊重原创,也注重分享,如若侵权请联系qter@qter.org。 ------------------------------------------------------------------------- |