您的位置:首页 > 运维架构 > Linux

CentOS7(64)环境下Hadoop2.6.0分布式部署说明

2016-05-10 17:33 399 查看

1,准备工作

1,部署CentOS 7.0(64位)环境;需配置静态IP地址。

1),设置虚拟机网络。

首先打开本机的”打开网络和共享中心”:



选择打开”本地连接”,并点击”属性”,勾选”允许其他网络用户通过此计算机的Internet连接来连接”,从下拉框中选择”VMware Network Adapter VMnet8”:



虚拟机菜单->编辑->虚拟网络编辑:选择WMnet8 (NAT模式)



设置静态IP地址,进入CentOS系统,打开”系统工具”->”设置”->”网络”,选择”手动”,输入IP地址,地址和网关参考上图的子网IP及网关设置。设置完毕之后,再开启就可以发现网络IP地址已经变为设置后的地址。



测试网络是否连通:



2),设置主机名。

在root下,打开/etc/hostname

改为namenode,保存。

2,Hadoop -2.6.0
下载,下载地址:

http://apache.fayea.com/hadoop/common/hadoop-2.6.0/

2,安装Java

1),搜索jdk开发环境

yum search jdk



2),安装jdk

yum install java-1.8.0-openjdk-devel.x86_64

3),检查是否安装成功

java -version



可以看见当前的jdk版本已经是”1.8.0_91”。表示已经安装成功。

3,安装Hadoop

1),将第一步下载的hadoop版本安装包上传至
/usr/local/ 文件夹,并解压。

cd /usr/local

gunzip hadoop-2.6.0.tar.gz

tar -xvf hadoop-2.6.0.tar

2),配置环境

打开 /etc/profile

在文件的最后位置,追加上如下配置:

#set java environment
export JAVA_HOME=/usr/lib/jvm/java
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export HADOOP_HOME=/usr/local/hadoop-2.6.0
export HADOOP_CONF_DIR=/usr/local/hadoop-2.6.0/etc/hadoop
export YARN_CONF_DIR=/usr/local/hadoop-2.6.0/etc/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

3),激活配置
source /etc/profile
4),创建hdfs相关目录

mkdir /home/hadoop/hd_space/tmp -p
mkdir /home/hadoop/hd_space/hdfs/name -p
mkdir /home/hadoop/hd_space/hdfs/data -p
mkdir /home/hadoop/hd_space/mapred/local -p
mkdir -p /home/hadoop/hd_space/mapred/system
chown -R hadoop:hadoop /home/hadoop/hd_space/
chown -R hadoop:hadoop /usr/local/hadoop-2.6.0

4,虚拟机克隆

1),选择菜单栏中的“虚拟机->管理->克隆”。选择”创建完整克隆”。





2),更改虚拟机的网卡
打开克隆虚拟机,“网络适配器”->“高级”如下图:



MAC
datanode1:
HWADDR=00:0C:29:10:EC:78
datanode2:
HWADDR=00:0C:29:10:EC:79
3),更改主机名主机ip配置

分别用root登录克隆的两台机器,打开并编辑/etc/hostname,分别输入 datanode1和datanode2。

打开/etc/sysconfig/network-scripts/ifcfg-eno16777756,修改相关内容:

datanode1:

HWADDR=00:0C:29:10:EC:78 IPADDR=192.168.128.111

datanode2:

HWADDR=00:0C:29:10:EC:79 IPADDR=192.168.128.112

4),重启3台虚拟机。

5,3台虚拟机建立互连

1),root登陆namenode,打开并编辑/etc/hosts,修改内容:

192.168.128.110 namenode

192.168.128.111 datanode1

192.168.128.112 datanode2

2),将修改后的文件,分别拷贝到datanode1和datanode2

在终端执行如下指令:

scp /etc/hosts
root@192.168.128.111:/etc/hosts

scp /etc/hosts
root@192.168.128.112:/etc/hosts

3),通过SSH建立互连

用hadoop分别登陆namenode、datanode1、datanode2。

