测试环境CDH安装文档
环境信息
bigdata_node0110.8.108.219cdh
bigdata_node0210.8.108.220cdh
bigdata_node0310.8.108.221cdh
bigdata_node0410.8.108.222
bigdata_node0510.8.108.223
临时关闭掉防火墙
sudo systemctl stop firewalld
1、配置服务器免密
免密操作(要配置zhong用户的3台机器互相免密,以及root对其他机器的免密)
(1)进入目录
cd ~/.ssh
(2)生成公钥和私钥:
ssh-keygen -t rsa
然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
(3)将公钥拷贝到要免密登录的目标机器上
ssh-copy-id bigdata_node01
ssh-copy-id bigdata_node02
ssh-copy-id bigdata_node03
(4)直接ssh一下看是否配置成功
ssh bigdata_node01 不用输入密码就能登录就是成功了
2、安装jdk
1、上传,解压,改名字
jdk-8u212-linux-x64.tar.gz
[hadoop@bigdata_node01 software]$ tar -zxvf jdk-8u212-linux-x64.tar.gz -C /data/module/
2、配置环境变量
新建/etc/profile.d/bigdata_env.sh文件
sudo vim /etc/profile.d/bigdata_env.sh
#JAVA_HOME
export JAVA_HOME=/data/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
刷新环境变量
source /etc/profile.d/bigdata_env.sh
查看java版本
java -version
分发jdk8目录和自定义环境变量文件,然后在其他机器上刷新环境变量
不能分发就一个一个建,没有root权限就是悲哀
3、安装mysql
略
执行cdh建表脚本
##DROP DATABASE scm;
##DROP USER scm;
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm';
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'amon';
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'rman';
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'hue';
GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY 'hive';
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'sentry';
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'nav';
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'navms';
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';
GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
flush privileges;
4、安装CM
先把软件包给上传了
1、依次在所有agent节点下载第三方依赖(root权限)
sudo yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
2、添加软连接 (cdh的机器)
sudo mkdir /usr/java
sudo ln -s /data/module/jdk1.8.0_212/ /usr/java/default
3、添加用户 cloudera-scm
sudo useradd --system cloudera-scm
4、拷贝mysql驱动到/usr/share/java/
sudo mkdir /usr/share/java
sudo cp /data/software/mysql-connector-java-5.1.37.jar /usr/share/java/
sudo mv /usr/share/java/mysql-connector-java-5.1.37.jar /usr/share/java/mysql-connector-java.jar
5、安装 cloudera-manager-daemons (cdh的机器)
cd /data/software/cm/
sudo rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
6、安装cloudera-manager-agent (cdh机器)这里是离线安装,可能需要在线安装
服务器的hostname不能有下划线,否则agent无法启动
cd /data/software/cm/
sudo rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
sudo rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm --nodeps --force (上面的报错时强制安装)
安装后的目录是/etc/cloudera-scm-agent
配置文件
sudo cp /etc/cloudera-scm-agent/config.ini /etc/cloudera-scm-agent/config.ini.template
sudo vim /etc/cloudera-scm-agent/config.ini
6.2 配置了下环境变量 否则启动的时候回因为找到jdk而无法启动 (还是不知道这个干嘛了,可以不配做)
sudo JAVA_HOME=/data/module/jdk1.8.0_212/ /opt/cloudera/cm-agent/bin/certmanager setup --configure-services
7 、安装 cloudera-manager-server (主节点)
(a)安装命令
sudo rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
安装之后可以在/etc/cloudera-scm-server看到安装目录
离线安装目录/opt/cloudera/parcel-repo/
(b)拷贝cdh离线文件
把离线的cdh包放到/opt/cloudera/parcel-repo/
(c)配置元数据库
cd /etc/cloudera-scm-server/
cp db.properties db.properties.template
vim /etc/cloudera-scm-server/db.properties
# The database type
# Currently 'mysql', 'postgresql' and 'oracle' are valid databases.
com.cloudera.cmf.db.type=mysql
# The database host
# If a non standard port is needed, use 'hostname:port'
#com.cloudera.cmf.db.host=localhost
# The database name
#com.cloudera.cmf.db.name=cmf
# The database user
#com.cloudera.cmf.db.user=cmf
# The database user's password
#com.cloudera.cmf.db.password=
# The db setup type
# After fresh install it is set to INIT
# and will be changed post config.
# If scm-server uses Embedded DB then it is set to EMBEDDED
# If scm-server uses External DB then it is set to EXTERNAL
#com.cloudera.cmf.db.setupType=INIT
# 指定数据库类型为mysql
com.cloudera.cmf.db.type=mysql
# 指定数据库的地址以及端口号
com.cloudera.cmf.db.host=10.8.108.222:3306
# 指定CM数据库的名称
com.cloudera.cmf.db.name=scm
# 指定CM用户的用户名
com.cloudera.cmf.db.user=scm
# 指定CM用户的密码
com.cloudera.cmf.db.password=scm
# 指定数据库使用为外部数据库
com.cloudera.cmf.db.setupType=EXTERNAL
8、
安装httpd,CM的管理方式是通过Web请求访问管理的,因此需要在主节点上安装HTTP服务
(1)安装HTTP服务
yum -y install httpd
(2)启动http服务
service httpd start
(5)将 /opt/cloudera/parcel-repo 下的文件复制到 /var/www/html/cdh6_parcel/
mkdir -p /var/www/html/cdh6_parcel/
cp -r /opt/cloudera/parcel-repo/. /var/www/html/cdh6_parcel/
(6)访问http://10.8.108.219/cdh6_parcel/,可以看到下面信息
8、启动服务
(a)主节点启动server
sudo systemctl start cloudera-scm-server
sudo systemctl stop cloudera-scm-server
有点慢 等一下
查看端口是否被占用
netstat -anp | grep 7180
(b)其他节点启动agent
sudo systemctl start cloudera-scm-agent
sudo systemctl stop cloudera-scm-agent
(c)查看日志
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
tail -f /var/log/cloudera-scm-agent/cloudera-scm-agent.log
(d)web UI
http://10.8.108.219:7180/cmf/login
默认密码 admin admin
httpd目录就是 http://10.8.108.219/cdh6_parcel/
等等等还等
安装错了可以在XX/home上面把集群给删了
点击 验证
省略安装过程
安装完成后,要对配置进行优化
点击图中的[配置] 进行优化
退出安全模式
删除纠删码
https://www.cnblogs.com/gentlescholar/p/15100196.html
链接hive后可能遇到中文乱码的问题
因为hive 的 metastore 支持的字符集是 latin1,所以中文写入的时候会有编码问题,
(1)修改表字段注解和表注解
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
(2)修改分区字段注解
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8 ;alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;
(3)修改索引注解
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
(4)附赠jdbcurl:"jdbc:mysql://1xxxx:3306/bd-spider?useUnicode=true&characterEncoding=utf8
修改hdfsweiui的用户
https://blog.csdn.net/happy_sunshine_boy/article/details/115767678