环境介绍:
在这两种装备centos6.4(32位置)的server安装Hadoop-2.5.1分布式集群(2台机器,主要试验用。哈哈)。
1.改动主机名和/etc/hosts文件
1)改动主机名(非必要)
vi /etc/sysconfig/networkHOSTNAME=XXX
重新启动后生效。
2)/etc/hosts是ip地址和其相应主机名文件,使机器知道ip和主机名相应关系。格式例如以下:
#IPAddress HostName192.168.1.67 MasterServer192.168.1.241 SlaveServer
2.配置免password登陆SSH
1)生成密钥:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa以上是两个单引號。
2)将id_dsa.pub(公钥)追加到授权的key中:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
3)将认证文件拷贝到其他节点上:
scp ~/.ssh/authorized_keys hadooper@192.168.1.241:~/.ssh/
4)測试:
ssh SlaveServer
第一次要确认连接。输入yes就可以。
但我的仍要求输入password。原因是.ssh和authorized_keys权限不正确,详细见:
3.各节点上安装jdk 1)选择的版本号是jdk-6u27-linux-i586.bin。下载地址: 2)上传到hadooper用户文件夹下。加入运行权限
chmod 777 jdk-6u27-linux-i586.bin3 )安装
./jdk-6u27-linux-i586.bin4 )配置环境变量:vi /etc/profile增加下面三行
#JAVA_HOMEexport JAVA_HOME=/usr/lib/jvm/jdk1.6/jdk1.6.0_27export PATH=$JAVA_HOME/bin:$PATH5 )运行source /etc/profile使环境变量的配置生效 6 )运行java –version查看jdk版本号,验证是否成功。
4. Hadoop安装
每台节点都要安装hadoop。
上传hadoop-2.5.1.tar.gz到用户hadooper文件夹下。
1)解压
tar -zvxf hadoop-2.5.1.tar.gz2)加入环境变量:vi /etc/profile,尾部加入例如以下
export HADOOP_HOME=/home/hadooper/hadoop/hadoop-2.5.1export HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport HADOOP_MAPRED_HOME=$HADOOP_HOMEexport HADOOP_YARN_HOME=$HADOOP_HOMEexport HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexport CLASSPATH=.:$JAVA_HOME/lib:$HADOOP_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH设置马上生效:
source /etc/profile3)改动Hadoop配置文件
(1)core-site.xml
fs.defaultFS hdfs://MasterServer:9000
(2)hdfs-site.xml
dfs.replication #值不应大于datanode数量1
注:訪问namenode的hdfs使用50070port,訪问datanode的webhdfs使用50075port。要想不区分port,直接使用namenode的IP和port进行全部的webhdfs操作,就须要在全部的datanode上都设置hdfs-site.xml中的dfs.webhdfs.enabled为true。 (3)mapred-site.xmldfs.namenode.name.dir #设置分布式文件系统存放于/home/hadooper/hadoop/dfs 的本地文件夹/home/hadooper/hadoop/dfs/name dfs.datanode.data.dir /home/hadooper/hadoop/dfs/data dfs.webhdfs.enabled true
mapreduce.framework.name yarn mapreduce.jobhistory.address MasterServer:10020 mapreduce.jobhistory.webapp.address MasterServer:19888
jobhistory是Hadoop自带了一个历史server,记录Mapreduce历史作业。
默认情况下。jobhistory没有启动。可用下面命令启动:
sbin/mr-jobhistory-daemon.sh start historyserver(4)yarn-site.xml
(5)slavesyarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.address MasterServer:8032 yarn.resourcemanager.scheduler.address MasterServer:8030 yarn.resourcemanager.resource-tracker.address MasterServer:8031 yarn.resourcemanager.admin.address MasterServer:8033 yarn.resourcemanager.webapp.address MasterServer:8088
SlaveServer(6)分别在hadoop-env.sh和yarn-env.sh中加入JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/jdk1.6/jdk1.6.0_27
5.执行Hadoop
1)格式化
hdfs namenode –format2)启动Hadoop
start-dfs.sh start-yarn.sh也能够用一条命令:
start-all.sh3)停止Hadoop
stop-all.sh4)jps查看进程
7692 ResourceManager8428 JobHistoryServer7348 NameNode14874 Jps7539 SecondaryNameNode5)通过浏览器查看集群执行状态
(1)http://192.168.1.67:50070
(2)http://192.168.1.67:8088/
(3)http://192.168.1.67:19888
6. 执行Hadoop自带的wordcount演示样例
1)建立输入文件:
echo "My first hadoop example. Hello Hadoop in input. " > input2)建立文件夹
hadoop fs -mkdir /user/hadooper3)上传文件
hadoop fs -put input /user/hadooper4)运行wordcount程序
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.1.jar wordcount /user/hadooper/input /user/hadooper/output5)查看结果
hadoop fs -cat /user/hadooper/output/part-r-00000
Hadoop 1My 1example.Hello 1first 1hadoop 1in 1input. 1转载请注明:
版权声明:本文博主原创文章,博客,未经同意不得转载。