作为一名老java程序员,最近想学学大数据知识,活到老学到老了,看了网上很多培训真是良莠不齐啊,如果有点基础的人员还是看官网自学吧。如果对大数据架构不清请的初学者可以参考网上一些公开课,了解要掌握哪些知识就好了,还是得在实际中应用多动手,言归正传。
按照官网教程进行安装过程:
在CentOS7上进行安装,本地虚拟机上安装好后,网络环境配置可以参考之前转发的进行配置。
① 配置java_home
hadoop3.0必须在java1.8上运行,默认路径:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64,
也可下载java解压后,在/etc/profile中配置环境变量。
② 安装ssh
$ yum -y install openssh-server $ yum -y install rsyn检查本地是否需要密码:
$ ssh localhost
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys
③ 修改hosts文件
如果不更改此文件启动hadoop会报错:ERROR impl.MetricsSystemImpl: Error getting localhost name. Using 'localhost'...
在hosts文件中增加配置:
$ vi /etc/hosts 10.0.2.15 space (格式IP+域名或localhost) 按Esc键后,输入:wq保存推出。
$ yun -y install wget $ cd /home/ $ wget http://mirrors.hust.edu.cn/apache/hadoop/common/current/hadoop-3.0.0.tar.gz $ tar -zxvf hadoop-3.0.0.tar.gz $ cd /home/hadoop-3.0.0/
在解压后hadoop目录里,修改etc/hadoop/hadoop-env.sh文件:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64$ bin/hadoop试着运行如下命令 :
$ bin/hadoop4、本地模式
hadoop默认情况,就是个非分布式的配置,用户可以进行debug。
$ mkdir input $ cp etc/hadoop/*.xml input $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0.jar grep input output 'dfs[a-z.]+' $ cat output/*
① etc/hadoop/core-site.xml:
fs.defaultFS hdfs://localhost:9000
② etc/hadoop/hdfs-site.xml:
dfs.replication 1
③ 修改用户定义,分别编辑开始和关闭脚本,增加内容:
$ vim sbin/start-dfs.sh
$ vim sbin/stop-dfs.sh
HDFS_DATANODE_USER=root HADOOP_SECURE_DN_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root④ 如果yarn启动, 分别编辑开始和关闭脚本,增加内容:
$ vim sbin/start-yarn.sh
$ vim sbin/stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root
$ bin/hdfs namenode -format
$ sbin/start-dfs.sh
在浏览器中输入:http://localhost:9870/③ 在浏览器中输入: http://localhost:9870/
④ 创建执行MapReduce作业所需的HDFS目录:
$ bin/hdfs dfs -mkdir /user $ bin/hdfs dfs -mkdir /user/
⑤ 将input文件复制到hdfs文件系统:
$ bin/hdfs dfs -mkdir input $ bin/hdfs dfs -put etc/hadoop/*.xml input
⑥ 运行例子:
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0.jar grep input output 'dfs[a-z.]+'
⑦ 查看ouput文件
$ bin/hdfs dfs -get output output $ cat output/*或者
$ bin/hdfs dfs -cat output/*
⑧ 停止进程:
$ sbin/stop-dfs.sh
上章节①~④步骤设置完成后,做如下操作:
① 修改etc/hadoop/mapred-site.xml:
mapreduce.framework.name yarn
修改etc/hadoop/yarn-site.xml:
yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.env-whitelist JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
② 启动
$ sbin/start-yarn.sh
③ 浏览器中输入http://localhost:8088/
④ 停止启动
$ sbin/stop-yarn.sh