|
cloudera manager
https://archive.cloudera.com/cm6/6.0.0/ cdh https://archive.cloudera.com/cdh6/6.0.0/
默认yum路径e17是 /var/cache/yum/x86_64/7/cloudera-manager/packages
一、主机环境设置 0、修改挂在磁盘目录 df -h lsblk lscpu free -g uname -a lsb_release -a
mkdir /app vi /etc/fstab 1、关闭防火墙 service iptables status chkconfig iptables off
(测试环境防火墙运维均已关闭) 2、关闭 SELinux cat /etc/selinux/config SELINUX=disabled
3、修改主机名 vi /etc/sysconfig/network
分别修改如下:
4、修改hosts映射 vi /etc/hosts
此时重启系统就可以了 5、设置ssh免密 -------------root免密
cloudera1上生产秘钥对
ssh-keygen -t rsa -P '' -f /root/.ssh/id_rsa cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
cloudera1、2、3上复制生产的秘钥 cd /root/.ssh vi /root/.ssh/authorized_keys
-------------appuser免密 su appuser ssh-keygen -t rsa -P '' -f /home/appuser/.ssh/id_rsa cat /home/appuser/.ssh/id_rsa.pub >> /home/appuser/.ssh/authorized_keys
cloudera1、2、3上复制生产的秘钥 su appuser cd /home/appuser/ chmod 700 ~/.ssh cd .ssh touch authorized_keys chmod 640 authorized_keys vi /home/appuser/.ssh/authorized_keys
mkdir /app/opt mkdir /app/opt/appuser chown -R appuser:appuser /app/opt/appuser
二、cdh部署 root/b1gd@te2017 cdhuser/cdhuser123!@# 1、时间同步配置(忽略运维已做好) mv /etc/yum.repos.d/ /etc/yum.repos yum install ntp chkconfig ntpd on chkconfig --list ntpd 2、部署cdh6 解压cm和MySQL驱动(忽略)
安装jdk 查看是否已有jdk并卸载 rpm -qa | grep jdk yum -y remove java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64 rpm的jdk所有包均卸载掉 rpm -qa | grep gcj yum -y remove java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64
--------------------------------------------------OSSCmMysql01-------------------------- 1、jdk rpm -ivh oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm
vi /etc/profile export JAVA_HOME=/usr/java/jdk1.8.0_141-cloudera export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=./:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
2、daemons rpm -ivh cloudera-manager-daemons-6.0.0-530873.e17.x86_64.rpm 3、server rpm -ivh cloudera-manager-server-6.0.0-530873.el7.x86_64.rpm (跳转执行第6步) rpm -ivh cloudera-manager-server-db-2-6.0.0-530873.e17.x86_64.rpm 4、agant 复制资源 cp /app/soft/cloudera-manager-agent-6.0.0-530873.el7.x86_64.rpm /var/cache/yum/x86_64/7/cloudera-manager/packages/ cp /app/soft/cloudera-manager.repo /etc/yum.repos.d/
检查 yum repolist all yum clean all 安装 yum -y install cloudera-manager-agent 5、 复制驱动 注意复制到目标路径之后要授权 chmod 777 mysql-connector-java-5.1.43-bin.jar mkdir -p /usr/share/java/ cp /app/soft/mysql-connector-java-5.1.43-bin.jar /opt/cloudera/cm/lib cp /app/soft/mysql-connector-java-5.1.43-bin.jar /usr/share/java/mysql-connector-java.jar
6、centos 7安装Python yum install centos-release-scl yum install scl-utils yum install python27 yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb postgresql* portmap mod_ssl openssl-devel python-psycopg2 MySQL-python
7、httpd yum install httpd(已经部署)
8、初始化cdh的元数据
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql bd_cmmetadata_db -h localhost -uroot -pdl2PA64i --scm-host localhost scm scm scm 9、修改serverhost为主节点主机名
vi /etc/cloudera-scm-agent/config.ini 添加 server_host=alicm.cloud.9ffox.com 复制agent 10、添加agent () 执行 cd /app/soft/ rpm -ivh oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm source /etc/profile java -version
cd /app/soft/ rpm -ivh cloudera-manager-daemons-6.0.0-530873.el7.x86_64.rpm yum -y install cloudera-manager-agent
cp /app/soft/cloudera-manager.repo /etc/yum.repos.d/ mkdir -p /usr/share/java/ cp /app/soft/mysql-connector-java-5.1.43-bin.jar /usr/share/java/
yum -y install cloudera-manager-agent
网络盘可在以上停止(执行以下) cp /app/soft/cloudera-manager-agent-6.0.0-530873.el7.x86_64.rpm /var/cache/yum/x86_64/7/cloudera-manager/packages/
11、在每个节点创建新用户(用yum不用创建) 主节点是 useradd --system --home=/var/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
--复制parcel包(sha1重名为sha) cd /app/opt/cloudera
sha1sum CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel | awk '{ print $1 }' > CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha cp CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha /opt/cloudera/parcel-repo cp CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel /opt/cloudera/parcel-repo cp manifest.json /opt/cloudera/parcel-repo
12、启动之前需要注意的细节
echo "JAVA_HOME=/usr/java/jdk1.8.0_141-cloudera" >> /etc/environment source /etc/environment cat /proc/sys/vm/swappiness echo 0 > /proc/sys/vm/swappiness source /proc/sys/vm/swappiness echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled
13、启动server和启动agent(用root启动) 主节点启动 service cloudera-scm-server restart 各个节点启动 service cloudera-scm-agent restart http://172.31.3.175:7180/登录并测试admin/admin
http://172.31.3.175:7180/cmf/home(映射访问) 修改之后密码是 http://jvcm.cloud.9ffox.com/cmf/login?logout 172.31.3.175:7180
admin admin
按照提示进行修改二进制本地安装包是 /app/cloudera/parcel-repo 添加本地安装目录是 /app/cloudera/parcels
修改密码admin/ivTm01ly 6、数据目录和日志目录 数据目录 /app/opt/cloudera/cloudera-data/zookeeper 日志目录 /app/opt/cloudera/cloudera-log/zookeeper 7、加载kafka至parcel中(添加额外parcels示例) a、关闭集群 b、复制文件 mv KAFKA-2.2.0-1.2.2.0.p0.68-el6.parcel.sha1 KAFKA-2.2.0-1.2.2.0.p0.68-el6.parcel.sha cp KAFKA-2.2.0-1.2.2.0.p0.68-el6.parcel.sha /mysql/opt/cloudera/cloudera/parcel-repo/ cp KAFKA-2.2.0-1.2.2.0.p0.68-el6.parcel /mysql/opt/cloudera/cloudera/parcel-repo/ 把kafka的驱动复制在 KAFKA-1.2.0.jar /mysql/opt/cloudera/cloudera/csd 把kafka的manifest.json复制在原先cdh的配置json中 c、启动集群并激活kafka的parcel切记启动cm之后再分配和激活 8安装hive的时候要把MySQL驱动cp在hive根目录的 chmod 777 mysql-connector-java-5.1.43-bin.jar auxlib和lib里 cp /app/soft/mysql-connector-java-5.1.43-bin.jar /usr/share/java/mysql-connector-java.jar
授权appuser操作hdfs的权限 hadoop fs -ls /user 切换用户
(如果不能su执行 usermod -s /bin/bash hdfs) su hdfs hadoop fs -ls /user hadoop fs -mkdir /user/appuser hadoop fs -chmod 777 /user/appuser hadoop fs -ls /user exit
9、部署spark 在服务 Spark 上执行命令 Deploy Client Configuration 失败 /app/opt/cloudera/cm-6.12.0/run/cloudera-scm-agent/process/ccdeploy_spark-conf_etcsparkconf.cloudera.spark_on_yarn_7681643532944931906/logs 发现重新部署客户端这个错误 Error: JAVA_HOME is not set and could not be found
解决方案是如下 创建java的软连接
cd /usr mkdir java ln -s /app/opt/java /usr/java/default
10、卸载时候先在cdh页面删除各个组件,然后删除fuw
lsof |grep cm-6 查看不能删除的文件 然后rm
11、oozie部署 需要吧mysql驱动复制在oozie的lib下和libext下面 cp /app/soft/mysql-connector-java-5.1.43-bin.jar /usr/share/java/mysql-connector-java.jar
12、hbase测试 create 'test', {NAME => 'f', VERSIONS => 1} put 'test','1','f:id','1'
put 'test','1','f:name','yg'
get 'test','1'
scan 'test'
12、启动hdfs时没启动来
./hadoop namenode -format
13、hdfs给hive授权 在cloudera manager启用high avalibility(使用/app/dfs/jnn) su hdfs hadoop fs -ls /user hadoop fs -mkdir /user/appuser hadoop fs -chmod 777 /user/appuser
cloudera manager 设置参数 修改hive元数据自动更新
14 kudu配置为满足impala-shell操作(impala-shell)
为 Tablet Server 启用 TLS/SSL(设置为启动) 为 Master 启用 TLS/SSL (设置为启动)
--Python插件(每台机器上都部署) yum install gcc python-devel yum install cyrus-sasl*
以下需要再扩容时注意
Service unavailable: Cannot initialize clock: Error reading clock. Clock considered unsynchronized
到kudu实例节点运行ntpstat 输出unsynchronised polling server every 64 s 发现节点未完成同步,
15、kafka监控
vim kafka-monitor-start.sh
java -Xms512M -Xmx512M -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m -cp KafkaOffsetMonitor-assembly-0.2.0.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb \ --port 8088 \ --zk cloudera24:2181,cloudera25:2182,cloudera26:2181 \ --refresh 10.seconds \ --retain 1.day >/dev/null 2>&1;
nohup ./kafka-monitor-start.sh &
16、kafka管理 (测试环境需外网访问设置)
advertised.host.name=cloudera5 listeners
./kafka-topics.sh --zookeeper web01:2181,web02:2181,web03:2181 --list ./kafka-topics.sh --create --zookeeper web01:2181,web02:2181,web03:2181 --replication-factor 3 --partitions 20 --topic dp_business_topic_pro ./kafka-topics.sh --create --zookeeper web01:2181,web02:2181,web03:2181 --replication-factor 3 --partitions 20 --topic dp_crawler_topic_pro ./kafka-topics.sh --create --zookeeper web01:2181,web02:2181,web03:2181 --replication-factor 3 --partitions 20 --topic dp_srcmysql_topic_pro ./kafka-topics.sh --create --zookeeper web01:2181,web02:2181,web03:2181 --replication-factor 3 --partitions 20 --topic test ./kafka-topics.sh --create --zookeeper web01:2181,web02:2181,web03:2181 --replication-factor 3 --partitions 20 --topic sf_intelligent_call
17、hue安装(Python和mysql插件)无需元数据 cp /app/soft/mysql-connector-java-5.1.43-bin.jar /usr/share/java/mysql-connector-java.jar
yum install libxml2-python yum install -y python-lxml
centos安装必要的库文件 yum install krb5-devel cyrus-sasl-gssapi cyrus-sasl-deve libxml2-devel libxslt-devel mysql mysql-devel openldap-devel python-devel python-simplejson sqlite-devel yum install cyrus-sasl-plain cyrus-sasl-devel cyrus-sasl-gssapi
在hbase添加线程角色 hbase server third
--安装python的prestosql的接口 yum -y install python-psycopg2 ln -s /usr/lib64/python2.7/site-packages/psycopg2 psycopg2
--安装http服务 yum install httpd yum install cyrus-sasl-plain cyrus-sasl-devel cyrus-sasl-gssapi hbase配置中启用 hbase.thrift.support.proxyuser hbase.regionserver.thrift.http hue配置中启用 将 Hue 服务器绑定到通配符地址勾选 登录的默认是admin/admin
18、impala 将 Impala Llama ApplicationMaster 绑定到通配符地址 将 选择zookeeper作为ha
--------------------------------------------------- 20、远程复制 scp -r /etc/hosts merry-12:/etc/ scp -r /etc/hosts merry-13:/etc/ scp -r /etc/hosts merry-14:/etc/ scp -r /etc/hosts merry-15:/etc/ scp -r /etc/hosts merry-16:/etc/ scp -r /etc/hosts merry-17:/etc/ scp -r /etc/hosts merry-18:/etc/ scp -r /etc/hosts merry-19:/etc/ scp -r /etc/hosts merry-20:/etc/ scp -r /etc/hosts merry-21:/etc/ scp -r /etc/hosts merry-22:/etc/ scp -r /etc/hosts merry-23:/etc/ scp -r /etc/hosts merry-24:/etc/ scp -r /etc/hosts merry-25:/etc/ scp -r /etc/hosts merry-26:/etc/ scp -r /etc/hosts merry-27:/etc/ scp -r /etc/hosts merry-28:/etc/ scp -r /etc/hosts merry-29:/etc/ scp -r /etc/hosts merry-30:/etc/ scp -r /etc/hosts merry-31:/etc/ scp -r /etc/hosts merry-32:/etc/ scp -r /etc/hosts merry-33:/etc/ scp -r /etc/hosts merry-34:/etc/ scp -r /etc/hosts merry-35:/etc/ scp -r /etc/hosts merry-36:/etc/ scp -r /etc/hosts merry-37:/etc/ scp -r /etc/hosts merry-38:/etc/ scp -r /etc/hosts merry-39:/etc/ scp -r /etc/hosts merry-40:/etc/ scp -r /etc/hosts merry-41:/etc/ scp -r /etc/hosts merry-42:/etc/ |