共计 5087 个字符,预计需要花费 13 分钟才能阅读完成。
Hadoop-2.6.0 伪分布式单机安装傻瓜教程
一、安装前的准备,jdk-8u66-linux-x64.tar.gz(建分布式的时候会需要)、hadoop-2.6.0-x64.tar.gz
二、进入 root 用户,ifconfig 查看本机 ip,牢记本机 ip 地址;安装伪分布式的时候可以直接输入 yum -y install java* 即可自动下载安装并且配置好环境变量,
java -version 查看 java 是否配置成功;
但是在最后启动 hadoop 的时候一定不能忘记修改 JAVA_HOME 的具体地址,不然 namenode 会起不来,由于是直接 yum 安装的 java,所以配置 java 地址的时候就使 JAVA_HOME=/usr(我的用户名是 hadoop, 按说应该是 JAVA_HOME=/hadoop, 不知道为什么 /usr 也能启动 namenode 和 secondarynamenode);
三、在 root 用户下输入 hostname,查看主机名;hostname master 把主机名改为 master, 再 hostname 看是否修改成功,这种修改方式是 临时修改主机名,要想永久修改命令为 vi /etc/sysconfig/network(我在配伪分布式的时候两个命令都输了,把主机名永久修改为 master,但是最后 ssh 互信就是不成功,然后输入 vi /etc/hosts 在后面尝试加入 127.0.0.1 master、或者 192.168.197.134 master 都互信不了,就报错是主机名有问题,最后没办法有把主机名改回 localhost 才互信成功 … 不明白为啥建分布式的时候也是改为 master, 然后在 vi /etc/hosts 后加入 slave01 和 ip 的时候能互信成功,而且有的时候是用 hostname 改的,但下次启动虚拟机的时候仍然有效 …)
四、ssh 互信 hadoop 用户权限下
1. 在每个节点上建立密钥:ssh-keygen -t rsa
2. 把 id_rsa.pub 追加授权到 keys 里面去:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
修改权限 chmod 755 ~/.ssh/authorized_keys
3.ssh 主机名测试:ssh localhost 退出 exit
五、在 hadoop 用户下新建 hadoop 文件夹
1. su hadoop
2.mkdir hadoop cd hadoop
3.rz 导入 hadoop-2.6.0 压缩包。tar -xzf 解压缩,解完删除压缩包(rm -r)
4. 切换到 root 用户 修改 hadoop 环境变量,因为 java 是 yum 安装,因此只需要配置 hadoop 就行
vi /etc/profile
在 done 的后面加入
export HADOOP_HOME=/home/hadoop/hadoop/hadoop-2.6.0
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
5. 改完一定不要忘记 source 一下 ….
6. 进入 hadoop 用户修改配置文件,在~ 目录下,vim .bash_profile
HADOOP_HOME=/home/hadoop/hadoop/hadoop-2.6.0
PATH=/home/hadoop/hadoop/hadoop-2.6.0/bin:/home/hadoop/hadoop/hadoop-2.6.0/sbin:$PATH:$HOME/bin
HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
HADOOP_OPTS=”-Djava.librart.path=$HADOOP_HOME/lib”
export PATH HADOOP_HOME HADOOP_COMMON_LIB_NATIVE_DIR HADOOP_OPTS
7.source 使文件生效
8. 新建临时目录
mkdir tmp /hadoop/hadoop-2.6.0/tmp
chmod -R 755 /hadoop/cdhadoop-2.6.0/tmp
新建数据目录
mkdir /hadoop/hadoop-2.6.0/hdfs/data
新建元数据目录
mkdir /hadoop/hadoop-2.6.0/hdfs/name
设置访问权限
chmod -R 755 /hadoop/hadoop-2.6.0/hdfs
六、完全 分布式集群安装(伪分布的时候只需要修改 1,3 和 4)
1.hadoop-env.sh
-$JAVA_HOME
export JAVA_HOME=/usr
2.yarn-env.sh
-$JAVA_HOME
export JAVA_HOME=/usr
3.core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://主机名:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/hadoop-2.6.0/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
4.hdfs-site.xml
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hdfs://master:9005</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/hadoop/hadoop-2.6.0/hdfs/name</value>
</property>
<property>
<name>dfs.namenode.data.dir</name>
<value>file:/usr/hadoop/hadoop-2.6.0/hdfs/data</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
5.mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property> <name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:10021</value>
</property>
</configuration>
6.yarn-site.xml
<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.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property> <name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property> <name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
7. 格式化 namenode bin/hdfs-namenode -format
8. 启动 hadoop sbin/start-all.sh hadoop-2.6.0 和 hadoop- 1 的区别就是 2 需要分别启动
启动 hdfs
sbin/start-dfs.sh
检查 hadoop01 上的进程 name secondary
jps
启动 yarn
sbin/start-yarn.sh
检查 hadoop01 上的进程
10. 如果是完全分布式则修改 slaves
- 加入其它机器
slave01
slave02
停止服务
-stop-dfs.sh
-stop-yarn.sh
11. 若是完全分布式集群,在配置前记得关闭防火墙 …
列出所有服务:chkconfig
列出防火墙状态:service iptables status
关闭防火墙:chkconfig iptables off // 永久关闭
service iptables stop // 临时关闭
查看 selinux 状态:getenforce
关闭 selinux 状态:vi /etc/selinux/config
改为 SELINUX=disabled
hadoop 用户下:
ssh-copy-id -i hadoop@slave01
ssh-copy-id -i hadoop@slave01
每台机子分别发给其他机子(注意都要在 hadoop 用户下发送)
master:slave01,slave02
slave01:master,slave02
slave02:master,slave01
下面关于 Hadoop 的文章您也可能喜欢,不妨看看:
Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程 http://www.linuxidc.com/Linux/2015-02/113487.htm
CentOS 安装和配置 Hadoop2.2.0 http://www.linuxidc.com/Linux/2014-01/94685.htm
Ubuntu 14.04 LTS 下安装 Hadoop 1.2.1(伪分布模式)http://www.linuxidc.com/Linux/2016-09/135406.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
Hadoop 2.6.0 HA 高可用集群配置详解 http://www.linuxidc.com/Linux/2016-08/134180.htm
Spark 1.5、Hadoop 2.7 集群环境搭建 http://www.linuxidc.com/Linux/2016-09/135067.htm
更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-10/136099.htm