##################### Centos6.4VM_01_os.rar ################################################
准备工作
/opt
/opt/modules 软件安装目录
/opt/softwares 软件包(tar、bin、zip)
/opt/tools(eclipse等)
/opt/data(测试数据)
/home/hadoop(工具和数据)

##################### Centos6.4VM_01_os.rar ################################################
1、创建hadoop用户,分配权限

###########################################
# 创建新用户hadoop
[root@LexiaofeiMaster /]# useradd -m hadoop -G root -s /bin/bash
[root@LexiaofeiMaster /]# passwd hadoop

# 增加管理员权限
[root@LexiaofeiMaster /]# visudo
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
hadoop ALL=(root) NOPASSWD:ALL

验证hadoop用户无密码sudo权限
[hadoop@LexiaofeiMaster ~]$sudo service iptables status

#####################################################
2、配置网络
配置ip、hostname、hosts、本地dns、防火墙

###########################################
设置ip
192.168.126.130
255.255.255.0
192.168.126.2
192.168.0.1

[root@LexiaofeiMaster network-scripts]# more /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=b36ccffb-5370-4ded-a68d-1ebbb70aa7f9
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.126.130
PREFIX=24
GATEWAY=192.168.126.2
DNS1=172.20.10.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
HWADDR=00:0C:29:31:83:95
LAST_CONNECT=1483940638

[root@LexiaofeiMaster ~]# ifconfig

###########################################
设置hostname

[root@LexiaofeiMaster ~]# hostname
[root@LexiaofeiMaster ~]# hostname LexiaofeiMaster
[root@LexiaofeiMaster ~]# more /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=LexiaofeiMaster
GATEWAY=192.168.126.2

###########################################
设置本地dns(/etc/hosts)
[root@LexiaofeiMaster etc]# more /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.126.130 LexiaofeiMaster

###########################################
关闭防火墙
[root@LexiaofeiMaster ~]# service iptables status
表格:filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
num target prot opt source destination

[root@LexiaofeiMaster ~]# service iptables stop
iptables:清除防火墙规则:[确定]
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:正在卸载模块:[确定]

[root@LexiaofeiMaster ~]# service iptables status
iptables:未运行防火墙。

# 永久关闭防火墙
[root@LexiaofeiMaster ~]# chkconfig iptables off

[root@LexiaofeiMaster ~]# vim /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled

###########################################
# 检查是否安装ssh-server和ssh-clients
[root@LexiaofeiMaster ~]# rpm -qa | grep ssh
openssh-server-5.3p1-84.1.el6.x86_64
openssh-clients-5.3p1-84.1.el6.x86_64
openssh-askpass-5.3p1-84.1.el6.x86_64
openssh-5.3p1-84.1.el6.x86_64
libssh2-1.4.2-1.el6.x86_64

# 如果没有安装,执行如下命令安装
[hadoop@LexiaofeiMaster ~]$sudo yum install openssh-server
[hadoop@LexiaofeiMaster ~]$sudo yum install openssh-clients

# 配置SSH无密码登陆
[hadoop@LexiaofeiMaster ~]$ ssh localhost
The authenticity of host 'localhost (::1)' can't be established.
RSA key fingerprint is 09:0a:d3:7f:b4:43:8f:fa:a8:07:e2:37:e7:b7:00:ab.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
hadoop@localhost's password:
Last login: Sun Jan 8 19:36:46 2017 from 192.168.126.1
[hadoop@LexiaofeiMaster ~]$ exit

[hadoop@LexiaofeiMaster ~]$ cd ~/.ssh/

# 利用ssh-keygen生成密钥
[hadoop@LexiaofeiMaster .ssh]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
9d:72:cc:49:7a:7c:51:44:80:1c:4f:ec:3e:d8:46:82 hadoop@LexiaofeiMaster
The key's randomart image is:
+--[ RSA 2048]----+
| ..+o++ |
| oo.. |
| ...o |
| EB.oo. |
| S X*. |
| +..= |
| . . |
| |
| |
+-----------------+

