hadoop环境搭建

来源:互联网 发布:淘宝微淘怎么开通 编辑:程序博客网 时间:2024/06/05 08:51

一、整体环境:

Hadoop 2.0.0-cdh4.5.0

Java version "1.7.0_45"

centos 7 (软件源仓库可选用阿里云 http://mirrors.aliyun.com/repo/ 163)

VMware虚拟机3台:(实际ip根据网关来定)

192.168.0.8     master

192.168.0.9     slave1

192.168.0.10     slave2

所有机器用同一用户名(也可另建新用户)

 

二、虚拟机下配置

vm编辑-虚拟网络编辑-选择vmnet8可看默认网关

Ø  配置静态IP

Ø  配置/etc/hosts(本机dns,文件添加所有集群机器的ip 名称可方便ssh操作)

Ø  配置/etc/hostname

Ø  安装JDK

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

HWADDR=00:26:18:0B:38:C0

ONBOOT=yes

IPADDR=192.168.0.20//设置的ip

NETMASK=255.255.255.0

GATEWAY=192.168.0.1

IP生效:

ifdown eth0

ifup eth0

 

hostname修改

vim /etc/sysconfig/network

NETWORKING=yes#使用网络

HOSTNAME=master#设置主机名称(机器名称)

 

配置DNS:

vi /etc/resolv.conf

nameserver 202.96.134.133

命令:Source /etc/resolv.conf修改信息生效

 

[如果使用的是域名,需要在所有机器上修改hostnamehosts

hostname修改:/etc/sysconfig/networkHOSTNAME=域名

hosts修改:/etc/hostsip 域名]

 

安装jdk

1)、将jdk.tar.gz解压到/et/local/:tar zxvf jdk.tar.gz
2)
、配置java环境变量,/etc/profile中添加:
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=/usr/local/jdk/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin
3)
、使环境变量有效:source /etc/profile
4)
、测试jdk安装是否成功:java -version

ssh免密码登陆

1)所有节点:创建空密码登陆,在家目录或根目录.ssh文件夹下生成id_rsaid_rsa.pub文件:ssh-keygen t rsa P '' 

2)slave1:scp authorized_keys root@master:~/.ssh/temp1

slave2:scp authorized_keys root@master:~/.ssh/temp2

Master:cat temp1 >> authorized_keys

cat temp2 >> authorized_keys

rm temp1

rm temp2

scp authorized_keys root@slave1:~/.ssh/

scp authorized_keys root@slave2:~/.ssh/

 

[特别注意]如果没有修改hostname,将id_rsa.pub中的localhost修改为ip,否则在authorized_keys中全部是localhost]
[
特别注意]修改authorized_keys文件的权限为600chmod 600 ~/.ssh/authorized_keys

3)所有root用户系统配置  /etc/ssh/sshd_config  文件

sudo vi sshd_config

在文件中找到以下几行

RSAAuthentication yes

PubkeyAuthentication yes

#AuthorizedKeysFile%h/.ssh/authorized_keys

#去掉即可,系统就能通过authorized_keys来识别公钥了

 

运行 ps -e | grep ssh,查看是否有sshd进程

如果没有,说明server没启动,通过 /etc/init.d/ssh -start 启动server进程

如果提示ssh不存在那么就是没安装server

 

4)root用户重启sshdservice sshd restart(或systemctl restart sshd.service  

5解决 Agentadmitted failure to sign using the key

如果出现该错误,则需要在所有的节点都执行   ssh-add   ~/.ssh/id_rsa   将私钥加入ssh

可随时用scp (-r) 本地url @slave1:目的url来传送数据

四、hadoop安装

1)下载hadoop代码到一个文件夹下(如/home/hadoop/:wget http://archive.cloudera.com/cdh4/cdh/4/hadoop-2.0.0-cdh4.5.0.tar.gz

2)解压缩:tar zxvf hadoop-2.0.0.tar.gz

3)将文件夹重命名为cdh

4)添加环境变量 /etc/profile

export JAVA_HOME=/usr/lib/jvm7/jdkjdk安装路径)