ssh-keygen -t rsa 采用默认值3次回车。

在datanode1登录hadoop用户

scp /home/hadoop/.ssh/id_rsa.pub hadoop@namenode:/home/hadoop/.ssh/id_rsa.pub.datanode1

在datanode2登录hadoop用户

scp /home/hadoop/.ssh/id_rsa.pub hadoop@namenode:/home/hadoop/.ssh/id_rsa.pub.datanode2

在namenode登录hadoop用户

cd /home/hadoop/.ssh/

ll

cat id_rsa.pub >> authorized_keys

cat id_rsa.pub.datanode1 >> authorized_keys

cat id_rsa.pub.datanode2 >> authorized_keys

scp ~/.ssh/authorized_keys hadoop@datanode1:/home/hadoop/.ssh/authorized_keys

scp ~/.ssh/authorized_keys hadoop@datanode2:/home/hadoop/.ssh/authorized_keys

chmod 600 /home/hadoop/.ssh/authorized_keys

备注:无密码登陆,需要600权限(三台机器分别执行chmod 600 /home/hadoop/.ssh/authorized_keys )。

4),测试连通:

在namenode上分别执行:

ssh datanode1

ssh datanode2



在datanode1上执行ssh namenode
和 ssh datanode2



在datanode2一样参照上述命令进行验证。

6,Hadoop配置

修改路径 /usr/local/hadoop-2.5.2/etc/hadoop 下的配置文件。

1),编辑hadoop-env.sh

修改JAVA_HOME并保存 ”export JAVA_HOME=/usr/lib/jvm/java”



2),编辑yarn-env.sh

修改 JAVA_HOME并保存 export JAVA_HOME=/usr/lib/jvm/java



3),编辑core-site.xml

<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hd_space/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>

4),编辑hdfs-site.xml

<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/hd_space/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/hd_space/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>datanode1:50090</value>
</property>
<property>
<name>dfs.namenode.secondary.https-address</name>
<value>datanode1:50091</value>
</property>
5),编辑mapred-site.xml

<property>
<name>mapreduce.cluster.local.dir</name>
<value>/home/hadoop/hd_space/mapred/local</value>
</property>
<property>
<name>mapreduce.cluster.system.dir</name>
<value>/home/hadoop/hd_space/mapred/system</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>namenode:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>namenode:19888</value>
</property>
6),编辑yarn-site.xml

<property>
<description>The hostname of the RM.</description>
<name>yarn.resourcemanager.hostname</name>
<value>namenode</value>
</property>
<property>
<description>
the valid service name should only contain a-zA-Z0-9_ and can not start with numbers
</description>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

7),修改slaves

打开/usr/local/hadoop-2.6.0/etc/hadoop/slaves,将里面的localhost改为datanode1和datanode2

8),修改datanode1 和
datanode2的hadoop配置

将namenode修改的配置文件,拷贝到datanode1和datanode2

scp -r /usr/local/hadoop-2.6.0/etc/hadoop hadoop@datanode1:/usr/local/hadoop-2.6.0/etc
scp -r /usr/local/hadoop-2.6.0/etc/hadoop hadoop@datanode2:/usr/local/hadoop-2.6.0/etc

7,启动hadoop
1),格式化 执行命令 hdfs namenode -format。

初次运行,首先要进行格式化(一次就够)

2),启动dfs及yarn

执行如下指令 start-dfs.sh



执行如下指令 start-yarn.sh



或者直接执行 start-all.sh 效果和上述两个命令一样。相应的对应中止命令分别为

stop-dfs.sh

stop-yarn.sh

stop-all.sh

3),前台验证

http://192.168.128.110:50070/dfshealth.jsp

可以看到Live Nodes 个数为2



http://192.168.128.110:8088/cluster





4),检查进程

检查进程 :



5),检查日志文件

/usr/local/hadoop-2.6.0/logs

6),删除日志

rm -rf /usr/local/hadoop-2.6.0/logs/*.*
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: