博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hadoop环境搭建以及试跑MapReduce作业
阅读量:4281 次
发布时间:2019-05-27

本文共 5429 字,大约阅读时间需要 18 分钟。

Hadoop环境搭建以及试跑MapReduce作业

一:安装JDK

1.查看

java -version

查看当前系统自带的open jdk版本信息

2.删除

rpm -qa | grep java

查看包含java字符串的文件,其中删除类似下面这四个文件(不一定是四个)

java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64

包含noarch的文件不必删除,如下:

python-javapackages-3.4.1-11.el7.noarchtzdata-java-2016g-2.el7.noarchjavapackages-tools-3.4.1-11.el7.noarch

3.删除的具体命令如下:

rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64

执行完以上步骤后可以再次使用java -version查看是否已经删除成功。

4.下载JDK

http://www.oracle.com/technetwork/java/javase/downloads/index.html

5.安装

解压到/usr/java

tar -zxvf jdk-8u191-linux-x64.tar.gz

配置环境变量

vi /etc/profile

最后一行

#java environmentexport JAVA_HOME=/usr/java/jdk1.8.0_191export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jarexport PATH=$PATH:${JAVA_HOME}/bin

让环境变量生效

source /etc/profilejava -version 检查是否成功

二:安装Hadoop

下载安装包

http://apache.claz.org/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz
解压到usr/local/

tar -zxvf hadoop-3.1.1.tar.gz

重命名

