需要纯净的三个虚拟机,建议内存大小为1024M,注意要将时间、解析配置成一致,防火墙、SElinux关闭。使用nfs进行同步。
若过程中获得警告,可能是由于编译环境32位或jdk版本过低的原因
1.安装和配置环境
所需软件包:hadoop-1.2.1.tar.gz jdk-6u32-linux-x64.bin
【server1/server2/server3】
useradd -u 900 hadoop
echo westos | passwd --stdin hadoop
【server1】
sh jdk-6u32-linux-x64.bin
mv jdk1.6.0_32/ /home/hadoop/java
mv hadoop-1.2.1.tar.gz /home/hadoop/
su - hadoop
tar zxf hadoop-1.2.1.tar.gz
ln -s hadoop-1.2.1 hadoop
vim .bash_profile 修改环境变量为以下内容:
export JAVA_HOME=/home/hadoop/java
export> export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
source .bash_profile
echo $JAVA_HOME
cd /home/hadoop/hadoop/confvim hadoop-env.sh 修改第9行,修改Java的目录
9 export JAVA_HOME=/home/hadoop/java
jps ##查看Java运行的进程,当前无cd ..
mkdir input
cp conf/*.xml input/
ls input/ ##一些测试文件
bin/hadoop jar hadoop-examples-1.2.1.jar grep input out 'dfs[a-z.]+' ##在input过滤dfs开头的文件在output输出ls out/
cat out/*
2.分布式文件系统
cd /home/hadoop/hadoop/conf
cat masters
cat slaves
ssh localhost ##需要密码,要实现无密码登陆ssh-keygen
ssh-copy-id localhost
测试:
ssh localhost
ssh 172.25.19.1
ssh server1.example.com
测试是否可以进行无密码登陆
cd /home/hadoop/hadoop/confvim core-site.xml 添加内容如下:
fs.default.name
hdfs://172.25.19.1:9000
vim mapred-site.xml 添加内容如下:
mapred.job.tracker
172.25.19.1:9001
vim hdfs-site.xml 添加内容如下:
dfs.replication
1
cd /home/hadoop/hadoop/
bin/hadoop namenode -format ##格式化
ls /tmp ##放在/tmp下
#bin/start-all.sh ##也可以用此命令开启所有服务bin/start-dfs.sh ##开启分布式
jps
bin/start-mapred.sh
jps
http://172.25.19.1:50030
http://172.25.19.1:50070
bin/hadoop fs
bin/hadoop fs -put input test ##上传 上传文件的存放目录为/usr/hadoop/,此目录会自动建立
bin/hadoop fs -ls test
bin/hadoop jar hadoop-examples-1.2.1.jar wordcount test output ##计算字数
bin/hadoop fs -ls out/
bin/hadoop fs -cat out/*
bin/hadoop fs -get out test##将out下载本地查看
cat test/*
以上都可以在网页中查看,并可以查看任务进度
3.完整分布式文件系统
【server1/server2/servre3】
在root用户下
yum install -y nfs-utils
/etc/init.d/rpcbind start
【server1】
/etc/init.d/nfs startvim /etc/exports 添加以下内容:
/home/hadoop *(rw,all_squash,anonuid=900,anongid=900)
exportfs -rv
exportfs -v
【server2/server3】
showmount -e 172.25.19.1
mount 172.25.19.1:/home/hadoop/ /home/hadoop/
df
su - hadoop
【server1】
su - hadoop ##检测无密码认证
ssh 172.25.19.2
logout
ssh 172.25.19.3
logout
jps ##进程都开着bin/stop-all.sh
jps##tasktracker datanode 没有被关掉
bin/hadoop-daemon.sh stop tasktracker##手动关闭
bin/hadoop-daemon.sh stop datanode
jps ##查看是否被完全关闭(只剩下一个JPS)
cd conf/vim hdfs-site.xml 把1改为2
vim slaves 添加以下内容:
172.25.19.2
172.25.19.3
vim masters 添加以下内容:
172.25.19.1
bin/hadoop namenode -format ##注意(Y/N)选项是大写bin/start-dfs.sh
jps
此时,在server2/server3上执行jps,DataNode进程运行
bin/start-mapred.sh
jps
此时,server2/server3上执行jps,TaskTracker进程运行
【serve2/server3】
jps
网页
格式化后,先前上传的文件消失
两个节点
测试:
bin/hadoop fs -put input/ test ##主从节点都可以上传,但最好在主节点上传bin/hadoop jar hadoop-examples-1.2.1.jar grep test output 'dfs[a-z].+'bin/hadoop dfsadmin -report
dd if=/dev/zero of=bigfile bs=1M count=100
bin/hadoop fs -put bigfile test2
bin/hadoop dfsadmin -report
添加一个节点,再增加一个虚拟机
【server4】
useradd -u 900 hadoop
echo westos | passwd --stdin hadoop
yum install -y nfs-utils
/etc/init.d/rpcbind start
showmount -e 172.25.19.1
mount 172.25.19.1:/home/hadoop/ /home/hadoop/
df
su - hadoopcd /home/hadoop/hadoop/confvim slaves 添加一个节点:172.25.19.4
cd ..
bin/hadoop-daemon.sh start datanode
jps
bin/hadoop-daemon.sh start tasktracker
jps
【serevr1】
bin/hadoop dfsadmin -report
cd /home/hadoop/hadoop/confvim mapred-site.xml 添加以下内容:
dfs.hosts.exclude
/home/hadoop/hadoop/conf/datanode-excludes
vim /home/hadoop/hadoop/conf/datanode-excludes 添加要删除节点的IP
bin/hadoop dfsadmin -refreshNodesbin/hadoop dfsadmin -report
bin/hadoop dfsadmin -report
【server3】
jps
bin/hadoop-daemon.sh stop tasktracker
jps
二、新版本
软件包:hadoop-2.6.4.tar.gz jdk-7u79-linux-x64.tar.gz
【server1】
cd conf
vim slaves
删掉关闭的节点
cd ..
bin/stop-all.sh
jps
【server1/server2/server3/server4】
rm -rf /tmp/* 【server1】
mv java/ jdk-1.6.32
tar zxf jdk-7u79-linux-x64.tar.gz
ln -s jdk1.7.0_79 java
logout
su - hadoop
java -version
rm -rf hadoop
tar zxf hadoop-2.6.4.tar.gz
ln -s hadoop-2.6.4 hadoop
cd /home/hadoop/hadoop/etc/hadoopvim hadoop-env.sh 修改25行并添加以下内容:
25 export JAVA_HOME=/home/hadoop/java
26 export HADOOP_PREFIX=/home/hadoop/hadoop
cd /home/hadoop/hadoop/bin/hadoop ##成功安装
mkdir input
cp etc/hadoop/*.xml input/
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar grep input output 'dfs[a-z].+'
cat output/*
有一个警告
解决方法:安装hadoop-native-64-2.6.0.tar
tar -xf hadoop-native-64-2.6.0.tar -C hadoop/lib/native/
cd hadoop
rm -rf output/
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar grep input output 'dfs[a-z].+'##解决警告
cd /home/hadoop/hadoop/etc/hadoopvim slaves 删掉localhost,添上节点的IP
172.25.19.2
172.25.19.3
vim core-site.xml 修改内容为以下:
fs.defaultFS
hdfs://172.25.19.1:9000
vim hdfs-site.xml 修改内容为以下:
dfs.replication
2
cd /home/hadoop/hadoop
bin/hdfs namenode -format ##格式化
sbin/start-dfs.s
jps
server2/server3 jps
此时目录为空,且新本版不会自己建立目录,所以无法直接上传,需要先建立目录
bin/hdfs dfs -mkdir /user/
bin/hdfs dfs -mkdir /user/hadoop
测试:
bin/hdfs dfs -put input/ testbin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar grep test output 'dfs[a-z].+'
bin/hdfs dfs -cat output/*cd /home/hadoop/hadoop/etc/hadoop
vim yarn-site.xml
添加以下内容:
yarn.resourcemanager.hostname
server1.example.com
sbin/start-yarn.shjps
server2/server3 jps
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com