网络浪子 发表于 2018-10-29 12:42:44

(?)企业部分之hadoop-Linux整理

  需要纯净的三个虚拟机,建议内存大小为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+'    ##在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.+'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.gzjdk-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.+'
  
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.+'##解决警告
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.+'
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]
查看完整版本: (?)企业部分之hadoop-Linux整理