Centos7 + Hadoop3.1.0 + Mahout环境搭建
一、 创建虚拟机
二、 网络环境配置
1、虚拟网络编辑器设置(更改子网IP与网关)
2、静态ip配置
vim /etc/sysconfig/network-scripts/ifcfg-ens33
更改BOOTPROTO为static,新增IPADDR、GATEWAY、NETMASK(与虚拟网络编辑器中保持一致)192.168.100
3、更改主机名称与网络名称
vim /etc/hosts
vim /etc/sysconfig/network
这里名称为bigdata1,bigdata2,bigdata3,实际名称可以变动。
4、关闭防火墙
systemctl stop firewalld.servic
systemctl disable firewalld.service
firewall-cmd –state
5、在windows配置(可选操作)
C:→Windows→system32→drivers→etc→hosts
若无法更改,为用户增加权限
三、连接Xshell
输入IP、root密码后连接
四、JDK安装(卸载)
1、查看
rpm -qa | grep java 或 rpm -qa | grep jdk
2、卸载
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
3、安装
在Xshell中拖入(或者使用rz命令)下载好的JDK(这里为jdk-8u45-linux-x64.tar.gz)
移动至/java目录(已创建好的),并解压
mv jdk-8u45-linux-x64.tar.gz /java
tar -zxvf /java/jdk-8u45-linux-x64.tar.gz
4、环境配置
vim /etc/profile
增加:
JAVA_HOME=/java/jdk1.8.0_45
JRE_HOME=/java/jdk1.8.0_45/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
五、克隆虚拟机
克隆虚拟机,配置网络环境更改IP,分别为192.168.100.12与192.168.100.13,名称为bigdata2与bigdata3。检查是否可以正确连接。
ping bigdata1
ping bigdata2
ping bigdata3
六、SSH免密登录
生成密钥:ssh-keygen -t sra
发送密钥:ssh-copy-id bigdata2 (bigdata3)
检验:ssh bigdata2 (bigdata3)
登出:logout
七、Hodoop安装与配置
1、下载hadoop压缩包(这里为hadoop-3.1.0.tar.gz),通过Xshell导入虚拟机,并解压(路径为/hadoop)(已创建目录)
tar -zxvf Hadoop-3.1.0.tar.gz
2、vim /etc/profile
增加:
export HADOOP_HOME=/hadoop/hadoop-3.1.0
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
3、cd /hadoop/hadoop-3.1.0/etc/hadoop
修改文件:
(1) core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/hadoop-3.1.0/tmp</value>
</property>
</configuration>
(2) hadoop-env.sh
export JAVA_HOME=/java/jdk1.8.0_45
(3) hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.http-address</name>
<value>bigdata1:50070</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/hadoop/hadoop-3.1.0/hdfs/name</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/hadoop/hadoop-3.1.0/hdfs/data/</value>
</property>
</configuration>
(4) mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
(5) yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>
<property>
<name>yarn.application.classpath</name>
<value>执行hadoop classpath 复制粘贴执行结果(可选,为解决程序运行问题)</value>
</property>
</configuration>
(6) workers(hadoop-3.0.0以下为slaves文件)
bigdata2
bigdata3
注:部分为实际路径或名称,注意更改
4、修改启动/关闭文件(hadoop3.0.0以上可能会遇到问题)
cd /hadoop/hadoop-3.1.0/sbin
(1) 为start-dfs.sh、stop-dfs.sh增加内容
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
(2)为start-yarn.sh、stop-yarn.sh增加内容
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
(3)为start-all.sh、stop-all.sh增加内容
TANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
5、发送hadoop文件至datanode
scp -r /hadoop/hadoop-3.1.0 bigdata2:/hadoop
scp -r /hadoop/hadoop-3.1.0 bigdata3:/hadoop
6、初始化
hadoop namenode -format
7、开启hadoop
cd /hadoop/hadoop-3.1.0/sbin
./start-all.sh
8、在namenode上输入JPS 命令查看进程
9、查看web界面
浏览器访问http://bigdata1:50070 和 http://bigdata2:8088/cluster
注:别用IE!! 别用IE!! 别用IE!!
八、Hadoop实例运行
1、新建wordcount.txt文件
vim wordcount.txt
随意输入文字作为测试数据
2、创建上传文件目录并查看创建的文件目录
bin/hadoop fs -mkdir -p /input
bin/hadoop fs -ls /
3、 将本地文件上传值HDFS
bin/hadoop fs -put wordcount.txt /input
bin/hadoop fs -ls /input
bin/hadoop fs -text /input/wordcount.txt
4、 运行案例
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0.jar wordcount /input /output
5、查看结果
hadoop fs -cat /output/part-r-00000
6、 删除目录
删除输入文件目录:bin/hadoop fs -rmr /test
删除输出文件目录:bin/hadoop fs -rmr /output
九、Spark环境搭建
1、下载Spark、Scala
scala-2.12.8.tgz
spark-2.4.0-bin-hadoop2.7.tgz
2、解压
3、Scala配置环境变量
vim /etc/profile
增加:
export SCALA_HOME=/scala-2.12.8`
export PATH=$PATH:$SCALA_HOME/bin
source /etc/profile
4、验证Scala
scala -version
5、 spark环境配置
vim /etc/profile
增加:
export SPARK_HOME=spark/scala-2.12
export PATH=$PATH:${SPARK_HOME}/bin
source /etc/profile
6、 启动Spark并验证
./sbin/start-all.sh
./sbin/spark-shell
Mahout(Linux版本)
一、 下载并上传jar包
二、 配置部署
1、 移动压缩文件至Hadoop目录并解压
mv apache-mahout-ditribution-0.13.0.tar.gz /Hadoop/Hadoop-3.1.0
tar -zxvf apache-mahout-ditribution-0.13.0.tar.gz
mv apache-mahout-ditribution-0.13.0.tar.gz mahout
2、 环境配置
export MAHOUT_HOME=/Hadoop/Hadoop-3.1.0/mahout
export MAHOUT_CONF_DIR=$MAHOUT_HOME/conf
export PATH=$PATH:$MAHOUT_HOME/bin
三、 验证安装
mahout –help
四、 程序运行
1、 启动Hadoop
2、 下载测试数据
在浏览器中输入: http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data
3、 在 hdfs 上创建 testdata 目录(封装程序规定目录必须为 testdata)以及输出结果路径
hadoop fs -mkdir -p /user/hadoop/testdata
hadoop fs -mkdir -p /user/hadoop/output
4、运行程序
hadoop jar mahout-examples-0.13.0-job.jar org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
5、利用mahout seqdumper命令写文件至result.txt
mahout seqdumper -i /user/root/output/data/part-m-00000 -o result.txt
Mahout + Windows + Eclipse环境搭建
一、 下载Eclipse
二、 安装maven插件
1、 选择Help→Install New Software
2、 点击Add按钮,然后输入Name和Location:http://download.eclipse.org/technology/m2e/releases
3、 安装完毕后,可通过Help > About Eclipse IDE > Installation Details确认已安装的插件。
三、 新建Maven工程
四、 Mahout配置
1、 下载并解压mahout(这里为0.11.2)
2、 右击已建成的项目 选择build path→configure build path。在Libraries选择Add External JARs,添加mahout的jar包。