1.准备三台服务器
2.分别修改机器节点的hostname和hosts为hadoop-master hadoop-slave1 hadoop-slave2
。
注意:修改hosts时候要将默认的解析删掉
127.0.0.1 localhost
# 10.0.0.81 ubuntu #默认这行一定要去掉,与下面的配置冲突,不然后面识别节点名称的时候会显示这个而不是hadoop-master
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
10.0.0.81 hadoop-master
10.0.0.82 hadoop-slave1
10.0.0.83 hadoop-slave2
3.安装jdk1.8
4.安装python2.7
sudo apt-get install python2.7
ln -s /usr/bin/python2.7 /usr/local/bin/python
4.1 验证hostname和fqdn
进入python
import socket; print socket.getfqdn(), socket.gethostbyname(socket.getfqdn())
4.1安装ntp
sudo apt-get update && sudo apt-get install ntp
ntpdate cn.pool.ntp.org 或者 sudo ntpdate 0.cn.pool.ntp.org && sudo hwclock --systohc && sudo hwclock --adjust
sudo service ntp start
watch ntpq -p #查看时差
cn.pool.ntp.org是位于中国的公共NTP服务器,用来同步你的时间。
5.关闭防火墙
iptables-save > /root/firewal.rules #保存防火墙的规则
service ufw stop #关闭防火墙
6.重启所有电脑
7.测试配置结果
ping hadoop-master
ping hadoop-slave1
ping hadoop-slave2
7.1 安装一堆乱七八糟的东西(之前没安装,在安装过程中报错)
apt-get install libmysqlclient-dev
# pip install mysql-python
apt-get install python-lxml
apt-get install apache2
8.ssh服务配置,达到节点集群互通
9.在hadoop-master
节点上安装Mysql
apt-get install mysql-server mysql-client
9.1安装几个lib包,以防万一集群设置-数据库设置中,Hue连接报错
apt-get install libmysqlclient-dev
# pip install mysql-python
apt-get install python-lxml
apt-get install apache2
10.离线安装Cloudera
10.1 准备文件下载 cloudera-manager-xenial-cm5.15.1_amd64.tar.gz
,CDH-5.15.1-1.cdh5.15.1.p0.4-xenial.parcel
,CDH-5.15.1-1.cdh5.15.1.p0.4-xenial.parcel.sha1
,manifest.json
下载地址:http://archive.cloudera.com/cdh5/cdh/5/
10.2创建目录结构
| --/opt
|--/cloudera
|--/parcels
|--/parcel-repo
|--/CDH-5.15.1-1.cdh5.15.1.p0.4-xenial.parcel
|--/CDH-5.15.1-1.cdh5.15.1.p0.4-xenial.parcel.sha
|--/manifest.json
|--/cm-5.15.1
10.3解压cm tar包
tar -zxf cloudera-manager-xenial-cm5.15.1_amd64.tar.gz -C /opt
10.4所有节点安装mysql-connector-java
包
apt-get install libmysql-java
10.5hadoop-master
节点软连接
ln -s /usr/share/java/mysql-connector-java.jar /opt/cm-5.15.1/share/cmf/lib/mysql-connector-java.jar
10.6hadoop-master
配置cm5
数据库
cd /opt/cm-5.15.1/share/cmf/schema
./scm_prepare_database.sh mysql -uroot -proot scm scm scm --force
10.7hadoop-master
修改配置server
vim /opt/cm-5.15.1/etc/cloudera-scm-agent/config.ini #打开config.ini文件
server_host=hadoop-master #修改server_host为hadoop-master
10.8将hadoop-master
复制到另外俩台节点上
scp -r /opt/cm-5.15.1 hadoop-slave1:/opt/
scp -r /opt/cm-5.15.1 hadoop-slave2:/opt/
10.9创建用户cloudera-scm
由于Cloudera Manager和Managed Services默认使用cloudera-scm,所以需要创建此用户
$ sudo useradd --system --home=/opt/cloudera-manager/cm-5.15.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
PS:这里卡了好久,因为没创建该用户,mgmt-cmf-mgmt-HOSTMONITOR-eqa-<hostname>.log
该文件一直没有,完全不知道为什么启动失败。
10.10hadoop-master
启动server
和agent
进程
cd /opt/cm-5.15.1/etc/init.d
./cloudera-scm-server start
./cloudera-scm-agent start
hadoop-slave[1-2]
节点上启动Agent进程
cd /opt/cm-5.15.1/etc/init.d
./cloudera-scm-agent start
10.11查看句柄数
ulimit -a
如果是1024,需修改
vi /etc/security/limits.conf
#追加
root soft nofile 65535
root hard nofile 65535
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
注意:我这边首次启动过会可能会挂,可以执行./cloudera-scm-agent status
查看agent
状态
11可视化集群配置
11.1登录http://hadoop-master/7180
,用户名和密码默认为admin。
11.2选择免费->选择集群机器(选择当前管理的主机)->选择集群安装方式(选择对应离线下载的版本)->分发Parcel到各个节点 ->检测安装环境->选择安装服务(选择核心Hadoop)->角色配置
11.3数据库配置
mysql -uroot -proot
#创建数据库
create database hive DEFAULT CHARSET utf8;
create database rman DEFAULT CHARSET utf8;
create database oozie DEFAULT CHARSET utf8;
create database hue DEFAULT CHARSET utf8;
#创建用户名
grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';
grant all on rman.* TO 'rman'@'%' IDENTIFIED BY 'rman';
grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';
grant all on hue.* TO 'hue'@'%' IDENTIFIED BY 'hue';
11.4进行安装
11.5安装成功
安装完后
- 修改各个主机的Java Home
主机 -> 选择主机 -> 配置(Java 主目录) -> /opt/jdk - 安装完后HDFS报错:
群集中有 745 个 副本不足的块 块。群集中共有 745 个块。百分比 副本不足的块...
修改hdfs权限:hadoop fs -chmod 777 /tmp
提示root无权限,切换到hdfs用户: su hdfs - 交换分区过于频繁,关闭交换分区
1.查看你的系统里面的swappiness
$ cat /proc/sys/vm/swappiness #不出意外的话,你应该看到是 60
$ sudo sysctl vm.swappiness=0 #修改swappiness值为0,但是这只是临时性的修改,在你重启系统后会恢复默认的60
$ sudo gedit /etc/sysctl.conf
#在这个文档的最后加上这样一行:
vm.swappiness=10
然后保存,重启
- 配置调优,Hbase的HBase RegionServer 的 Java 堆栈大小(字节)
50M
改成1G
安装Kafka初始启动OutOfMemoryError 参考:CDH5.11添加kafka服务及其初始启动OutOfMemoryError失败解决 - 配置调优,Kafka的Java Heap Size of Broker 的 Java 堆栈大小(字节)
50M
改成1G
网友评论