先将/etc/sysconfig/network-scripts/ifcfg-eno16777736下的
ONBOOT=no改为:ONBOOT=yes
重启服务 service network restart
用ip addr 方式查看
参考地址:https://www.cnblogs.com/hongdada/p/6666932.html
vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
#static assignment
NM_CONTROLLED=no #表示该接口将通过该配置文件进行设置,而不是通过网络管理器进行管理
ONBOOT=yes #开机启动
BOOTPROTO=static #静态IP
IPADDR=192.168.110.128 #本机地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.110.1 #默认网关
修改/etc/sysconfig/network
# Created by anaconda
NETWORKING=yes
GATEWAY=192.168.110.1
DNS1=119.29.29.29
DNS2=182.254.116.116
service network restart
确保有wget命令 没有的话yum install wget
首先我们将原来的源进行备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
接下来我们用阿里源进行替换:
wget -O/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
过程可能会很长,y输入然后一直继续。
至此,yum源更新完毕。
准备工作卸载系统自带OPEN-JDK(所有节点)
安装好的Centos系统有时会自动安装OpenJdk,用命令java -version查看:
复制代码
如有上述显示,说明系统里已经有OpenJdk,执行以下命令查看系统中有哪些OpenJdk相关包:
复制代码
其中有如下包必须卸载,根据系统版本不同,各个包版本号会有所差异: java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64 java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64 java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64 执行以下命令,卸载:
rpm -e --nodeps java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64安装JDK(所有节点)
上传jdk到新建目录下 mkdir /opt/softzip
解压: cd /opt/softzip
tar xzvf jdk-7u79-linux-x64.tar.gz -C /opt/
配置环境变量: vim /etc/profile
#jdk
export JAVA_HOME= /opt/jdk1.7.0_79
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
通过source /etc/profile更新,用java javac验证
vi /etc/hostname
去掉原来的,改为mster.hadoop,保存退出
输入hostname查看
修改完成
一般有两种防火墙,firewalld和iptables
Firewalld
查看防火墙状态: systemctl status firewalld.service
绿的running表示防火墙开启
执行关闭命令: systemctl stop firewalld.service
再次执行查看防火墙命令:systemctl status firewalld.service
执行开机禁用防火墙自启命令 : systemctl disable firewalld.service
Iptables
servcie iptables stop --临时关闭防火墙
chkconfig iptables off --永久关闭防火墙
service iptables status --查看防火墙状态
参考:https://blog.csdn.net/qq_38417808/article/details/81291588
1.rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm #下载
2.yum install yum-utils -y #装源
3.yum-config-manager --disable mysql56-community # 禁用MySQL5.6的源
4.yum-config-manager --enable mysql57-community-dmr # 启用MySQL5.7的源
5.yum repolist enabled | grep mysql
6.yum install mysql-community-server #安装mysql
到这里时有些会报一下错
错误显示:
软件包:mysql-community-server-5.7.20-1.el6.x86_64 (mysql57-community)
需要:libsasl2.so.2()(64bit)
您可以尝试添加 --skip-broken 选项来解决该问题
您可以尝试执行:rpm -Va --nofiles --nodigest
解决方法:
修改vim /etc/yum.repos.d/mysql-community.repo 源文件
[mysql57-community]
name=MySQL 5.7 Community Server
## baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
7.yum install mysql-community-server #再次安装mysql
8.systemctl start mysqld #启动mysql
9.systemctl status mysqld #查看mysql启动状态
6)查看root临时密码 grep 'temporary password' /var/log/mysqld.log
7)第一次登入 mysql -u root -p 输入上面的 root@localhost: t*QgC8kUKBk* 中的 t*QgC8kUKBk*
8)修改密码 alter user 'root'@'localhost' identified by 'Hadoop2!';
9)授权远程访问
grant all privileges on *.* to root@'%' identified by 'Hadoop2!' with grant option;
10)mysql 的几个重要目录
a)数据库目录 /var/lib/mysql/
b)配置文件 /usr/share/mysql (mysql.server命令及配置文件)
c)相关命令 /user/lib/(mysqladmin mysqldump等命令)
d)启动脚本 /etc/rc.d/init.d/ (启动脚本文件mysql的目录)
11)查看3306端口是否起来 netstat -nplt | grep 3306
修改mysql配置文件
默认位置:/etc/my.cnf
进入etc文件夹>>vim my.cnf
* 我的mysql没有[client]这个字段,首先添加上,在[client]段增加下面代码default-character-set=utf8(网上还有提到其他的设置语句,是以前的版本,现在不用了)
* 在[mysqld]段增加下面的代码
character-set-server=utf8
collation-server=utf8_general_ci
:wq! #保存退出
* service mysqld restart #重启MySQL
* 查看当前mysql运行状态
mysql>status
此时所有编码应该都是UTF-8
本次安装需要创建如下数据库(不包括Cloudera Manager的数据库,Cloudera Manager数据库有相关脚本创建,后面会有说明)
--hive数据库
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
--集群监控数据库
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
--hue数据库
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
复制代码
以上数据库,可能会根据安装组件的不同略有差别。 给用户授权(这里密码设为hadoop)
grant all on *.* to root@"%" Identified by "Hadoop2!";
解压cloudera-manager-centos7-cm5.10.0_x86_64.tar.gz
cd /opt/softzip
tar -zxvf cloudera-manager-centos7-cm5.10.0_x86_64.tar.gz -C ../
拷贝parcel
cd /opt/cloudera/parcel-repo
cp ../../softzip/CDH-5.10.0-1.cdh5.10.0.p0.41-el7.parcel ./
cp ../../softzip/CDH-5.10.0-1.cdh5.10.0.p0.41-el7.parcel.sha ./
配置scm账号 useradd --system --home-dir /opt/cm-5.10.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
将对应的mysql-connect*.jar上传到/opt/cm-5.10.0/share/cmf/lib/ 下
配置scm数据库:/opt/cm-5.10.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pHadoop2! --scm-host localhost scm Hadoop2!opt/cm-5.10.0/share/cmf/lib/
执行成功后会提示 全部完成后,您的SCM数据库配置正确!
启动
如果遇到/opt/cm-5.10.0/etc/init.d/cloudera-scm-server:行109: pstree: 未找到命令
原因:因为系统是最小化安装,默认没有安装
解决:安装psmisc # yum -y install psmisc
Caused by: java.net.UnknownHostException: master.hadoop
解决:配置映射 /etc/hosts
选择parcel时要注意对应/opt/cloudera/parcel-repo的版本
解决hue连不上Unexpected error. Unable to verify database connection.
https://www.cnblogs.com/pojishou/archive/2017/01/12/6267616.html
yum install -y python-lxml
因为只有一台服务器,所以需要设置dfs.replication为1
Hive和oozie时起不来的,需要配置jdbc的jar
cp /opt/cm-5.10.0/share/cmf/lib/mysql-connector-java-5.1.46-bin.jar /opt/cloudera/parcels/CDH-5.10.0-1.cdh5.10.0.p0.41/lib/hive/lib/
cp /opt/cm-5.10.0/share/cmf/lib/mysql-connector-java-5.1.46-bin.jar /opt/cloudera/parcels/CDH-5.10.0-1.cdh5.10.0.p0.41/lib/oozie/lib
cp /opt/cm-5.10.0/share/cmf/lib/mysql-connector-java-5.1.45.jar /var/lib/oozie/
hive的metastore报错:
javax.jdo.JDODataStoreException: Required table missing : "`VERSION`" in Catalog "" Schema "". DataNucleus requires this table to perform its persistence operations. Either your MetaData is incorrect, or you need to enable "datanucleus.autoCreateTables"
解决:
添加配置
Oozie报错:
REASON: org.apache.oozie.service.ServiceException: E0103: Could not load service classes, Cannot create PoolableConnectionFactory (Table 'oozie.VALIDATE_CONN' doesn't exist)
参考文档:https://blog.csdn.net/u013198788/article/details/83821802
9.添加kafka
下载对应parcel
添加服务
配置bootstrap
填写Destination Brokers List 若添加了Kafka MirrorMaker,则可填写其所在节点构成的列表,若未添加Kafka MirrorMaker,可填写任意服务器即可,如下:master.hadoop:9092 2填写Source Brokers List 填写Kafka Broker所在节点构成的列表(用逗号分隔),如下(我在所有节点部署了Kafka Broker)master.hadoop:9092
遇到异常:
whitelist must be specified when using new consumer in mirror maker.
查看Kafka Broker的stdout.log日志,发现:
# java.lang.OutOfMemoryError: Java heap space
# -XX:OnOutOfMemoryError="/opt/cm-5.10.0/lib64/cmf/service/common/killparent.sh"
# Executing /bin/sh -c "/opt/cm-5.10.0/lib64/cmf/service/common/killparent.sh"...
参考资料:https://blog.csdn.net/qq_28423433/article/details/80067009
原因:这是因为 Java Heap size of Broker这个选项默认配置是 50M ,需要将其修改成 256M 或者 更多,这里修改成 1G ,保存配置后,在启动kafka集群即可.
改为500M
Kafka MirrorMaker遇到错误:
whitelist must be specified when using new consumer in mirror maker
然后重启,kafka启动成功
10.phoenix
http://archive.apache.org/dist/phoenix/
根据maven配置,找4.9.0-cdh5.10.0
配置和hbase集成
cd /opt/apache-phoenix-4.9.0-HBase-1.2-bin/
p phoenix-4.9.0-HBase-1.2-server.jar /opt/cloudera/parcels/CDH-5.10.0-1.cdh5.10.0.p0.41/lib/hbase/lib/
hbase-site配置
保存更改,重启hbase服务
进入到phoenix的bin目录下
cd /opt/apache-phoenix-4.9.0-HBase-1.2-bin/bin
需要拷贝hbase-site到phoenix :cp /etc/hbase/conf/hbase-site.xml ./
进入控制台:./sqlline.py master.hadoop:2181
(后者为zookeeper服务)
启动有可能会遇到无响应,退出时如下:
Traceback (most recent call last):
File "./sqlline.py", line 27, in
import argparse
ImportError: No module named argparse
解决办法:yum install python-argparse -y
https://www.cnblogs.com/zlslch/p/7409852.html
最终解决:将cdh版本的server和core都拷贝到对应的/lib/hbase/lib下,重启hbase,连接成功(不需要改phoenix下的hbase-site.xml)
拷贝需要的jar到hive目录下
cd /opt/apache-phoenix-4.9.0-HBase-1.2-bin/
cp phoenix-hive-4.9.0-HBase-1.2.jar /etc/hive/auxlib/
cp phoenix-core-4.9.0-HBase-1.2.jar /etc/hive/auxlib/
cp phoenix-4.9.0-HBase-1.2-hive.jar /etc/hive/auxlib/