# 将密钥加入到授权中
[hadoop@LexiaofeiMaster .ssh]$ cat id_rsa.pub >> authorized_keys
[hadoop@LexiaofeiMaster .ssh]$ chmod 600 ./authorized_keys
[hadoop@LexiaofeiMaster .ssh]$

##################### centos6.4VM_02_No_jdk&hadoop.rar ######################

3、安装jdk

#############################################
卸载OpenJdk
[hadoop@LexiaofeiMaster ~]$ java -version
[hadoop@LexiaofeiMaster ~]$ javac -version
[hadoop@LexiaofeiMaster ~]$ rpm -qa | grep java

tzdata-java-2012j-1.el6.noarch
java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64
java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64

[hadoop@LexiaofeiMaster ~]$ sudo yum remove java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64
[hadoop@LexiaofeiMaster ~]$ sudo yum remove java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
[hadoop@LexiaofeiMaster ~]$ sudo yum remove tzdata-java-2012j-1.el6.noarch

检查一下
[hadoop@LexiaofeiMaster ~]$ rpm -qa | grep java
[hadoop@LexiaofeiMaster ~]$ java -version
[hadoop@LexiaofeiMaster ~]$ javac -version

#############################################
安装OracleJdk
$ cd/opt/softwares
$ sudo tar -zxvf jdk-7u80-linux-x64.tar.gz -C /opt/modules

$ ls -al /opt/modules
$ sudo vim /etc/profile

## add by lsq for jdk-env begin
export JAVA_HOME=/opt/modules/jdk1.7.0_80
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=$CLASS_PATH:.:$JAVA_HOME/lib
## add by lsq for jdk-env end

[hadoop@LexiaofeiMaster jdk1.7.0_80]$ source /etc/profile
[hadoop@LexiaofeiMaster jdk1.7.0_80]$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

[hadoop@LexiaofeiMaster jdk1.7.0_80]$ javac -version
javac 1.7.0_80

##################### centos6.4VM_02_No_jdk&hadoop.rar ######################

4、安装hadoop

#*********************************************
下载hadoop
校验hadoop
cat hadoop-2.6.0.tar.gz.mds | grep 'MD5'
md5sum hadoop-2.6.0.tar.gz | tr "a-z" "A-Z"
比较两个结果中的MD5值是否一样
#*********************************************

[hadoop@LexiaofeiMaster ~]$ sudo cp *.gz /opt/softwares
[hadoop@LexiaofeiMaster ~]$ cd /opt/softwares
[hadoop@LexiaofeiMaster softwares]$ ls -al

$ cd/opt/softwares
$ sudo tar -zxvf hadoop-2.6.0.tar.gz -C /opt/modules
$ sudo chown -R hadoop:hadoop /opt/modules/hadoop-2.6.0

$ cd /opt/modules/hadoop-2.6.0/bin
[hadoop@LexiaofeiMaster bin]$ ./hadoop version
Hadoop 2.6.0
Subversion https://github.com/apache/hadoop.git -r e8c9fe0b4c252caf2ebf1464220599650f119997
Compiled by sjlee on 2016-10-02T23:43Z
Compiled with protoc 2.5.0
From source with checksum f05c9fa095a395faa9db9f7ba5d754
This command was run using /opt/modules/hadoop-2.6.0/share/hadoop/common/hadoop-common-2.6.0.jar

$ ls -al /opt/modules
$ sudo vim /etc/profile

######################################################
# liangshengqi begin

export JAVA_HOME=/opt/modules/jdk1.7.0_80
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin

export HADOOP_HOME=/opt/modules/hadoop-2.6.0
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/natvie
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

# liangshengqi end
######################################################

[hadoop@LexiaofeiMaster bin]$ source /etc/profile
[hadoop@LexiaofeiMaster bin]$ tail /etc/profile

[hadoop@LexiaofeiMaster modules]$ echo $YARN_HOME
/opt/modules/hadoop-2.6.0