mkdir hadoopmv hadoop-3.1.1/* hadoop/

环境变量配置

vi /etc/profile.d/hadoop.sh# set the hadoop homeexport HADOOP_HOME="/usr/local/hadoop"export HADOOP_MAPRED_HOME="/usr/local/hadoop"export HADOOP_PID_DIR="${HADOOP_HOME}/pids"export YARN_PID_DIR=${HADOOP_PID_DIR}# set hadoop log direxport HADOOP_LOG_DIR="/data/bigdata/log/hadoop-hdfs"export YARN_LOG_DIR="/data/bigdata/log/hadoop-yarn"export HADOOP_MAPRED_LOG_DIR="/data/bigdata/log/hadoop-mapred"if [[ -n $HADOOP_HOME ]]; then  export PATH=$HADOOP_HOME/bin:$PATH  export PATH=$HADOOP_HOME/sbin:$PATHfi

让环境变量生效

source /etc/profilehadoop -version 检查是否成功

创建用户组和用户

sudo groupadd hadoopsudo useradd -G hadoop hduser

创建日志文件夹

mkdir -p /data/bigdata/logchown hduser /data/bigdata/log -R

设置密码

passwd hduser123456

修改配置文件

修改core-site.xml

fs.defaultFS
hdfs://master:9000
hadoop.proxyuser.hadoop.hosts
*
hadoop.proxyuser.hadoop.groups
hadoop

修改mapred-site.xml

mapreduce.framework.name
yarn
yarn.app.mapreduce.am.env
HADOOP_MAPRED_HOME=/usr/local/hadoop
mapreduce.map.env
HADOOP_MAPRED_HOME=/usr/local/hadoop
mapreduce.reduce.env
HADOOP_MAPRED_HOME=/usr/local/hadoop

修改yarn-site.xml

yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.hostname
master
yarn.nodemanager.resource.memory-mb
2048
yarn.nodemanager.resource.cpu-vcores
1
yarn.web-proxy.address
master:9001

修改hdfs-site.xml

dfs.namenode.http-address
master:50070

配置/hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_191 export HADOOP_HOME=/usr/local/hadoop

格式化hdfs

./hadoop namenode -format

配置1

$ vi sbin/start-dfs.sh$ vi sbin/stop-dfs.sh

两处增加以下内容

HDFS_DATANODE_USER=rootHADOOP_SECURE_DN_USER=hdfsHDFS_NAMENODE_USER=rootHDFS_SECONDARYNAMENODE_USER=root

配置2

$ vi sbin/start-yarn.sh$ vi sbin/stop-yarn.sh

两处增加以下内容

YARN_RESOURCEMANAGER_USER=rootHADOOP_SECURE_DN_USER=yarnYARN_NODEMANAGER_USER=rootYARN_PROXYSERVER_USER=root

SSH免密码登录配置

vi /etc/hosts192.168.1.30 master192.168.1.31 node1192.168.1.32 node2

1、生成公钥和私钥

在主节点中,执行:

ssh-keygen -trsa

然后,不断的按回车键。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keys

2、将公钥复制到其他node(node复制到master同理)

scp ~/.ssh/authorized_keys root@node1:~/.ssh/scp ~/.ssh/authorized_keys root@node2:~/.ssh/scp ~/.ssh/authorized_keys root@master:~/.ssh/

一切准备就绪,可以启动了

./start-all.sh

MapReduce实验

源码的百度云地址:/s/1o6EbAUQ

//引入使用到的依赖export CLASSPATH="$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-3.1.1.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-common-3.1.1.jar:$HADOOP_HOME/share/hadoop/common/hadoop-common-3.1.1.jar:~/MapReduceTutorial/SalesCountry/*:$HADOOP_HOME/lib/*"//编译javac -d . SalesMapper.java SalesCountryReducer.java SalesCountryDriver.java //设置程序入口vi Manifest.txtMain-Class: SalesCountry.SalesCountryDriver      //打包$JAVA_HOME/bin/jar cfm ProductSalePerCountry.jar Manifest.txt SalesCountry/*.class//拷贝数据源到hdfs$HADOOP_HOME/bin/hdfs dfs -copyFromLocal Sales2014.csv ///运行作业$HADOOP_HOME/bin/hadoop jar ProductSalePerCountry.jar /Sales2014.csv /mapreduce_output_sales

集群查看界面

http://master:8088

hdfs管理界面

http://master:50070

如果50070访问不了,可能是namenode启动失败了,需要重新格式化HDFS

$HADOOP_HOME/bin/hadoop namenode -format
再重启应该就可以了。

详细见《》

Datanode启动不了,需要保持ClusterID一致。

将name/current目录中VERSION的ClusterID复制到data/current目录中VERSION的ClusterID即可。

Datanode启动命令:$HADOOP_HOME/bin/hdfs --daemon start datanode

详细见《》

转载地址:http://xnbgi.baihongyu.com/

你可能感兴趣的文章
Idea技巧:快速定位某个类的文件在哪个包下面
查看>>
Hbase建表报错:java.io.IOException: Failed to get result within timeout
查看>>
Hadoop远程调试删除文件报错:org.apache.hadoop.security.AccessControlException: Permission denied: user=
查看>>
(转)@Override is not allowed when implementing interface method
查看>>
kafka消费者报错:Consider using the new consumer by passing [bootstrap-server] instead of [zookeeper].
查看>>
(转)Spark与Hadoop的shuffle的异同
查看>>
(转)Redis 持久化之RDB和AOF
查看>>
Redis创建集群报错:[ERR] Sorry, can't connect to node 192.168.0.9:6380
查看>>
Redis(4):集群搭建和java连接
查看>>
pom报错:Element' dependency' cannot have character [ children], because the type's content type is e
查看>>
(转)面试必备:HashMap、Hashtable、ConcurrentHashMap的原理与区别
查看>>
CDH5.15.2替换JDK1.7到1.8
查看>>
JAVA多线程(9):多线程依次打印ABC
查看>>
(转)github在git push之后不记录Contributions
查看>>
(转)IDEA导入Git项目后无Git选项
查看>>
Tomcat的GC优化实践
查看>>
idea多模块项目间通过配置pom.xml相互引用
查看>>
(转)MYSQL如何设置大小写敏感
查看>>
SpringBoot单元测试,无法导入@RunWith
查看>>
(转)hbase balance命令走过的坑
查看>>