你好,游客 登录 注册 搜索
背景:
阅读新闻

hadoop配置

[日期:2016-05-04] 来源:博客园精华区  作者: [字体: ]

环境准备

hadoop

1.1   操作系统:CentOS 6.5

1.2     集群主机: vi /etc/hosts

HostName          IP           Purpose

127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4

::1        localhost localhost.localdomain localhost6 localhost6.localdomain6

10.18.51.52    master.hadoop

10.18.51.53    slave1.hadoop

10.18.51.54    slave2.hadoop

10.18.51.55    slave3.hadoop

10.18.51.56    slave4.hadoop

10.18.51.57    slave5.hadoop

10.18.51.58    slave6.hadoop

10.18.51.59    slave7.hadoop

10.18.51.60    slave8.hadoop

10.18.51.61    slave9.hadoop

10.18.51.51    slave10.hadoop

10.18.51.50    slave11.hadoop

10.18.51.49    slave12.hadoop

按照上述表格,设置各个主机的主机名称和IP地址(必须是静态的):

(1)      主机名称修改:

可用hostname命令或直接修改文件/etc/sysconfig/network文件:hostname=…

(2)      IP地址修改:

可用ifconfig命令或直接修改文件/etc/sysconfig/network-scripts/ifcfg-eth0(与使用网卡对应文件),在其中主要配置:IP/GETWAY/NETMASK/DNS等。

Linux开机是网络默认是断开的,

设置网络自动开机自动连接:

右击网络链接图标-》 edit connections... -》 选中“etho” 选择edit 出现下面的对话    框  把 connect automatically 选上即可。

方法2 修改配置文件

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

将ONBOOT=no 改成 yes 就表示开机后默认链接etho 

# /etc/init.d/network restart 

编辑/etc/hosts 文件,添加如下内容:(每台机器)

10.18.51.52    master.hadoop

10.18.51.53    slave1.hadoop

10.18.51.54    slave2.hadoop

10.18.51.55    slave3.hadoop

10.18.51.56    slave4.hadoop

10.18.51.57    slave5.hadoop

10.18.51.58    slave6.hadoop

10.18.51.59    slave7.hadoop

10.18.51.60    slave8.hadoop

10.18.51.61    slave9.hadoop

10.18.51.51    slave10.hadoop

10.18.51.50    slave11.hadoop

10.18.51.49    slave12.hadoop

编辑/etc/profile文件(或Hadoop用户的 .bash_profile),在其文件末尾添加JDK相关环境变量:

export     JAVA_HOME=/usr/java/jdk1.7.0_67

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

(直接指定*.jar文件)

export     JAVA_OPTS=”-Xms1024m-Xmx2048m”

export      PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

记住:在REDHAT中,$CLASSPATH  $PATH 一定要放在后面。

export     JAVA_HOME=/usr/java/jdk1.7.0_67

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

export     JAVA_OPTS=”-Xms1024m-Xmx2048m”

export      PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

有的网站:CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

然后执行: source /etc/profile ,使配置立即生效。

运行 java -version 时候可能会提示权限不够,只要修改相应文件,添加可执行权限即可。

vi /etc/profile 也可以一次性配置先(建议初学者先不一次性配置)

export  JAVA_HOME=/usr/java/jdk1.7.0_67

export  CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib:$CLASSPATH

export  JAVA_OPTS="-Xms1024m-Xmx2048m"

export  PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

export HADOOP_HOME=/usr/hadoop

export HADOOP_COMMON_HOME=$HADOOP_HOME

export HADOOP_HDFS_HOME=$HADOOP_HOME

export HADOOP_MAPRED_HOME=$HADOOP_HOME

export HADOOP_YARN_HOME=$HADOOP_HOME

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

export PATH=$PATH:/usr/apache-ant/bin

export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native

推出之后,执行:source /etc/profile

关闭防火墙,SELINUX关不关闭应该无所谓

查看SELinux状态:

1) /usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态

SELinux status:               enabled

2) getenforce                ##也可以用这个命令检查

关闭SELinux:

1) 临时关闭(不用重启机器):

setenforce 0               ##设置SELinux 成为permissive模式

##setenforce 1 设置SELinux 成为enforcing模式

2) 修改配置文件需要重启机器:

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

重启机器即可

service iptables status可以查看到iptables服务的当前状态

1) 重启后生效

开启: chkconfig iptables on 

关闭: chkconfig iptables off 或者 /sbin/chkconfig --level 2345 iptables off

2) 即时生效,重启后失效

service  方式

开启: service iptables start 

关闭: service iptables stop

iptables 方式

查看防火墙状态:

/etc/init.d/iptables status

暂时关闭防火墙:

/etc/init.d/iptables stop

重启iptables:

/etc/init.d/iptables restart

配置主机名(在系统安装的时候就已经指定了 )和Ip,并且设置自启动,服务器两个网卡,目前选择第一个网卡插口

设置各个主机的主机名称和IP地址(必须是静态的):

(3)      主机名称修改:

可用hostname命令或直接修改文件/etc/sysconfig/network文件:hostname=…

(4)      IP地址修改:

可用ifconfig命令或直接修改文件/etc/sysconfig/network-scripts/ifcfg-eth0(与使用网卡对应文件),在其中主要配置:IP/GETWAY/NETMASK/DNS等。

Linux开机是网络默认是断开的,

设置网络自动开机自动连接:

右击网络链接图标-》 edit connections... -》 选中“etho” 选择edit 出现下面的对话    框  把 connect automatically 选上即可。

或者:# vi /etc/sysconfig/network-scripts/ifcfg-eth0

将ONBOOT=no 改成 yes 就表示开机后默认链接etho 

