一、安装
1.1安装环境
1.1.1 java环境的配置
1.1.1.1查看已经安装的java (CRH5.1所支持的jdk版本1.8)
rpm -qa |grep java
1.1.1.2如果没有安装使用yum 安装
1.1.1.3配置环境变量
Vim /etc/profile.d/java.sh 添加java的安装路径 如下图:
1.1.1.4 刷新环境变量 查看配置是否生效
Source /etc/profile
1.1.2 关闭防火墙、selinux
1.1.2.1关闭防火墙
systemctl disable direwalld.service
systemctl stop direwalld.service
1.1.2.2关闭selinux
临时关闭使用 setenforce 0 (不需要重启机器)
永久关闭 vim /etc/selinux/config
1.1.3 修改主机名和IP地址的映射
Vim /etc/hosts
1.1.4 配置ssh免密码登录
1.1.4.1 生成密钥文件
ssh-keygen 连按几次Enter
1.1.4.2 将生成密钥拷贝给需要信任的主机
‘ssh-copy-id P9-CentOS74
1.2.本地源配置
1.2.1搭建http服务器
1.2.1.1 安装启动http
安装 yum install -y httpd
启动 systemctl start httpd.service
查看状态 systemctl status httpd.service
1.2.2拷贝源到本地目录 创建repo文件
1.2.2.1 将CRH5.1 ppc64le 的所有包拷贝到/var/www/html文件下
1.2.2.2 在/var/www/html/CRH5.1/ppc64le 执行createrpo ./ 生成repodata文件
1.2.2.3编辑/etc/yum.repos.d/ambari.repo文件添加一下内容
[redoop-crh5.1]
#Packages for Redoop's Distribution for Hadoop, Version 5, on RedHat or CentOS 7 ppc64le
name=Redoop's Distribution for Hadoop, Version 5.1
baseurl=http://192.*.*.*/CRH5.1/ppc64le
gpgcheck=0
enabaled=1
1.2.2.4 刷新所有源文件
Yum clean all
1.2.2.5 检验本地源是否成功
Yum search ambary-server
1.3.安装配置ambari
1.3.1安装ambari
1.3.1.1使用yum install -y ambary-server
1.3.2初始化ambari
1.3.2.1 ambari-server setup
1.3.3启动ambari-server
1.3.3.1 ambari-server start
1.3.4 访问8080端口进入管理界面
1.3.4.1在浏览器访问IP:8080
1.3.4.2 输入用户名和密码登录 (默认都为admin)
1.3.4.3点击向导输入系群名 点击下一步
1.3.4.4 集群安装向导:选择软件包
选择系统默认的软件包CRH5.1,选择OS为redhat7-ppc7,
路径为:/etc/yum.repo.d/ambary.repo配置路径
1.3.4.5填入主机名,复制主机秘钥,到输入框,注册主机
1.3.4.6 等待机器的安装与检测
1.4.Hadoop和zookeeper的安装
1.4.1安装hadoop和zookeeper
在选择服务中选择需要安装的服务
点击下一步
查看服务分配的主机
在此界面可以更改一些配置
经过引导界面等待 安装完成
二 Hadoop基本测试
2.1基本功能测试
2.1.1,hdfs put上传文件
2.1.1.1创建文件并插入数据
[root@P9-CentOS74 opt]# vim demo
2.1.1.2把创建好的文件上传至hdfs的/input目录下
hdfs dfs -put ./demo /input
2.1.1.3查看文件是否上传成功
hdfs dfs -ls /input
2.1.1.4 hdfs get 文件到本地
hdfs dfs -get /input/demo
2.1.2执行wordcount程序验证hadoop功能
2.1.3执行Hadoop TestDFSIO
2.1.3.1 Write
TestDFSIO write
TestDFSIO 用于测试hdfs的IO性能,使用一个mapReduce作业来并发的执行读写操作,每个map任务用于读或写每个文件,map的输出用于手机与处理文件相关的统计信息,Reduce用于累积和统计信息,并产生summary。
写入1个1000MB的文件:
yarn jar /usr/crh/5.1.2.6-1048/hadoop-mapreduce/hadoop-mapreduce-client-jobclient.jar TestDFSIO -write -nrFiles 1 -size 1000
写入5个1000MB的文件:
yarn jar /usr/crh/5.1.2.6-1048/hadoop-mapreduce/hadoop-mapreduce-client-jobclient.jar TestDFSIO -write -nrFiles 5 -size 1000
写入10个1000MB文件(可根据机器改变文件大小):
yarn jar /usr/crh/5.1.2.6-1048/hadoop-mapreduce/hadoop-mapreduce-client-jobclient.jar TestDFSIO -write -nrFiles 10 -size 1000
写入15个1000MB文件
yarn jar /usr/crh/5.1.2.6-1048/hadoop-mapreduce/hadoop-mapreduce-client-jobclient.jar TestDFSIO -write -nrFiles 15 -size 1000
写入20个1000MB文件
yarn jar /usr/crh/5.1.2.6-1048/hadoop-mapreduce/hadoop-mapreduce-client-jobclient.jar TestDFSIO -write -nrFiles 20 -size 1000
2.1.3.2 Read
读取1个1000MB的文件:
yarn jar /usr/crh/5.1.2.6-1048/hadoop-mapreduce/hadoop-mapreduce-client-jobclient.jar TestDFSIO -read -nrFiles 1 -size 1000
读取5个1000MB的文件
yarn jar /usr/crh/5.1.2.6-1048/hadoop-mapreduce/hadoop-mapreduce-client-jobclient.jar TestDFSIO -read -nrFiles 5 -size 1000
读取10个1000M的文件
yarn jar /usr/crh/5.1.2.6-1048/hadoop-mapreduce/hadoop-mapreduce-client-jobclient.jar TestDFSIO -read -nrFiles 10 -size 1000
!image](http://www.redhub.io/DOC/CRH/raw/master/CRH%e6%96%87%e6%a1%a3%e6%88%aa%e5%9b%be/power9/42.png)
读取15个1000M的文件
yarn jar /usr/crh/5.1.2.6-1048/hadoop-mapreduce/hadoop-mapreduce-client-jobclient.jar TestDFSIO -read -nrFiles 15 -size 1000
读取20个1000M的文件
yarn jar /usr/crh/5.1.2.6-1048/hadoop-mapreduce/hadoop-mapreduce-client-jobclient.jar TestDFSIO -read -nrFiles 20 -size 1000
2.1.3.3 Clean
清空测试数据
yarn jar /usr/crh/5.1.2.6-1048/hadoop-mapreduce/hadoop-mapreduce-client-jobclient.jar TestDFSIO -clean
2.2压力测试
2.2.1 nnbench测试
nnbench用于测试NameNode的负载,他会产生很多余HDFS相关的请求,给NameNode施加较大的压力。这个测试能在hdfs上模拟创建,读取,重命名和删除文件等操作。Nnbench的用法如下:
下面是使用12个mapper和6个Reduce来创建1000个文件
yarn jar /usr/crh/5.1.2.6-1048/hadoop-mapreduce/hadoop-mapreduce-client-jobclient.jar nnbench -operation create_write -maps 12 -reduces 6 -blockSize 1 -bytesToWrite 0 -numberOfFiles 1000 -replicationFactorPerFile 3 -readFileAfterOpen true -baseDir /benchmarks/NNBench-`hostname -s`
2.2.2mrbench测试
mrbench会多次重复一个小作业,用于检查在集群上小作业的是否可重复以及运行是否可高效,用法如下:
运行一个小作业一共50次
yarn jar /usr/crh/5.1.2.6-1048/hadoop-mapreduce/hadoop-mapreduce-client-jobclient.jar mrbench -numRuns 50
最终结果