cdh 5.12.1 安装
目前还未成功,仅供个人记录。
【下载必备工具】当前系统为win7_x641、vmware虚拟机12.52、ubuntu16.04服务器版本3、windows下的ssh工具,采用git bash4、jdk安装包jdk-8u144-linux-x64.tar.gz5、mysql java驱动包 mysql-connector-java-5.1.44-bin.jar6、Cloudera Manager安装包 http://archive.cloudera.com/cm5/cm/5/cloudera-manager-xenial-cm5.12.1_amd64.tar.gz7、cdh 安装包,三个文件:CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel,CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel.sha1,manifest.json, http://archive.cloudera.com/cdh5/parcels/5.12.1.3/【注意事项】1、按默认路径安装,比如/opt2、各节点用户名和密码保持一致3、/opt/cm-5.12.1的文件名不要改,否则会重新下载cm4、hosts里的主机名必须小写,没有别名,没有重复IP5、最好用root操作6、该文档提到的7180网页是指namenode:7180网页7、jdk最好按照在默认路径/usr/java/jdk1.8.0-<version>,如果按照在自定义路径,则需要在7180网页上配置jdk路径【安装vmware虚拟机】按正常安装并注册即可。【虚拟机安装ubuntu16.04】虚拟机安装服务器版本16.04。【虚拟机网路适配】按默认的NAT连接模式。【安装vim】替代vi编辑器,必备$sudo apt-get install vim【设置host】$sudo vim /etc/hostname注释掉 127.0.1.1的映射,改为具体IP地址到host的映射,如192.168.211.131 namenode重启生效,$hostname 显示当前主机名其中,1、主节点hosts增加子节点的映射192.168.211.132 datanode1192.168.211.133 datanode2192.168.211.134 datanode3192.168.211.135 datanode42、子节点增加主节点的映射192.168.211.131 namenode3、修改windowns下的host映射,位于C:\Windows\System32\drivers\etc\hosts文件增加192.168.211.131 namenode192.168.211.132 datanode1192.168.211.133 datanode2192.168.211.134 datanode3192.168.211.135 datanode4【禁止IPv6】cdh只支持IPv4,不支持IPv6,并且要禁止IPv6$sudo vim /etc/sysctrl.conf 末尾增加内容:#IPv6 disablednet.ipv6.conf.all.disable_ipv6 = 1net.ipv6.conf.default.disable_ipv6 = 1net.ipv6.conf.lo.disable_ipv6 = 1【启用root账号】设置密码 $sudo su,$passwd设置允许远程root登录 $sudo vim /etc/ssh/sshd_configPermitRootLogin项 改为 yes【安装ping工具】服务器版已默认安装,如果没安装,安装即可:$sudo apt-get install net-tools【配置IP地址】需要固定IP地址,由于是虚拟机,略【安装ssh以及免登录】安装ssh,包括服务器端:$sudo apt-get install ssh免证书登录:A 想ssh无密码登录 B在A中生成公钥 #ssh-keygen -t rsa把公钥添加到B中 #ssh-copy-id root@B // root为用户名注意:需要配置namenode到所有datanode节点的ssh免登录,以及windows到namenode和所有datanode节点的ssh免登录【替换源】官方的源网络很慢,可以替换成国内源,比如阿里巴巴$ sudo vim /etc/apt/sources.list文件内容为:deb http://mirrors.aliyun.com/ubuntu/ xenial main restricteddeb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricteddeb http://mirrors.aliyun.com/ubuntu/ xenial universedeb http://mirrors.aliyun.com/ubuntu/ xenial-updates universedeb http://mirrors.aliyun.com/ubuntu/ xenial multiversedeb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiversedeb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu xenial-security main restricteddeb http://mirrors.aliyun.com/ubuntu xenial-security universedeb http://mirrors.aliyun.com/ubuntu xenial-security multiverse【关闭防火墙】默认防火墙处于关闭状态,查看防火墙状态$sudo ufw status【安装python2.7】$sudo apt-get install python通过 $python 测试安装结果【安装perl】$sudo apt-get install perl【安装iproute】5.12及以上版本需要安装iproute$sudo apt-get install iproute【同步时区】默认不是中国时区,需要设置安装更新时间工具 $sudo apt-get install ntpdate查看当前时区 $date -R设置中国时区(Shanghai) $sudo tzselect 一步步选择复制文件到/etc目录下 $sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime更新时间 $sudo ntpdate time.windows.com【设置共享目录】(可选)设置win主机与虚拟机共享目录ubuntu中安装VMware Tools,参考“http://www.cnblogs.com/ftrako/p/7654773.html”在虚拟机上设置共享文件夹,具体步骤网上搜索目标,在ubuntu中可以直接访问windows下的共享文件夹【安装java】假设安装包已存放到共享文件夹中创建安装目录 $sudo mkdir /usr/lib/jvm解压安装包 $sudo tar -zxvf /mnt/hgfs/SharedFiles/jdk-8u144-linux-x64.tar.gz -C /usr/lib/jvm/重命名 $sudo mv jdk1.8.0_144/ jdk添加环境变量 $sudo vim /etc/profileexport JAVA_HOME=/usr/lib/jvm/jdkexport JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$PATH环境变量生效 $source /etc/profile修改权限 $sudo chown -R chendajian /usr/lib/jvm/jdk/测试安装是否成功 $javac -version【集群时间同步】安装ntp $sudo apt-get install ntp // 主节点同步时间 $sudo ntpdate -u time.windows.com【解决Cloudera 建议将 /proc/sys/vm/swappiness 设置为最大值 10。当前设置为 60,所有节点】#echo 10 > /proc/sys/vm/swappiness主机重启,该值会恢复到默认值60【安装数据库驱动,仅主节点】假设mysql已安装在windows主机中。安装mysql客户端 $sudo apt-get install mysql-client-core-5.7安装mysql驱动 $sudo apt-get install libmysql-java测试登录 $mysql -h192.168.211.1 -P3306 -uchendajian -p123456 (h表示主机,P表示端口,u表示用户名,p表示密码)【CDH包拷贝,主节点】创建预设目录 $sudo mkdir /opt/cloudera$sudo mkdir /opt/cloudera/parcel-repo依次拷贝cdh包的三个文件到parcel-repo目录下$sudo cp /mnt/hgfs/SharedFiles/hadoopcdh/CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel /opt/cloudera/parcel-repo/$sudo cp /mnt/hgfs/SharedFiles/hadoopcdh/CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel.sha1 /opt/cloudera/parcel-repo/$sudo cp /mnt/hgfs/SharedFiles/hadoopcdh/manifest.json /opt/cloudera/parcel-repo/修改权限 $sudo chown -R chendajian /opt/clouderasha1改名,不然会重新下载$sudo mv /opt/cloudera/parcel-repo/CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.12.1-1.cdh5.12.1.p0.3-xenial.parcel.sha【CM安装,所有节点】解压cm包到/opt后注意修改权限添加mysql java jar包 $sudo cp /mnt/hgfs/SharedFiles/mysql-connector-java-5.1.44-bin.jar /opt/cm-5.12.1/share/cmf/lib修改成主节点名称 /opt/cm-5.12.1/etc/cloudera-scm-agent/config.ini, 设置server_host=namenode修改java路径 /opt/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh/opt/cm-5.12.1/share/cmf/bin/cmf-server备注:主节点配置好cm后,通过scp传到其它节点【初始化CM数据库,仅主节点】$sudo /opt/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -h192.168.211.1 -P3306 -uchendajian -p123456 --scm-host localhost root 123456说明:最后三个参数分别是 主机名 用户名 密码数据库连接配置文件位于 /etc/cloudera-scm-server/db.properties【解决DNS反向解析问题】网上暴力方法: #mv /usr/bin/host /usr/bin/host.bak【创建预设数据库】mysql中依次创建hive, activity,oozie,hue等数据库,参考代码:create database activity DEFAULT CHARSET utf8 COLLATE utf8_general_ci;【启动Cloudera Manager】agent需要等待server完全启动后才能启动主节点$sudo /opt/cm-5.12.1/etc/init.d/cloudera-scm-server start$sudo /opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start从节点$sudo /opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start当cloudera-scm-server、cloudera-scm-agent start启动成功之后,可通过http://主节点IP:7180来访问CM,用户名密码都为admin。剩下的就是一直点下一步和根据具体的需求来配置集群了。【配置】服务启动几分钟后,浏览器打开配置网页 http://namenode:7180用户名密码都为admin修改jdk路径CDH的jdk默认路径是/usr/java/xxxx,需要改为自定义的/usr/lib/jvm/jdk,在7180的网页配置的高级选项中找到java相关的配置修改。页面显示 Inspector did not run successfully.几种可能:1、IPv6没有禁止导致DNS反向查找失败2、可能是由于jdk路径没有识别问题集检查agent日志,发现 ERROR Error, CM server guid updated, expected 26e2c7d5-dd47-4368-811f-a7d1d13e1b9a, received 24171d15-06a4-43f1-b237-cb0e0540017解决办法:删除/opt/cm-5.12.1/lib/cloudera-scm-agent/cm_guid