博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hadoop学习笔记: 安装配置Hadoop
阅读量:4574 次
发布时间:2019-06-08

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

安装前的一些环境配置:

1. 给用户添加sudo权限,输入su - 进入root账号,然后输入visudo,进入编辑模式,找到这一行:"root ALL=(ALL) ALL"在下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存退出

2. 将JDK压缩包解压到某一目录下tar -zxvf jdk-8u71-linux-x64.gz,并且配置JAVA_HOME以及HADOOP_HOME参数。用文本编辑器打开/etc/profile, 在profile文件末尾加入: 

export JAVA_HOME=/usr/local/jdk1.8.0_72export HADOOP_HOME=/usr/local/hadoop-2.7.2export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib:$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/nativeexport HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

3. 准备两台虚拟机,配置/etc/hosts,一台为hadoop001作为namenode以及datanode,一台hadoop002作为datanode。

配置SSH 参考 

在namenode上执行ssh-keygen -t rsa -P ""然后一直回车即可

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

然后将公钥scp到datanode上。

 

具体安装hadoop步骤:

1. 解压hadoop文件到某一目录下 tar -zxvf hadoop-2.7.2.tar.gz,修改解压后的目录中的文件夹etc/hadoop下的配置文件

(1) 将JDK路径添加到hadoop-env.sh中

export JAVA_HOME=/usr/local/jdk1.8.0_72

(2) 修改mapred-site.xml

mapreduce.framework.name
yarn

(3) 修改core-site.xml

fs.default.name
hdfs://hadoop001:9001

(4) 修改hdfs-site.xml

dfs.replication
1
dfs.namenode.name.dir
/usr/local/hadoop-2.7.2/dfs/name
dfs.datanode.data.dir
/usr/local/hadoop-2.7.2/dfs/data

(5) 修改yarn-site.xml

yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.hostname
hadoop001

(6) 把每个节点添加到slaves文件中

 

2. 在hadoop001上格式化namenode

hadoop namenode -format

3. 在hadoop001上输入以下命令启动namenode,datanode,resourcemanager

./hadoop-daemon.sh start namenode./hadoop-daemons.sh start datanode./start-yarn.sh

4. 在浏览器中访问hadoop001:50070查看HDFS情况,访问hadoop001:8088查看Yarn运行情况。

配置中遇到的问题:

在启动datanode时发现,在hadoop002上能看到datanode的进程,但是在hadoop001上输入hdfs dfsadmin -report只能看到一个livenode,原因是由于hadoop001上的防火墙问题,关闭防火墙后问题解决。

/etc/init.d/iptables stop #start 开启 #restart 重启

centos从7开始默认用的是firewalld,这个是基于iptables的,虽然有iptables的核心,但是iptables的服务是没安装的。所以你只要停止firewalld服务即可: 

sudo systemctl stop firewalld.servicesudo systemctl disable firewalld.service

如果你要改用iptables的话,需要安装iptables服务: 

sudo yum install iptables-services sudo systemctl enable iptablessudo systemctl enable ip6tables sudo systemctl start iptablessudo systemctl start ip6tables

 

转载于:https://www.cnblogs.com/finalboss1987/p/5163722.html

你可能感兴趣的文章
四平方和
查看>>
第十八周 12.27-1.2
查看>>
C# IP地址字符串和数值转换
查看>>
TCHAR和CHAR类型的互转
查看>>
常用界面布局
查看>>
C语言—— for 循环
查看>>
IBM lotus9.0测试版即将公测
查看>>
xml常用方法
查看>>
Cube Stacking(并差集深度+结点个数)
查看>>
AndroidStudio3更改包名失败
查看>>
jq 删除数组中的元素
查看>>
js URL中文传参乱码
查看>>
Leetcode 367. Valid Perfect Square
查看>>
UVALive 3635 Pie(二分法)
查看>>
win系统查看自己电脑IP
查看>>
Backup&recovery备份和还原 mysql
查看>>
一道面试题及扩展
查看>>
Unity 3D 我来了
查看>>
setup elk with docker-compose
查看>>
C++ GUI Qt4学习笔记03
查看>>