0.1_hadoop安装(伪分布式)
因为打算学习简单的Hadoop相关知识所以,打算尝试安装伪分布式模式,在有一定了解之后再打算学习完全分布式的相关知识。
首先 在vmware虚拟机中 安装了Linux操作系统(CentOS 64位)
安装过程为以下几个步骤:
一、配置host文件
二、配置ssh免秘钥登录
三、下载并解压hadoop安装包
四、修改hadoop相关配置文件
七、格式化namenode
八、启动hadoop
九、用jps检验后台进程是否全部启动
十、通过网站查看集群情况
于是就开始了安装--------------------------
一、配置host文件
$ su root //进入root用户 获得权限 $ vim /etc/hosts // 修改 hosts文件,确定节点ip //在vim编辑中添加自己的ip 与用户名 192.168.1.132 LCloud //添加 自己的机器名 和 ip
顺便把静态ip 也一同配置了
$ vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 //最后这个网卡名根据自己情况修改 一般是 eht0
//在打开的 vim中 修改或添加4个地方
BOOTPROTO=static IPADDR=192.168.1.132 NETMASK=255.255.255.0 GATEWAY=192.168.1.1
保存后重启网卡
$ service network restart
关闭防火墙 $ chkconfig iptables off
------------------------
我使用了centos 7作为linux操作系统
CentOS 7.0默认使用的是firewall作为防火墙
systemctl start firewalld.service #启动firewall
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
也可以改成使用iptables:
systemctl start iptables.service
所以 centos 7 用户关闭 防火墙 则为
$ systemctl stop firewalld.service
如果不能ping通 域名 可以在/etc/resolv.conf 下添加 namserver 114.114.114.114
二、配置ssh 免秘钥登录
安装openssh-server
$yum install -y openssh-clients //Redhat系列Linux可以使用 我用的Centos
$ exit //退出root 用户 $ cd ~ //回到用户文件夹 $ mkdir .ssh //创建 .ssh 文件夹 $ ssh-keygen -t rsa //生成ssh秘钥 ,这里一直回车 $ cd .ssh // 进入.ssh 文件夹 $ cp id_rsa.pub authorized_keys //将公钥 拷贝 到认证文件 $ cd .. //回到主文件夹 $ chmod 700 .ssh //配置 .ssh 文件夹权限(ssh 访问 要求) $ chmod 600 .ssh/* //配置 .ssh下秘钥权限
测试登录
$ ssh cloud //登录自己 第一次需要密码 ,之后登录将 不需要密码(若还需要密码说明没有配置成功)
四、下载并解压hadoop安装包
在安装hadoop 之前 我们先将 java安装配置了
$ su //进入 root 用户 $ mkdir /usr/java 将下载好的 jdk 移动到 /usr/java , jdk 可以在http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载 $ mv jdk-8u60-linux-x64.tar.gz /usr/java $ cd /usr/java $ tar -zxvf jdk-8u60-linux-x64.tar.gz $ rm jdk-8u60-linux-x64.tar.gz //删除压缩文件 $ cd /etc/profile.d $ vim java.sh //创建java配置文件 在vim 下输入 #java_profile export JAVA_HOME=/usr/java/jdk1.8.0_60 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 保存并退出 $ source java.sh //使其立即生效 $ java -version //查看java版本号 如果与所安装相符 则成功
下面配置hadoop
与jdk 类似 首先在官网下载hadoop(注意hadoop1.0与hadoop2.0 发行版本间区别)这里我所使用的是hadoop2.5 ,附上官网下载链接http://hadoop.apache.org/releases.html#Download $ mv mv hadoop-2.5.2.tar.gz /usr/java //将安装包移动到/usr/java/下 $ cd /usr/java $ tar -zxvf hadoop-2.5.2.tar.gz //解压缩 $ rm hadoop-2.5.2.tar.gz //删除压缩包 $ chown -R cloud:cloud hadoop-2.5.2 //通过chown 将解压文件与其子文件 赋予cloud用户 cloud用户组 $ ls -l //查看用户权限 如果为以下 则成功 【drwxr-xr-x 9 cloud cloud 139 Nov 14 2014 hadoop-2.5.2】 $ mkdir -p /data/dfs/name //创建namenode 数据目录 $ mkdir -p /data/dfs/data // 创建datanode 数据目录 $ mkdir -p /data/tmp // 创建hadoop临时文件数据目录 $ chown -R cloud:cloud /data //将数据目录权限赋予 cloud用户
四、修改hadoop相关配置文件
$ cd /usr/java/hadoop-2.5.2/etc/hadoop //进入hadoop配置文件路径 $ vim core-site.xml //修改core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://LCloud:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/data/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
<property>
<name>dfs.http.address</name>
<value>50070</value>
</property>
</configuration>
$ vim hdfs-site.xml //修改hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/dfs/name</value>
<description>Determineswhere on the local filesystem the DFS name node should store the name table. Ifthis is a comma-delimited list of directories then the name table is replicatedin all of the directories, for redundancy. </description>
<final>true</final>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/dfs/data</value>
<description>Determineswhere on the local filesystem an DFS data node should store its blocks. If thisis a comma-delimited list of directories, then data will be stored in all nameddirectories, typically on different devices.Directories that do not exist areignored.
</description>
<final>true</final>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
$ vim mapred-site.xml //修改mapred-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
$ vim yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
$ vim slaves LCloud //将本机名加入 ,保存退出 vim /etc/profile.d/hadoop.sh export HADOOP_HOME=/usr/java/hadoop-2.5.2 export PATH=$HADOOP_HOME/bin:$PATH source /etc/profile.d/hadoop.sh
七、格式化namenode
$ hadoop namenode -format 没有报错既成功
八、启动hadoop
$ /usr/java/hadoop-2.5.2/sbin/start-all.sh
如果没有报错便是正常启动
九、用jps检验后台进程是否全部启动
$ jps
如果有以下 进程 则成功
[cloud@LCloud Desktop]$ jps
3280 NameNode
3745 SecondaryNameNode
3474 DataNode
3956 ResourceManager
4552 Jps
4061 NodeManager
十、通过网站查看集群情况
打开 浏览器 输入 192.168.1.132:8088
如果出现 正常ui 且 Active Nodes 为 1 时 说明伪分布集群开启成功(如果是完全分布式 则 为 对应节点数)
打开 浏览器 输入 192.168.1.132:50070
如果出现正常 ui 则说明 成功
浙公网安备 33010602011771号