设置hadoop-env.sh中的java环境变量
cd /opt/modules/hadoop-2.6.0
vim ./etc/hadoop/hadoop-env.sh

# The java implementation to use.
export JAVA_HOME=/opt/modules/jdk1.7.0_80

设置yarn-env.sh中的java环境变量
vim ./etc/hadoop/yarn-env.sh
export JAVA_HOME=/opt/modules/jdk1.7.0_80

设置mapred-env.sh中的java环境变量
vim ./etc/hadoop/mapred-env.sh
export JAVA_HOME=/opt/modules/jdk1.7.0_80

################################################

5、验证单机模式
Hadoop 默认模式为非分布式模式,无需进行其他配置即可运行。非分布式即单 Java 进程,方便进行调试。

cd /opt/modules/hadoop-2.6.0
cp ./etc/hadoop/*.xml /opt/data/input
mkdir /opt/data/input
chmod -R 777 /opt/data

hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep /opt/data/input /opt/data/output 'dfs[a-z.]+'

[root@LexiaofeiMaster data]# ls -al /opt/data/output
总用量 20
drwxrwxr-x. 2 hadoop hadoop 4096 1月 10 19:28 .
drwxrwxrwx. 4 root root 4096 1月 10 19:28 ..
-rw-r--r--. 1 hadoop hadoop 11 1月 10 19:28 part-r-00000
-rw-r--r--. 1 hadoop hadoop 12 1月 10 19:28 .part-r-00000.crc
-rw-r--r--. 1 hadoop hadoop 0 1月 10 19:28 _SUCCESS
-rw-r--r--. 1 hadoop hadoop 8 1月 10 19:28 ._SUCCESS.crc

cat /opt/data/output/*
1 dfsadmin

################################################

6、配置伪分布式

#修改配置文件-环境变量

#修改配置文件-hadoop的配置文件
#hadoop的配置文件主要有core-site.xml、hdfs-site.xml、yarn-site.xml 三个文件。
cd /usr/opt/hadoop/etc/hadoop

##################################################
#core-site.xml

<!--一定要配置 系统默认的缓存文件夹在每次重启后会被删除-->
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/opt/data/hadoop/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://LexiaofeiMaster.dragon.org:9000</value>
</property>
</configuration>

##################################################
#hdfs-site.xml

<!--这个属性节点是为了防止后面eclipse存在拒绝读写设置的 -->
<configuration>

<property>
<name>dfs.replication</name>
<value>1</value>
</property>

<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/data/hadoop/dfs/name</value>
</property>

<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/data/hadoop/dfs/data</value>
</property>

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

</configuration>

##################################################
#mapred-site.xml.template(如果想启动yarn,修改此文件名为mapred-site.xml)
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

##################################################
#yarn-site.xml

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

##################################################
接下来创建需要的文件夹

cd /opt/data/hadoop
mkdir tmp dfs dfs/name dfs/data
chmod 777 -R data

到目前为止所有的配置都已经完成。

##################################################
# 启动文件系统

hdfs namenode -format
./sbin/start-dfs.sh
./sbin/start-yarn.sh
# 开启历史服务器,才能在web中查看任务运行情况
./sbin/mr-jobhistory-daemon.sh start historyserver
# 不启动yarn,是 mapred.LocalJobRunner 在跑任务
# 启动yarn后,是 mapred.YARNRunner 在跑任务
# 启动yarn后,有个好处是可以通过web界面查看任务运行情况,http://localhost:8088/cluster

hdfs dfs -ls /
hdfs dfs -mkdir -p /input/grep
hdfs dfs -put /opt/data/input/*.xml /input/grep
hdfs dfs -ls /input/grep

# 运行自带例子
hdfs dfs -ls /input/grep
hdfs dfs -rm -r /input/grep
hdfs dfs -rm -r /output

cd /opt/modules/hadoop-2.6.0/
hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar grep /input/grep /output/grep 'dfs[a-z.]+'

监控执行情况
http://localhost:8088/cluster

查看执行结果
[hadoop@LexiaofeiMaster hadoop-2.6.0]$ hdfs dfs -cat /examples/grep/output/*
1 dfsadmin

################################################问题处理################################################
#备份native目录
mv native native_bak
#重建native目录
mkdir native
#解压hadoop-native-64-2.6.0.tar到这个目录
#修改so权限
chmod 755 libhadoop.so.1.0.0
chmod 755 libhdfs.so.0.0.0
#重建失效的链接文件
rm -rf libhadoop.so
rm -rf libhdfs.so
[hadoop@LexiaofeiMaster native]$ ln -s libhadoop.so.1.0.0 libhadoop.so
[hadoop@LexiaofeiMaster native]$ ln -s libhdfs.so.0.0.0 libhdfs.so
#检查文件列表
[hadoop@LexiaofeiMaster native]$ ls -al
总用量 4364
drwxrwxr-x 2 hadoop hadoop 4096 1月 14 11:03 .
drwxr-xr-x 4 hadoop hadoop 4096 1月 14 10:52 ..
-rw-r--r-- 1 root root 1119486 12月 2 2014 libhadoop.a
-rw-r--r-- 1 root root 1486964 12月 2 2014 libhadooppipes.a
lrwxrwxrwx 1 hadoop hadoop 18 1月 14 11:02 libhadoop.so -> libhadoop.so.1.0.0
-rwxr-xr-x 1 root root 671189 12月 2 2014 libhadoop.so.1.0.0
-rw-r--r-- 1 root root 581944 12月 2 2014 libhadooputils.a
-rw-r--r-- 1 root root 359458 12月 2 2014 libhdfs.a
lrwxrwxrwx 1 hadoop hadoop 16 1月 14 11:03 libhdfs.so -> libhdfs.so.0.0.0
-rwxr-xr-x 1 root root 228435 12月 2 2014 libhdfs.so.0.0.0

##################################################

hadoop “util.NativeCodeLoader: Unable to load native-hadoop library for your platform”

hadoop安装完以后,经常会提示以下警告:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...
using builtin-java classes where applicable
搜了好多文章,都说是跟系统位数有关系,我使用的是Centos 6.5 64位操作系统。

前两天在做Docker镜像的时候发现了一个步骤可以解决这个问题,亲试了一下,果然不再提示了。

首先下载hadoop-native-64-2.4.0.tar:
http://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.4.0.tar
如果你是hadoop2.6的可以下载下面这个:
http://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.6.0.tar
下载完以后,解压到hadoop的native目录下,覆盖原有文件即可。操作如下:
tar -x hadoop-native-64-2.4.0.tar -C hadoop/lib/native/

#############################################################

Hadoop2.6.0实践:001 伪分布式环境搭建的更多相关文章

  1. Hadoop2.5.0伪分布式环境搭建

    本章主要介绍下在Linux系统下的Hadoop2.5.0伪分布式环境搭建步骤.首先要搭建Hadoop伪分布式环境,需要完成一些前置依赖工作,包括创建用户.安装JDK.关闭防火墙等. 一.创建hadoo ...

  2. hive-2.2.0 伪分布式环境搭建

    一,实验环境: 1, ubuntu server 16.04 2, jdk,1.8 3, hadoop 2.7.4 伪分布式环境或者集群模式 4, apache-hive-2.2.0-bin.tar. ...

  3. 【Hadoop】伪分布式环境搭建、验证

    Hadoop伪分布式环境搭建: 自动部署脚本: #!/bin/bash set -eux export APP_PATH=/opt/applications export APP_NAME=Ares ...

  4. 大数据:Hadoop(JDK安装、HDFS伪分布式环境搭建、HDFS 的shell操作)

    所有的内容都来源与 Hadoop 官方文档 一.Hadoop 伪分布式安装步骤 1)JDK安装 解压:tar -zxvf jdk-7u79-linux-x64.tar.gz -C ~/app 添加到系 ...

  5. 【Hadoop离线基础总结】CDH版本Hadoop 伪分布式环境搭建

    CDH版本Hadoop 伪分布式环境搭建 服务规划 步骤 第一步:上传压缩包并解压 cd /export/softwares/ tar -zxvf hadoop-2.6.0-cdh5.14.0.tar ...

  6. HDFS 伪分布式环境搭建

    HDFS 伪分布式环境搭建 作者:Grey 原文地址: 博客园:HDFS 伪分布式环境搭建 CSDN:HDFS 伪分布式环境搭建 相关软件版本 Hadoop 2.6.5 CentOS 7 Oracle ...

  7. Hadoop学习笔记1:伪分布式环境搭建

    在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下: 1.CentOS 6.7下安装JDK , 地址: http://blog.csdn.net/yule ...

  8. CentOS7下Hadoop伪分布式环境搭建

    CentOS7下Hadoop伪分布式环境搭建 前期准备 1.配置hostname(可选,了解) 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(p ...

  9. Spark2.4.0伪分布式环境搭建

    一.搭建环境的前提条件 环境:ubuntu-16.04 hadoop-2.6.0  jdk1.8.0_161. spark-2.4.0-bin-hadoop2.6.这里的环境不一定需要和我一样,基本版 ...

随机推荐

  1. 关于java多态的理解

    要理解多态,就必须有一个大的理解方向,不然很容易绕进去. 首先知道多态的释义:多态性是指一个名词可以有多种语义. 对于java的多态性学习者来说,就是必须要知道多个同名方法在不同情况下的使用规则. j ...

  2. windows下远程访问Redis,windows Redis绑定ip无效,Redis设置密码无效,Windows Redis 配置不生效,Windows Redis requirepass不生效,windows下远程访问redis的配置

    转载:http://fanshuyao.iteye.com/blog/2384074 一.Redis下载地址: https://github.com/MicrosoftArchive/redis/re ...

  3. EasyUI Parser 解析器

    Parser(解析器)应用场景 1,自动调用parser 只要我们书写相应的class,easyui就能成功的渲染页面,这是因为解析器在默认情况下,会在dom加载完成的时候($(docunment). ...

  4. Java大世界

    "java越来越过份了." php狠狠的说,他转头看着C:"C哥,您可是前辈,java最近砸了我不少场子,你老再不出来管管,我怕他眼里就没有您了啊." C哥吸烟 ...

  5. videojs双击全屏幕观看,videojs动态加载视频

    前段时间闲来无事弄了弄video.js,感觉蛮好玩,能应用到各个应用端,自己在最后玩耍的时候,需要注意的只剩下两方面了,1,动态加载播放视频内容2,双击全屏观看, var urlRoad = &quo ...

  6. MYSQL数据库学习八 触发器的操作

    8.1 触发器 在表发生更改时,自动进行一些处理.例如,学生表中每增加一条关于学生记录时,学生的总数就必须同时改变,同时需要检查电话号码格式是否正确,地址缩写是否正确. 以下语句会激活触发器: DEL ...

  7. C++单例模式的经典实现(Singleton)

    C++单例经典实现 本文主要介绍C++使用中的单例的两种经典实现,基本可满足一般的使用,主要分为饿汉模式和懒汉模式两种 饿汉模式 class Singleton { public: static Si ...

  8. 彻底弄懂CommonJS和AMD/CMD!

    JS中的模块规范(CommonJS,AMD,CMD),如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范咯,我也听过,但之前也真的是听听而已. 现在就看看吧, ...

  9. npm包使用语义化版本号

    npm 采用语义版本管理软件包.所谓语义版本,就是指版本号为a.b.c的形式,其中a是大版本号,b是小版本号,c是补丁号. 一个软件发布的时候,默认就是1.0.0版.如果以后发布补丁,就增加最后一位数 ...

  10. Divisor counting [线性筛积性函数]

    Divisor counting 题目大意:定义f(n)表示整数n的约数个数.给出正整数n,求f(1)+f(2)+...+f(n)的值. 注释:1<=n<=1000,000 想法:我们再次 ...