最近开始学习hadoop,边学边记录学习中遇到的问题。因为是心得不是教程,所以阅读的人应具备基本的Linux知识和vim使用,学习过程不写具体工具的使用,请自行百度。
基于centos7和jdk1.7,hadoop2.4.1的环境搭建(建议64位机子用我提供的2.3.0搭建,我用2.4.1遇到了些问题和警告)。
所有用到的资源已经分享出来,https://yunpan.cn/cYDuxbTUBYGSZ 访问密码 357a,学习视频我是参考的传智播客7天的,如有需要自行查找。
第一步:准备linux环境:
1、安装虚拟机、注册。如果网线连接可以设置桥接模式,没有的话设置主机模式。 我是用的桥接模式(相当于在局域网多了一台电脑)
2、安装centos-everthing,安装过程跳过。
3、修改主机名(非必须,建议) 命令 sudo hostnamectl --static set-hostname taoyu01 (taoyu01是我设置的主机名)
4、关闭firewall防火墙 ,7默认的是firewall防火墙
命令 systemctl stop firewalld.service 停止
systemctl disable firewalld.service 去除开机启动
firewall-cmd --state 查看状态是否是not running
5、配置主机对应关系(非必须,建议,本机windows机器可以通过主机名访问)
vim /etc/hosts 结尾增加 192.168.20.23 taoyu01 (前面是当前ip可以通过ifconfig查看,后面是刚才设置的主机名)
第二步:安装jdk和hadoop
1、下载jdk-7u79-linux-x64.tar.gz
2、打开SecureCRTSecureFX中文32-64中压缩包对应你的系统的CRT,连接linux。
3、命令 mkdir /usr/java mkdir /usr/hadoop 在usr目录下建立java和hadoop目录
4、用CRT的附带工具分别发送jdk和hadoop对应的tar.gz文件到分别建立的目录下
5、命令 tar -zxvf /usr/java/jdk-7u79-linux-x64.tar.gz
tar -zxvf /usr/hadoop/hadoop-2.4.1.tar.gz 完成jdk和hadoop的安装
第三步:配置环境变量
1、命令 vim /etc/profile 摁i进入插入模式,在最底部加入如下配置
export JAVA_HOME=/usr/java/jdk1.7.0_79
export HADOOP_HOME=/user/hadoop/hadoop-2.4.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
下面两个环境变量一般是hadoop不是和系统相对应版本时候要配置的,最好我建议比如64系统jdk和hadoop都装64的
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
摁ESC输入 :wq保存退出
2、 命令 source /etc/profile 刷新文件
3、输入java -version测试是否安装成功
第四步、修改hadoop配置文件
1、命令 cd /usr/hadoop/hadoop-2.4.1/etc/hadoop 进入到配置目录
2、vim hadoop-env.sh
更改export JAVA_HOME=/usr/java/jdk1.7.0_79 (其实原来是export JAVA_HOME=${JAVA_HOME} 我觉得不用改,不确定- -)
3、 vim core-site.xml
<configuration>
<!-- 配置NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://taoyu01:8888</value>
</property>
<!-- hadoop运行时产生文件的存储目录:不是临时文件 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/taoyu01/hadoop-2.4.1/tmp</value>
</property>
</configuration>
4、vim hdfs-site.xml
<configuration>
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
5、 mv mapred-site.xml.template mapred-site.xml 改名
vim mapred-site.xml
<configuration>
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
6、vim yarn-site.xml
<configuration>
<!-- ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>taoyu01</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
7、 格式化hadoop 的namenode
命令cd /usr/hadoop/hadoop-2.4.1/bin
命令 ./hdfs namenode -format
第五步、ssh免登陆
cd ~/.ssh 如果没有先建立一个 mkdir ~/.ssh
ssh-keygen -t rsa 一直回车
ssh-copy-id localhost 摁yes 输密码
第六步、验证完成并开启C:\WINDOWS\system32\drivers\etc
cd /usr/hadoop/hadoop-2.4.1/sbin
./start-all.sh 开启所有 会提示过时不建议,建议单独开启
查看jps类似如下
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode
谷歌浏览器 http://taoyu01:50070/ 如果采用主机名访问需要在windows下配置hosts映射C:\Windows\System32\drivers\etc 的hosts添加如下192.168.20.23 taoyu01
http://taoyu01:8088/ 访问MR