一、hadoop集群环境建立,一个namenode 二个datanode:
1.虚拟机安装Ubuntu Linux时,建立pmpa用户,如何修改root密码:
以pmpa用户登录,输入命令 sudo passwd root就可以设定root的密码了。
其实sudo是让普通用户以管理员身份来执行命令,passwd root是设定root用户密码的意思。
2. 可以使用SSH远程连接Ubuntu Linux:
安装 SSH(Secure Shell) 服务以提供远程管理服务,
sudo apt-get install openssh-server就可以,Ubuntu默认是安装了openssh-clinet的了,如果安装server时报错,需要先安装对应版本的clinet才能继续安装Server(安装哪个版本的clinet需要根据日志决定)。
3. 设置Ubuntu可以使用root用户使用SSH连接Linux,主要为了FTP上传文件。
(1)将 /etc/ssh/sshd_confg中PermitRootLogin no 改为yes;注释注释掉 #PermitRootLogin without-password,添加 PermitRootLogin yes。
(2)重启SSH服务 sudo service ssh restart。
4. 免密码登陆设置
在hadoop的不同结点间用ssh命令连接时,不需要输入密码直接登陆。退出ssh命令用Ctrl+D。
(1)在hadoop多个不同结点上都生成公钥:
pmpa@ubuntu:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pmpa/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/pmpa/.ssh/id_rsa.
Your public key has been saved in /home/pmpa/.ssh/id_rsa.pub.
The key fingerprint is:
4f:e9:df:56:9e:56:83:24:84:1b:a2:f8:38:da:52:b8 pmpa@ubuntu
The key's randomart image is:
+--[ RSA 2048]----+
| . |
| . o . |
| . . . + |
| . . . o . |
| . o S o o . |
| . + . + . .o|
| = . o o+|
| E . . ..o.|
| . ..o |
+-----------------+
(2)在生成的.ssh目录中,新建一个文件authorized_keys,在这个文件中。将不同服务器上的公钥文件(id_rsa.pub)中的内容都放在这个文件里,就可以访问了。注意:对于服务器自己,也要将自己的id_rsa.pub的内容放到自己的authorized_keys里。也就是可以无密码访问自己。
例如将namenode(192.168.58.139)的id_rsa.pub文件 拷贝到datanode(192.168.58.141)上:
pmpa@ubuntu:~/.ssh$ scp ./id_rsa.pub pmpa@192.168.58.141:/home/pmpa/.ssh/authorized_keys
pmpa@192.168.58.141's password:
id_rsa.pub 100% 393 0.4KB/s 00:00
pmpa@ubuntu:~/.ssh$ ssh 192.168.58.141
Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-32-generic x86_64)
* Documentation: https://help.ubuntu.com/
Last login: Tue Mar 31 07:28:15 2015 from 192.168.58.1
这样在从139服务器ssh到141服务器时就不需要再输入密码了。也就是说A服务器的公钥如果存在于B服务器的authorized_keys文件中时,那么从A服务器ssh到B服务器时就不再需要输入密码了。
5.安装java并设置环境变量
安装java时,切换到root用户。下载jdk的tar包(oracle官网获得),解压即可,可以放在任何目录,只不过在设置环境变量时能找到这个目录即可。
修改用户目录下的.bashrc文件,加入下边2个环境变量:
export JAVA_HOME=/home/pmpa/jdk1.8.0_40
export PATH=$PATH:$JAVA_HOME/bin
加入了2个环境变量后,执行该文件.bashrc 命令:
source .bashrc
在完成了namenode的java的安装之后呢,可以将java解压的文件夹直接拷贝到datanode1和datanode2上,并且将环境变量的文件.bashrc也拷贝过去,
scp -r $JAVA_HOME datanode1:/home/pmpa
scp -r .bashrc datanode1:/home/pmpa
scp -r $JAVA_HOME datanode2:/home/pmpa
scp -r .bashrc datanode2:/home/pmpa
6.网络参数配置:
(1)设置主机名:vi /etc/hostname
修改后重启系统(root用户) reboot
(补充知识点:ubuntu中的VI编辑器insert模式,按上下左右键显示ABCD字母 ,需要装下vim, sudo apt-get install vim)
设置ip(建议设置固定ip): vi /etc/sysconfig/network-scripts/ifcfg-eth0
Ip与主机名映射关系设置:vi /etc/hosts
由于Hadoop的3个结点分别命名为namenode、datanode1、datanode2,所以需要简化ssh登陆,譬如ssh namenode、ssh datanode1、ssh datanode2,需要在/etc/hosts中加入这几个ip的命名
192.168.58.139 namenode
192.168.58.141 datanode1
192.168.58.142 datanode2
7.安装和配置分布式Hadoop:
(1)下载hadoop的安装包,并解压(使用pmpa账户):
tar -zxvf hadoop-2.6.0.tar.gz
(2)首先修改hadoop-env.sh,这个文件主要修改的作用是export JAVA_HOME,也就是让hadoop可以找到java,2.6.0的版本已经不需要修改了。
(3)添加环境变量 HADOOP_HOME和PATH
(4)配置core-site.xml 文件,
主要为了指定名称节点(namenode)和监听的端口号,例如:
<property>
<name>fs.default.name</name>
<value>hdfs://namenode:8980</value>
<final>true</final>
</property>
<name>fs.default.name</name>:表示这个值是用来指定名称节点在哪里,<value>hdfs://namenode:8980</value>表示名称节点会监听namenode主机的8980端口。<final>true</final> final属性表示无法被作业配置覆盖。
<property>
<name>hadoop.tmp.dir</name>
<value>/home/pmpa/hadoop-2.6.0/tmp</value>
</property>
<name>hadoop.tmp.dir</name>是为了指定hadoop的临时路径。
(5)配置hdfs-site.xml 文件:
在$HADOOP_HOME下创建2个目录name和data:mkdir name; mkdir data
用来指定namenode和datanode存储数据的目录。
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<name>dfs.replication</name>:指定HDFS系统的复制因子,这个例子中是复制2份。
(6)配置mapred-site.xml
(9)启动和验证方法:
./sbin/start-dfs.sh
./sbin/start-yarn.sh
浏览器访问:http://192.168.58.139:50070/ 其中192.168.58.139是namenode的ip,
pmpa@namenode:~/hadoop-2.6.0/sbin$ ./stop-yarn.sh
stopping yarn daemons
stopping resourcemanager
datanode2: no nodemanager to stop
datanode1: no nodemanager to stop
no proxyserver to stop
查看hdfs系统的目录内容:
hdfs dfs -ls /
hdfs dfs -mkdir /wcin
配置core-site.xml,fs.defaultFS的配置应该输入IP,我在使用hosts文件中配置的namenode会报错。
查看mysql的配置文件:
/etc/mysql/my.cnf
hive安装时报错如下:
[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
at jline.TerminalFactory.create(TerminalFactory.java:101)
at jline.TerminalFactory.get(TerminalFactory.java:158)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:229)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
at org.apache.hadoop.hive.cli.CliDriver.getConsoleReader(CliDriver.java:773)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:715)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Exception in thread "main" java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
at jline.console.ConsoleReader.<init>(ConsoleReader.java:230)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
at org.apache.hadoop.hive.cli.CliDriver.getConsoleReader(CliDriver.java:773)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:715)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
~/hadoop-2.6.0/share/hadoop/yarn/lib
这个目录下的jline-0.9.94.jar,版本过低,用hive目录下的lib里jline-2.12.jar放在~/hadoop-2.6.0/share/hadoop/yarn/lib目录中。
cp /home/pmpa/apache-hive-1.1.0-bin/lib/jline-2.12.jar ./
分享到:
相关推荐
总的来说,通过`hadoop-1.2.1.tar.gz`文件,我们可以学习Hadoop的基础知识,包括MapReduce编程模型、HDFS的架构以及YARN的资源调度。虽然Hadoop已经发展到更高的版本,但理解早期版本对于理解其演进历程和当前版本的...
#### 四、Hadoop基础知识 1. **Hadoop架构**:了解Hadoop的核心组件及其作用。 2. **HDFS详解**:深入理解Hadoop分布式文件系统的工作原理。 3. **MapReduce框架**:学习MapReduce算法的工作流程和实现方法。 4. **...
文档为PPT,与百度文库里的Hadoop大数据开发基础为一套,里面内容相对比较基础~可做基础学习资料PPT。 【实例截图】 【核心代码】 Hadoop大数据开发基础-PPT课件 └── 37066-Hadoop大数据开发基础-PPT课件 ├── ...
Hadoop则是大数据存储和处理的基础,由HDFS(Hadoop Distributed File System)和MapReduce组成。HDFS为大规模数据提供了可靠的分布式存储,而MapReduce则提供了并行计算模型。在Python和Spark中,可以通过Hadoop的...
### Hadoop大数据基础学习知识点概览 #### 一、Hadoop简介 1. **定义**: - Hadoop是一个能够对大量数据进行分布式处理的软件框架。 - 它能够可靠地存储和处理PB级别的数据。 2. **背景**: - 随着互联网的...
### Hadoop入门学习文档知识点梳理 #### 一、大数据概论 ##### 1.1 大数据概念 - **定义**:大数据是指无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。 - **特点**: - **Volume(大量)...
Hadoop作为开源分布式系统基础架构,由Apache基金会开发,允许用户在不了解分布式底层细节的情况下开发分布式程序,充分利用集群的威力进行高速运算和存储。它解决了大数据存储和处理的问题,尤其适合处理非结构化...
总结来说,零基础学习Hadoop需要系统地了解Hadoop的基本概念、掌握Linux操作系统基础、了解虚拟化技术、学习Java编程语言。在学习过程中,从了解Hadoop的安装方式,到搭建环境,再到实际配置和使用,每一步都需要...
- **应用场景**:Hadoop 在数据服务基础平台建设、用户画像构建、网站点击流日志数据挖掘等领域有着广泛的应用。 - **就业前景**:随着大数据产业被纳入国家十三五规划以及智慧城市项目的兴起,Hadoop 相关的就业...
### Hadoop基础入门知识点详解 #### 一、Hadoop概览与背景介绍 **1.1 什么是Hadoop** Hadoop是由Apache基金会维护的一个开源软件框架,它支持使用普通的硬件来构建大规模的数据处理集群。Hadoop的核心优势在于...
Hadoop社区版由Apache主导,100%开放源代码,是其他发行版的基础。不同发行版如Cloudera、 Hortonworks、MapR等则对社区版进行优化和定制,以适应不同的企业需求。 【大数据技术的挑战与目标】大数据技术的挑战主要...
传智播客Hadoop基础学习7天课程,值得拥有学习。讲解很基础,好理解。
hadoop零基础学习到上手,手把手叫你入门,视频截图动态讲解
Hadoop 安装 学习 入门教程 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, ...
Hadoop是大数据处理领域的重要...这份资料将帮助你构建扎实的Hadoop基础,为后续的大数据学习和项目实施打下坚实的基础。在实践中不断探索和掌握Hadoop,你将能够驾驭这个强大的大数据平台,解决各种复杂的数据挑战。
这份学习资料中的“java及hadoop学习视频百度网盘地址.txt”可能是提供的一系列视频教程链接,可以帮助学习者通过观看视频来直观地学习Java和Hadoop。而“特价淘-更多的优惠等你来.url”可能是促销信息,对于学习...
在本练习中,读者将学习如何利用Python进行数据导入、处理、清洗和可视化,为后续的机器学习分析打下基础。 其次,Apache Spark 2.0是分布式计算框架,尤其适用于大数据处理。Spark以其内存计算和低延迟特性,显著...
│ ├─视频-零基础学习Hadoop3.0-HDFS从入门到源码 │ │ │ 00--课程内容大纲和学习目标.mp4 │ │ │ 01--大数据课程导论--大数据概念.mp4 │ │ │ 02--大数据课程导论--大数据特点(5V特征).mp4 │...
【Hadoop基础知识学习与总结】 Hadoop是一个由Apache基金会开发的开源分布式系统基础架构,它的设计目标是处理和存储海量数据。Hadoop这个名字源于创始人Doug Cutting的孩子为一只棕黄色大象玩具所取的名字,象征着...