# /etc/init.d/network restart 

修改主机名:

          /etc/sysconfig/network 中修改。

Hadoop安装配置(每台机器)

http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html ;很好很详细的网址

下载Hadoop 安装包: hadoop安装包以两种形式发布,二进制形式和源码形式。这里我们下载二进制发布包。(注意:如何操作系统时64位,则需下载源码包进行编译,重新生成本地库文件,因为默认的二进制包是在32位环境下编译的)。

2.2 将Hadoop 包解压到制定目录,如:/usr/hadoop

cd /usr/hadoop

tar –zxvf hadoop2.3.0.tar.gz

2.3 配置hadoop 环境变量 在root 用户下:/etc/profile 里面添加即可,添加内容如下:(上面说过,可以一次性都配置完)

# hadoop

root下,在/etc/profile中添加:不用上面的,用下面的:

export HADOOP_HOME=/usr/hadoop

export HADOOP_COMMON_HOME=$HADOOP_HOME

export HADOOP_YARN_HOME=$HADOOP_HOME

export HADOOP_HDFS_HOME=$HADOOP_HOME

export HADOOP_MAPRED_HOME=$HADOOP_HOME

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export YARN_CONF_DIR=$HADOOP_CONF_DIR

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native (不要黄的)

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

2.4 编辑<HADOOP_HOME>/etc/hadoop/hadoop-env.sh 文件与yarn-env.sh 文件,添加JAVA_HOME 变量    下面是配置文件详解的网址 http://yq1518602434.blog.163.com/blog/static/202937084201322331913546/ 

export JAVA_HOME=/usr/java/jdk1.7.0_67/

2.5 编辑<HADOOP_HOME>/etc/hadoop/core-site.xml 文件,内容如下:

<property>

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

<value>file:/usr/hadoop/tmp</value>  #tmp 需提前创建

</property>

<property>

<name>fs.defaultFS</name>

<value>hdfs://master.hadoop:9000</value>

修改成:试试

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

<value>hdfs://localhost:9000</value>

</property>

<property>                                                                        #可选

<name>io.file.buffer.size</name>

<value>131072</value>

</property>

2.6 编辑<HADOOP_HOME>/etc/hadoop/hdfs-site.xml 文件,内容如下:

vi hdfs-site.xml

<property>

<name>dfs.replication</name>      #enable

<value>3</value>

</property>

<property>

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

<value>file:/usr/hadoop/dfs/name</value>  # created

</property>

<property>

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

<value> file:/usr/hadoop/dfs/data </value>    # created

</property>

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

2.7 编辑<HADOOP_HOME>/etc/hadoop/yarn-site.xml 文件,内容如下:

         为何要配置 yarn :         http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/ 

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce.shuffle</value> 或者: <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.hostname</name>

<value>hadoop.main</value>

</property>

<property>

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

<value> hadoop.main:8032</value>

</property>

<property>

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

<value> hadoop.main:8030</value>

</property>

<property>

<name> yarn.resourcemanager.resource-tracker.address</name>

<value> hadoop.main:8031</value>

</property>

<property>

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

<value> hadoop.main:8033</value>

</property>

<property>

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

<value> hadoop.main:8088</value>

</property>

2.8 编辑<HADOOP_HOME>/etc/hadoop/mapred-site.xml 文件,内容如下:

<property>

<name>mapreduce.framework.name</name>      #Enable

<value>yarn</value>

</property>

<property>

以下不要配置的:

<name>mapreduce.jobhistory.address</name>

<value>hadoop.main:10020</value>

</property>

<property>

<name> mapreduce.jobhistory.webapp.address </name>

<value> hadoop.main:19888</value>

</property>

2.9 编辑<HADOOP_HOME>/etc/hadoop/slaves 与masters 文件

masters文件:(每个Slave机器上必须有)

配置masters和slaves文件来设置主从结点,注意最好使用主机名,并且保证机器之间通过主机名可以互相访问,每个主机名一行。

master.hadoop       在master文件中

slave1.hadoop         以下都在slaves文件中:

slave2.hadoop

slave3.hadoop

slave4.hadoop

slave5.hadoop

slave6.hadoop

slave7.hadoop

slave8.hadoop

slave9.hadoop

slave10.hadoop

slave11.hadoop

slave12.hadoop

2.10 上述配置任务完成之后,首先格式化分布式文件系统:

命令:hdfs namenode –format (普通用户进行操作)

用 start-all.sh  启动集群。

查看集群状态:

./bin/hdfs dfsadmin –report 

5.  查看文件块组成:   

./bin/hdfsfsck / -files -blocks 

6.  查看HDFS:     ?? 

http://16.187.94.161:50070 

7.  查看RM:     ?? 

http:// 16.187.94.161:8088 

2.13 运行WordCount 程序

在Master主机上创建三个文本文件:file1.txt,file2.txt,file3.txt, 并利用以下命令在分布式文件系统上创建文件夹,且将本地文件file*.txt上传到hdfs。

hdfs dfs    -ls  /

hdfs dfs –mkdir /in                    # 在hdfs上创建文件夹

hdfs dfs –put file*.txt /in    #将本地文件上传到hdfs

注意:hadoop 默认运行在安全模式,可以使用命令:hadoop dfsadmin –safemode leave退出安全模式。

将当前目录切换到/usr/hadoop:执行下面命令允许hadoop自带wordcount程序。

Hadoop jar  share/hadoop/mapreduce/hadoop-mapreduce-example.jar wordcount /in /out

注意:/out目录不能提前创建好,有程序自己创建。





收藏 推荐 打印 | 录入:elainebo | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款