1、安装JDK
1.1上传
运用软件FileZilla,将windows上的jdk压缩包放到linux的root目录下
1.2解压jdk
#创建文件夹
mkdir /usr/java(不要挂在在“/”系统盘下)
#解压
tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/java/(提前在/usr/目录下创建一个java的文件夹)
1.3将java添加到环境变量中
vim /etc/profile
#在文件最后添加
export JAVA_HOME=/usr/java/jdk1.7.0_55
export PATH=$PATH:$JAVA_HOME/bin
#刷新配置
source /etc/profile
2、安装Hadoop
2.1上传hadoop安装包
运用软件FileZilla,将windows上的压缩包放到linux的root目录下
2.2解压hadoop安装包
在root目录下
mkdir /cloud
#解压到/cloud/目录下
tar -zxvf hadoop-2.2.0.tar.gz -C /cloud/
2.3修改配置文件(5个)目录 /cloud/hadoop-2.2.0/etc/hadoop
第一个:hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.6
第二个:core-site.xml
<configuration>
<!-- 指定HDFS老大(namenode)的通信地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://northbigpenguin:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/cloud/hadoop-2.2.0/tmp</value>
</property>
</configuration>
第三个:hdfs-site.xml
<configuration>
<!-- 设置hdfs副本数量 -->
<property>
<name>dfs.replication</name>
<value>1</value><!--默认是3个,这里改为一个-->
</property>
</configuration>
第四个:mapred-site.xml.template 需要重命名: mv mapred-site.xml.template mapred-site.xml
<configuration>
<!-- 通知框架MR使用YARN -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!--这个必须加载-->
<property>
<name>mapred.job.tracker</name>
<value>northbigpenguin:9001</value>
</property>
</configuration>
第五个:yarn-site.xml
<configuration>
<!-- reducer取数据的方式是mapreduce_shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>northbigpenguin</value>
</property>
</configuration>
3、将hadoop添加到环境变量
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.6
export HADOOP_HOME=/root/cloud/hadoop-2.2.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
完成过后部署一下,才能生效
source /etc/profile
4、格式化HDFS(namenode)第一次使用时要格式化
#过时但还可以使用:hadoop namenode -format
目录/cloud/hadoop-2.2.0
hdfs namenode -format 使用这个(注:整个配置中此句子仅仅执行一次,否则会出很多错误)
注意:
(1)如果报错:
-bash: hadoop: command not found
说明:
hadoop的路径配置有误。查看vim /etc/profile的export HADOOP_HOME=/root/cloud/hadoop-2.2.0(使用绝对路径)
不知道绝对路径:
进入/hadoop-2.2.0/bin 然后输入pwd
5、启动hadoop
5.1 初始化HDFS(格式化文件系统)
(1)查找命令:
which hadoop
which hdfs
(2)到hdfs相对的bin目录下:
cd /root/Download/hadoop/hadoop-2.2.0/bin
(3)退到/hadoop-2.2.0所在目录
hdfs namenode -format (hadoop namenode -format(过时了,但是可用))
5.2启动hadoop
(1)进入目录/root/cloud/hadoop-2.2.0/sbin
(2)先启动HDFS(可以用.../sbin/start-all.sh但是需要多次输入密码)
(3)第二种启动方法:
先启动HDFS
../sbin
./start-dfs.sh
再启动YARN
../sbin
./start-yarn.sh
(2)报错:Error: Cannot find configuration directory:
进入vim /etc/profile
就把所有的路径都配置进去
export JAVA_HOME=/usr/java/jdk1.6
export HADOOP_HOME=/root/cloud/hadoop-2.2.0
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::$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOOME/sbin:$HADOOP_HOME/lib
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
再次配置一下
source /etc/profile
6、然后关闭服务器
./stop-all.sh
重新启动服务:
./start-all.sh
最后出现:
starting yarn daemons
starting resourcemanager, logging to /root/cloud/hadoop-2.2.0/logs/yarn-root-resourcemanager-northbigpenguin.out
localhost: starting nodemanager, logging to /root/cloud/hadoop-2.2.0/logs/yarn-root-nodemanager-northbigpenguin.out
这样的字样就是配置成功
7、验证是否启动成功
(1)数据传输成功验证:
使用jps命令验证
目录/root/cloud/hadoop-2.2.0/sbin
下输入:
jps
出现如下六个的文件为配置成功:
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode
在主节点执行jps,看到3个进程,分别是NameNode、SecondaryNameNode、JobTracker
在从节点执行jps,看到2个进程,分别是DataNode、TaskTracker
(2)网页测试:
在这个文件中添加linux主机名和IP的映射关系(本机windows系统下)
C:WindowsSystem32driversetchosts
192.168.1.110(LInux的IP地址) localhost(linux主机名)
访问:northbigpenguin:50070 ((hdfs的web页面)
northbigpenguin:8088 (MR管理界面)
注意:
页面访问:
Live Nodes-->Browse the filesystem 需要配置本地连接否则会无法访问
http://northbigpenguin:50075/browseDirectory.jsp?namenodeInfoPort=50070&dir=/&nnaddr=localhostip:9000
点击后跳转到这个界面
页面数据测试:
上传文件到hadoop (文件是临时的,服务器关闭,文件消失):
hadoop fs -put /root/Download/jdk-6u45-linux-x64.bin hdfs://northbigpenguin:9000/jdk
然后在界面可以看到:
http://northbigpenguin:50075/browseDirectory.jsp
命令行下载上传的文件:
hadoop fs -get /root/Download/jdk-6u45-linux-x64.bin hdfs://northbigpenguin:9000/jdk
运行实例
(1)先在本地磁盘建立两个输入文件 file01和file02
$echo "Hello World Bye World" > file01
$echo "Hello Hadoop Goodbye Hadoop" > file02
(2)在hdfs中建立一个input目录:$hadoop fs -mkdir input
(3)将file01和file02拷贝到hdfs中:
$hadoop fs -copyFromLocal /home/zhongping/file0* input
(4)执行wordcount:
$hadoop jar hadoop-0.20.2-examples.jar wordcount input output
(5)完成之后,查看结果
$hadoop fs -cat output/part-r-00000
8、配置ssh免登陆
基于 RedHat / CentOS 的系统 :
下载安装(完成后会装在root目录下:执行命令ls -a查看隐藏文件.ssh):
# yum install openssh-server openssh-clients
#生成ssh免登陆密钥
#进入到我的home目录
cd ~/.ssh
ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免登陆的机器上
cp id_rsa.pub authorized_keys或者ssh-copy-id northbigpenguin
或者
将公钥拷贝到要免登陆的机器上
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
登录本机不输密码
ssh northbigpenguin
退出登录
exit
查看公钥
cat ~/.ssh