export HADOOP_HOME=/home/hadoop/cdh(根据自己的路径)

ExportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

exportCLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

sudo source /etc/profile 使环境变量生效

5)添加文件夹(所有节点)

/home/hadoop/tempdata

/home/hadoop/mapred_system

/home/hadoop/mapred_local

/home/hadoop/name

/home/hadoop/data

6)修改配置文件(/cdh/etc/hadoop下)(详见配置文件说明)

hadoop-env.sh(yarn-env.sh也要)

修改hadoop-env.sh配置文件,设置jdk所在的路径,在里面找到JAVA_HOME,并将它的值设置为你电脑jdk所在的绝对路径

 core-site.xml

添加如下代码:

<property>

  <name>fs.default.name</name>

  <value>hdfs://master:8020</value>

  <final>true</final>

 </property>

 <property>

  <name>hadoop.tmp.dir</name>

  <value>/home/fulong/hadoop/tempdata</value>

</property> 

 

 yarn-site.xml

添加如下代码:

<property>

<name>yarn.resourcemanager.address</name>

<value>master:8032</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.admin.address</name>

<value>master:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>master:8088</value>

</property>

<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.nodemanager.resource.cpu-vcores</name>

        <value>1</value>

    </property>

 <property>

        <name>yarn.resourcemanager.hostname</name>

        <value>master</value>

</property>

注意:yarn.nodemanager.aux-services的值是“mapreduce_shuffle”(在hadoop-2.1-beta中的值是“mapreduce.shuffle”)

 

    mapred-site.xml

添加如下代码:

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<property>

<name>mapred.system.dir</name>

<value>file:/home/fulong/hadoop/mapred_system</value>

<final>true</final>

</property>

<property>

  <name>mapred.job.tracker</name>

  <value>master:49001</value>

</property>

<property>

<name>mapred.local.dir</name>

<value>file:/home/fulong/hadoop/mapred_local</value>

<final>true</final>

</property>

 

    hdfs-site.xml  

添加如下代码:

<property>

<name>dfs.namenode.name.dir</name>

<value>file:/home/fulong/hadoop/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:/home/fulong/hadoop/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>  

7)修改masterslaves文件(hadoopconf文件夹中)

master去掉"localhost",加入Master机器的IP:192.168.*.*

Slaves:去掉"localhost",加入集群中所有Slave机器的IP,每行一个。

8)关闭所有机器防火墙

chkconfig iptables off

CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下

a、直接关闭防火墙

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

b、设置 iptables service

yum -y install iptables-services

如果要修改防火墙配置,如增加防火墙端口3306

vi /etc/sysconfig/iptables 

增加规则

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

保存退出后

systemctl restart iptables.service #重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

最后重启系统使设置生效即可。

9)启动hadoop

a.格式化hdfs文件系统:

hdfs namenode -format(master)

hadoop datanode  -format(slaves)

b.启动hdfs:(或者start-all.sh可启动两个)

Start-dfs.sh

 启动yarn

Start-yarn.sh

c.如果成功启动,

则在master机器执行jps命令可以看到如下进程:

12916 NameNode

13280 ResourceManager

13133 SecondaryNameNode

15025 Jps

在所有slave机器执行jps可看到如下进程:

576 Jps

31403 NodeManager

31252 DataNode

如果出现任何问题,进入相应机器/home/hadoop/cdh/logs目录查看日志

hdfs dfsadmin -report 查看集群状态

成功启动后,浏览器访问以下页面可以查看hadoop相关信息:

http://master:50070/dfshealth.jsp

http://master:8088/cluster/nodes

d. 命令:mr-jobhistory-daemon.sh start historyserver 启动JobHistoryServer服务

e.stop-all.sh可关闭集群

相关链接:

l        OSCentos 7.0:下载地址http://mirrors.aliyun.com/centos/7/isos/x86_64/

l        Hadoop-2.0.0-cdh4.5.0下载地址

http://archive.cloudera.com/cdh4/cdh/4/hadoop-2.0.0-cdh4.5.0.tar.gz

 

0 0
原创粉丝点击