-----------------------------------------------------------
自学记录,交流学习请发送邮件至gxz1984@gmail.com
【各节点的防火墙一定要关闭!】
-----------------------------------------------------------
2015-3-26
环境:
操作系统ubuntu 14.10
Hadoop 2.60
JDK 1.7
节点说明:
192.168.47.133 master
192.168.47.134 slave1
192.168.47.135 slave2
1、安装JDK
下载jdk1.7,解压,复制【三个节点都需要安装】
tar -xvzf jdk-7u75-linux-x64.tar.gz
mkdir /opt/Java
mv jdk1.7.0_75/ /opt/Java/jdk1.7
环境变量设置
vi .bashrc export JAVA_HOME=/opt/Java/jdk1.7
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH source .bashrc 测试安装是否成功
java -version
2、创建hadoop用户
sudo useradd hadoop
sudo passwd hadoop sudo mkdir /home/hadoop
sudo chown hadoop:hadoop /home/hadoop #赋予hadoop用户sudo的权限
sudo adduser hadoop sudo
3、网络配置【修改机器名】
sudo vim /etc/hostname
sudo vim /etc/hosts 192.168.47.133 master
192.168.47.134 slave1
192.168.47.135 slave2
4、安装SSH server、配置SSH无密码登陆
安装openssh
sudo apt-get install openssh-server
生成密钥
ssh-keygen -t rsa
cd .ssh/
cp id_rsa.pub authorized_keys
cd ..
scp -r .ssh hadoop@slave1:/home/hadoop
scp -r .ssh hadoop@slave2:/home/hadoop
5、配置集群/分布式环境
所有配置任务在master节点上完成,将配置好的程序拷贝到slave节点即可
安装:
sudo tar -zxvf ~/下载/hadoop-2.6.0.tar.gz -C /usr/local # 解压到/usr/local中
sudo mv /usr/local/hadoop-2.6.0/ /usr/local/hadoop # 将文件名改为hadoop
sudo chown -R hadoop:hadoop /usr/local/hadoop # 修改文件权限
配置/usr/local/hadoop/etc/hadoop中的配置文件
(1)文件slaves、masters
192.168.47.134
192.168.47.135
masters没有,新建该文件,里面输入master节点的ip地址即可
(2)文件 core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:///usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
(3)文件hdfs-site.xml
,因为有两个Slave,所以dfs.replication
的值设为2。
<configuration> <property>
<name>dfs.nameservices</name>
<value>hadoop-cluster1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/local/hadoop/tmp/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property> </configuration>
(4)
文件mapred-site.xml
,这个文件不存在,首先需要从模板中复制一份:
cp mapred-site.xml.template mapred-site.xml
然后配置修改如下
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>master:50030</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
</configuration>
(5)文件yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property> </configuration>
(6)文件hadoop-env.sh
指定JAVA_HOME的路径
export JAVA_HOME=/opt/Java/jdk1.7/
完成配置,将hadoop整个目录发送到slave节点即可
===================================================
6、启动hadoop
在master节点上:
cd /usr/local/hadoop/
bin/hdfs namenode -format # 首次运行需要执行初始化,后面不再需要
sbin/start-all.sh 通过jps查看各节点启动的服务
可以看到Master节点启动了NameNode、ResourceManager进程。
Slave节点则启动了DataNode和NodeManager进程。 停止服务
sbin/stop-all.sh
7、测试
执行WordCount实例过程首先创建所需的几个目录
bin/hdfs dfs -mkdir /user
bin/hdfs dfs -mkdir /user/hadoop
将etc/hadoop中的文件作为输入文件复制到分布式文件系统中
bin/hdfs dfs -put etc/hadoop input
接着就可以运行MapReduce作业了
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar grep input output 'dfs[a-z.]+'
同样可以通过Web界面查看任务进度 http://master:8088/cluster
参考教程:http://www.powerxing.com/install-hadoop-cluster-2-4-1/
=======================================
2017-07-16
如果master节点的防火墙没有关闭,slave节点的logs会一直报错误:Problem connecting to server: master/192.168.138.101:9000
然后一直在retry connect master
关闭master的防火墙即可
---------------------------------------------
如果slave节点的防火墙没有关闭,hadoop fs -put时没法执行成功,slave节点的防火墙关闭即可
【再次重新安装忘了关闭防火墙捣鼓了一晚上!】
======================================