从零开始搭建Hadoop环境

[本文仅供备忘,看客可自行忽略]

虚拟机准备

由于没有测试机,只能使用虚拟机。

1、下载虚拟机工具并安装,老胡使用VMware Workstation,版本为10.0.2;

2、下载操作系统,老胡选择的是CentOS,版本为6.5,下载地址为:http://mirrors.usc.edu/pub/linux/distributions/centos/6.5/isos/    ,根据自己的计算机情况选择下载,老胡选择64位;


创建虚拟机

以下步骤:

1、点击新建

2、选择类型


3、选择操作系统


4、配置Linux信息


5、配置虚拟机位置和名称


6、磁盘大小设置


7、点完成


8、在VM选择创建的虚拟机,点击开启,然后等待安装完成。


JDK安装

安装玩操作系统,就需要安装JDK

1、去oracle下载jdk,当前最高版本为8u5,老胡选择7u60。


2、点击accept,下载jdk


老胡是64位机,故可选择第三和第四个下载中任一下载,32位机下载前两个任一个。老胡下载的第四个tar.gz。

3、将jdk文件鼠标拖入虚拟机中。


4、打开命令行终端(右键菜单中Open in Terminal),依次执行

$ su

注:切换至root,需要输入root密码,默认root密码与第一次创建的用户密码相同

# mkdir /usr/java

注:创建jdk目录,随自己的爱好创建要放置的目录,下一步将用到

# tar -zxvf  /home/hoocoln/Desktop/jdk-7u60-linux-x64.tar.gz  -C /usr/java/

注:红色部分替换为jdk放置路径,自行修改,C为大写。


至此,安装完成,

5、配置jdk环境变量

方法一:

# vi /etc/profile
点击键盘【i】键进入编辑模式,按方向键【↓】键至文件末尾,输入以下内容

export JAVA_HOME=/usr/java/jdk1.7.0_60
export JRE_HOME=/usr/java/jdk1.7.0_60/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH


注:其中红色修改为自己的jdk路径

按【ESC】退出编辑模式,输入 :wq 保存退出。


#chown root:root -R /usr/java/jdk1.7.0_60/


#chmod 755 -R /usr/java/jdk1.7.0_60/


#source /etc/profile

注:让配置文件立即生效

方法二:

$gedit ~/.bashrc


文件末尾输入以下内容:

export JAVA_HOME=/usr/java/jdk1.7.0_60
export JRE_HOME=/usr/java/jdk1.7.0_60/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH


$ source ~/.bashrc

测试:

# java -version

注:测试是否成功。


Hadoop安装

1、下载hadoop

下载地址 http://mirror.esocc.com/apache/hadoop/common/

老胡选择的是1.2.1

选择bin文件下载


2、将两个文件拖到虚拟机,建立安装文件放置路径(【mkdir -p 文件夹路径】),如果需要复制移动文件就使用

【mv 移动前文件 移动后文件路径 】命令移动。

$ mkdir -p ~/setup/hadoop

$ mv hadoop-1.2.1.tar.gz ~/setup/hadoop/



3、创建文件路径,解压缩文件。

$ mkdir -p ~/usr/hadoop

$ cd ~/usr/hadoop

$ tar -zxvf ~/setup/hadoop/hadoop-1.2.1.tar.gz

等解压完,hadoop完成。


配置单机版伪分布式hadoop单机版伪分布式hadoop是啥意思?就是一个机器同事运行NameNode,SecondaryNameNode,DataNode,JobTracker,TaskTracher 5个任务。配置文件均在~/usr/hadoop/hadoop-1.2.1/conf/下面,以下设置不再包含文件前缀路径。

1、修改core-site.xml,在configuration标签中添加如下内容(注:后几条修改均类似,只贴添加的内容):


fs.default.name
hdfs://localhost:9000

修改完,保存退出。

最终图如下:


2、修改mapred-site.xml,添加内容如下:


mapred.job.tracker
localhost:9001

3、修改hdfs-site.xml,添加内容如下:


dfs.replication
1

4、在hadoop.env.sh 文件中添加如下语句即完成hadoop配置:

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


配置SSH免密码登陆

1、使用当前用户,输入以下命令生成ssh密钥对

$ ssh-keygen -t rsa -P ''

注:ssh与-keygen连在一起,最后有两个【’】符号。

询问文件路径选择时,直接回车就好。

2、追加到授权文件

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3、修改权限

$ chmod 600 ~/.ssh/authorrized_keys

4、切换到root(【su】),配置ssh。

$ su

#vi /etc/ssh/sshd_config

注释掉以下三行

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

保存退出,重启sshd服务。

# service sshd restart

5、最后

# su -hoocoln

注:切换回自己的用户

$ ssh locahost

输入密码即可


启动hadoop

命令如下:

$ cd ~/usr/hadoop/hadoop-1.2.1

$ ./bin/hadoop namenode -format

注:格式化NameNode

$ ./bin/start-all.sh

注:启动所有

$jps

注:查看开启情况(5个全在即OK)


测试hadoop

$ cd ~/usr/hadoop/hadoop-1.2.1

$ ./bin/hadoop fs -put README.txt readme.txt

注:复制文件到分布式文件系统HDFS,重命名为readme.txt

$ ./bin/hadoop jar hadoop-examples-1.2.1.jar wordcount readme.txt output

注:运行hadoop 的examples 的wordcount,测试hadoop 的执行。这条语句用Hadoop 自带的examples 里的wordcount程序,对readme.txt进行处理,处理后的结果放到HDFS的output目录。

$ ./bin/hadoop fs -cat output/part-r-00000

注:这条命令查看处理结果,part-r-00000文件存放wordcount的运行结果,cat命令将文件内容输出到屏幕,显示
字符的统计结果。这是一个简单的字符统计,wordcount只是做了简单的处理,所以会看到单词后面有标点符号。




如果需要修改主机名

# vi /etc/sysconfig/network

修改主机名(HOSTNAME)即可

修改host

# vi /etc/hosts

添加host映射



你可能感兴趣的:(Hadoop)