本文搭建hadoop的环境的需要: 软件: ·VMware Workstation ·CentOS-6.9-x86_64-bin-DVD1.iso (系统镜像) ·NetSarangXmanagerEnterprise5 ·WinSCP ·Notepad++ 环境包: ·hadoop-2.5.0 ·jdk-7u67-linux-x64 |
这里我们的三个系统的主机名分别是 bigdata01.com #主节点 bigdata02.com bigdata04.com 用户名和密码都是glm和123
|
在配置之前,我们需要使用ifconfig命令在linux系统中查出每个系统所对应的IP地址 我的安装的时候Linux系统的主机名和IP地址的对应如下: 192.168.127.136 bigdata01.com #主节点 192.168.127.132 bigdata02.com 192.168.127.140 bigdata04.com ·本地host文件目录
·将我们上面的对应关系放入hosts文件中.
这样我们就可以直接通过主机名来访问虚拟机了(可以通过ping的方式在本地测试) |
这里我们会用到上面提到的一个工具:Xmanager中的Xshell 1、文件--->新建--->分别连接上三台虚拟机 ··············································································· 在这个shell框中可直接鼠标右键复制粘贴 ···············································································
--->切换到root目录下--->修改主机名
--->按对应关系,修改每个系统的主机名 配置hosts文件(每个系统都配置)
|
|
--->配置ssh需切换到普通用户下,也就是glm
--->将ssh复制给其他服务器(包括自己) |
················································································
·在前面配置的HOSTNAME和防护墙都需要重启生效!重启后进行下面的配置!
················································································
--->首先需要分别将三台服务器的opt目录改为glm用户的 --->切换到glm用户下 --->在opt目录下创建文件夹 modules 和 文件夹software 将hadoop安装包和jdk安装包 放在software目录下(使用WinSCP) (第一个服务器只需要传hadoop安装包,jdk每个服务器都需要) -----修改权限 chomd u+x * 使其可执行 --->将jdk解压到modules文件夹下 tar -zxvf jdk-7u67-linux-x64.tar.gz -C ../modules/ --->切换到root用户下修改配置文件(三台服务器都需要配置jdk和hadoop) vi /etc/profile 下面是两种配置JDK的方式,和hadoop配置文件建议使用第二种。 第一种:export JAVA_HOME=/opt/modules/jdk1.7.0_67 export PATH=$PATH:$JAVA_HOME/bin 第二种:# set java export JAVA_HOME=/opt/modules/jdk1.7.0_67 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin #set hadoop export HADOOP_HOME=/opt/modules/hadoop-2.5.0 export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
|
--->将hadoop的安装包解压到modules 文件夹下 --->切换到modules目录下--->修改hadoop文件夹的名字 --->下面修改hadoop的配置文件(需要用到Nopepad++) --->插件--->NppFTP--->Show NppFTP Window--->弹出右边的框即可 --->点击Profile settings --->添加一个新连接,close --->找到如下目录--->开始修改配置文件 --->需要修改的第一类文件(双击文件可打开)--->修改完保存关闭 在第一类配置文件中修改JAVA_HOME ·hadoop-env.sh ·mapred-env.sh ·yarn-env.sh --->需要修改的第二类文件 ·slaves --->配置datanode ·core-site.xml
·hdfs-site.xml
·yarn-site.xml
·············································································· --->创建该目录 --->将配置好的hadoop环境复制到其他节点的modules目录下 切换到根目录centos 的 modules scp -r hadoop-2.5.0/ c2:/opt/modules/ 拷贝 scp -r hadoop-2.5.0/ c3:/opt/modules/ |
--->初始化 --->启动集群 --->输入jps查看进程 ·主节点启动的进程 ·子节点启动的进程 |
关掉集群
然后初始化集群
--->打开本地浏览器输入 bigdata01.com:50070查看hdfs文件系统的页面 --->本地浏览器输入 bigdata01.com:8088查看yarn资源管理页面
·············································································· Hadoop常用端口号: http://blog.csdn.net/baibenny/article/details/53887328 ··············································································· |
··············································································· 上传文件 Bin/hdfs dfs -put /opt/modules/data/aa.txt
创建目录 Bin/hdfs dfs -mkdir -p /user/by4g
删除 Bin/hdfs dfs -rm /aa.txt
Eg: Bin/hadoop jar /opt/mdules/hadoop-2.5.0/share/hadoop/mapreduce/最后一个包 wordcount(这是一个类) /user/by4g/aa.txt /hdfs目录
查看结果 [glm@bigdata01 hadoop-2.5.0]$ bin/hdfs dfs -cat /opt/modules/hadoop-2.5.0/p*
Eg: [glm@bigdata01 hadoop-2.5.0]$ bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0-cdh5.3.6.jar pi 10 10 ··············································································· 我们也可以使用mapreduce编程模型实现wordcount的算法,放入系统中使用上述命令执行 ··············································································· |
3.2 启动 hadoop 集群
进入 master 的~/hadoop 目录,执行以下操作: $ bin/hadoop namenode -format
格式化 namenode,第一次启动服务前执行的操作,以后不需要执行。然后启动 hadoop: $ sbin/start-all.sh
通过 jps 命令能看到除 jps 外有 5 个进程: $ jps
4866 NodeManager
4370 NameNode
4899 Jps
4648 SecondaryNameNode
4779 ResourceManager
4460 DataNode
4 ZooKeeper 集群安装配置
解压 zookeeper-3.3.2.tar.gz 并重命名为 zookeeper。
4.1 修改配置文件 zoo.cfg
进入/zookeeper/conf 目录:
$ cp zoo_sample.cfg zoo.cfg
拷贝 zoo_sample.cfg 文件为 zoo.cfg,并编辑如下:
dataDir=/home/hadoop/zookeeper/data
server.1=192.168.59.133:2888:3888
server.2=192.168.59.134:2888:3888
server.3=192.168.59.135:2888:3888
或
dataDir=/opt/modules/hadoop-2.5.0/zookeeper/data
server.1=c1:2888:3888
server.2=c2:2888:3888
server.3=c3:2888:3888
4.2 新建并编辑 myid 文件
在 dataDir 目录下新建 myid 文件,输入一个数字(master 为 1,slave1 为 2,
slave2 为 3):
$ mkdir /home/hadoop/zookeeper/data
$ echo "1" > /home/hadoop/zookeeper/data/myid
同样使用 scp 命令进行远程复制,只不过要修改每个节点上 myid 文件中的数
字。
4.3 启动 ZooKeeper 集群
在 ZooKeeper 集群的每个结点上,执行启动 ZooKeeper 服务的脚本:
切换到
$ ./zookeeper/bin/zkServer.sh start
云计算与大数据培训
$ /etc/init.d/iptables stop $ service iptables stop
(4) 修改禁用 selinux: /etc/selinux/config 文件,设置"SELINUX=disabled"
关掉集群
然后初始化集群
5 HBase 集群安装配置
解压 hbase-1.0.1.1-bin.tar.gz 并重命名为 hbase。
5.1 hbase-env.sh
export JAVA_HOME=/opt/modules/jdk1.7.0_67
export HBASE_CLASSPATH=/opt/modules/hadoop-2.5.0
export HBASE_MANAGES_ZK=false
5.2 hbase-site.xml
5.3 更改 regionservers
在 regionservers 文件中添加 slave 列表:
c1
c2
c3
5.4 分发并同步安装包
将整个 hbase 安装目录都拷贝到所有 slave 服务器:切换到hbase目录下
$ scp -r ./hbase/ c3:/opt/modules/
$ scp -r ./hbase/ c2:/opt/modules/
6 启动集群
6.1 启动 ZooKeeper
./zookeeper/bin/zkServer.sh start
6.2 启动 hadoop
./hadoop/sbin/start-all.sh
6.3 启动 hbase
./hbase/bin/start-hbase.sh
6.4 启动后,master 上进程和 slave 进程列表
[hadoop@master ~]$ jps
6225 |
Jps |
|
|
|
|
|
2897 |
SecondaryNameNode |
|
# hadoop 进程 |
|
|
|
2710 |
NameNode |
|
# hadoop master 进程 |
|||
3035 |
ResourceManager |
|
# hadoop 进程 |
|
|
|
5471 |
HMaster |
|
# hbase master 进程 |
|
|
|
|
|
|
第 8 页 共 9 |
页 |
|
云计算与大数据培训 |
|
|
|
|
|
2543 |
QuorumPeerMain |
# zookeeper 进程 |
[hadoop@slave1 ~]$ jps |
|
|
4689 |
Jps |
|
2533 |
QuorumPeerMain |
# zookeeper 进程 |
2589 |
DataNode |
# hadoop slave 进程 |
4143 |
HRegionServer |
# hbase slave 进程 |
6.5 进入 hbase shell 进行验证
[hadoop@master ~]$ hbase/bin/hbase shell
2015-07-20 00:42:11,725 WARN [main] util.NativeCodeLoader: Unable to loa d native-hadoop library for your platform... using builtin-java classes where ap plicable
HBase Shell; enter 'help<RETURN>' for list of supported commands. Type "exit
Version 1.0.1.1, re1dbf4df30d214fca14908df71d038081577ea46, Sun May 17 1 2:34:26 PDT 2015
hbase(main):001:0> list
TABLE
0 row(s) in 1.6950 seconds => []
hbase(main):002:0> status
2 servers, 0 dead, 1.0000 average load hbase(main):003:0>
Hive 也有 3 种运行模式:
1. 内嵌模式
将元数据保存在本地内嵌的 Derby 数据库中,这是使用 Hive 最简单的方式。但是这种方式缺点也比较明显,因为一个内嵌的 Derby 数据库每次只能访问一个数据文件,这也就意味着它不支持多会话连接。
2. 本地模式
这种模式是将元数据保存在本地独立的数据库中(一般是 MySQL),这用就可以支持多会话和多用户连接了。
3. 远程模式
此模式应用于 Hive 客户端较多的情况。把 MySQL 数据库独立出来,将元数据保存在远端独立的 MySQL 服务中,避免了在每个客户端都安装 MySQL 服务从而造成冗余浪费的情况。
我们安装的是本地模式:
1.下载apache-hive-2.1.1-bin.tar.gz解压到/opt/modules/hive目录并改名hive
下载mysql JDBC驱动包mysql-connector-java-5.1.44-bin.jar
放到/opt/modules/hive/lib目录
3.配置环境变量
输入命令Vi /ect/profile
# Hive environment
export HIVE_HOME=/opt/modules/hive
export PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH
加入这两行
4. source /etc/profile 生效环境变量
5.修改hive配置文件
cd /opt/modules/hive/conf
把下面的文件复制一份并改名
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
cp hive-log4j2.properties.template hive-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
6. 修改hive-env.sh
export HADOOP_HOME=/opt/modules/hadoop-2.5.0
export HIVE_CONF_DIR=/opt/modules/hive/conf
export HIVE_HOME=/opt/modules/hive
export HIVE_AUX_JARS_PATH=/opt/modules/hive/lib
在hdfs 中创建下面的目录 ,并且授权
hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -mkdir –p /user/hive/tmp
hdfs dfs -chmod -R 777 /user/hive/warehouse
hdfs dfs -chmod -R 777 /user/hive/tmp
如果创建失败,做如下操作
此方法针对/opt/modules/hadoop-2.5.0/lib/native/下面没有文件所导致的报错(包括隐藏文件)注意每个节点都要有!
1、将此压缩包拷贝到集群、/opt/software/目录下
2、解压tar -xvf /opt/softwore/hadoop-native-64-2.5.0.tar -C /opt/modules/hadoop-2.5.0/lib/native/
解压完成,文件全是隐藏文件,
若解压不成功需要root权限
3修改主节点hadoop的hadoop-env.sh文件
修改下面三行
export HADOOP_HOME=/opt/modules/hadoop-2.5.0
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native/"
若没有自行添加
4、启动集群
5、查看状态
hadoop checknative –a
如果mysql 创建不能登录请参考下面网址的办法!
https://blog.csdn.net/qq_33624294/article/details/53199455?locationNum=1&fps=1
7.*修改hive-site.xml*
快捷键:ctrl + Fjavax.jdo.option.ConnectionURL<
<property>
<name>javax.jdo.option.ConnectionURLname>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=falsevalue>
property>
快捷键:ctrl + F javax.jdo.option.ConnectionDriverName
<property>
<name>javax.jdo.option.ConnectionDriverNamename>
<value>com.mysql.jdbc.Drivervalue>
property>
快捷键:ctrl + F javax.jdo.option.ConnectionUserName
<property>
<name>javax.jdo.option.ConnectionUserNamename>
<value>连接mysql的用户value>
property>
快捷键:ctrl + F javax.jdo.option.ConnectionPassword
<property>
<name>javax.jdo.option.ConnectionPasswordname>
<value>密码value>
快捷键:ctrl + F,搜索hive.metastore.warehouse.dir
改红色部分
快捷键:ctrl + F,搜索hive.exec.scratchdir
改红色部分
快捷键:ctrl + F,搜索hive.querylog.location
改红色部分
在配置文件 hive-site.xml 里面把
{system:java.io.tmpdir}
改成 /opt/modules/hive/tmp
把 {system:user.name} 改成 {user.name}
8.初始化hive
在此之前一定要把hadoo服务全部启动(注意一个服务都不能少,否则初始化失败)
schematool -dbType mysql -initSchema
输入命令hive
hive>
测试hive
?
show tables;
OK
hh
Time taken: 0.222 seconds, Fetched: 1 row(s)
如果初始化失败请仔细检查 hive-site.xml
到这里就结束了!
centos 6.9安装mysql的详细教程转载 2017-07-06 作者:叶落知秋 我要评论
这篇文章主要介绍了centos 6.9安装mysql的详细教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
1、确认mysql是否已安装,有下面的代码可知
[root@cdh1 zjl]# yum list installed mysql*
2、卸载已安装的mysql,建议使用yum命令,因为yum命令可以自动删除与mysql相关的依赖;如果使用rpm命令,则还需要手动去删除和mysql相关的文件,比较麻烦
[root@cdh1 zjl]# yum remove mysql-libs.x86_64
3、用whereis命令查找mysql相关的文件,因为步骤2用yum来卸载,所以mysql被清理得很干净;如果使用rpm将会很麻烦,有很多的文件需要手动清除
?12 [root@cdh1 zjl]# whereis mysql
4、查看系统中的mysql安装包
[root@cdh1 zjl]# yum list mysql*
Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile * base: mirrors.zju.edu.cn * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com Available Packages MySQL-python.x86_64 1.2.3-0.3.c1.1.el6 base mysql.x86_64 5.1.73-8.el6_8 base mysql-bench.x86_64 5.1.73-8.el6_8 base mysql-connector-java.noarch 1:5.1.17-6.el6 base mysql-connector-odbc.x86_64 5.1.5r1144-7.el6 base mysql-devel.i686 5.1.73-8.el6_8 base mysql-devel.x86_64 5.1.73-8.el6_8 base mysql-embedded.i686 5.1.73-8.el6_8 base mysql-embedded.x86_64 5.1.73-8.el6_8 base mysql-embedded-devel.i686 5.1.73-8.el6_8 base mysql-embedded-devel.x86_64 5.1.73-8.el6_8 base mysql-libs.i686 5.1.73-8.el6_8 base mysql-libs.x86_64 5.1.73-8.el6_8 base mysql-server.x86_64 5.1.73-8.el6_8 base mysql-test.x86_64 5.1.73-8.el6_8 base
5、选择mysql-server来安装
-
[root@cdh1 zjl]# yum install mysql-server
7、启动mysql服务
[root@cdh1 zjl]# service mysqld start
8、连接一下试一下,直接mysql然后\q关闭连接
[root@cdh1 zjl]# mysql
Welcome to the MySQL monitor
mysql> \q
Bye
9、设置mysql开机启动
[root@cdh1 zjl]# chkconfig mysqld on;
10、开启3306端口,并保存
[root@cdh1 zjl]# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
[root@cdh1 zjl]# /etc/rc.d/init.d/iptables save
https://www.cnblogs.com/gumuzi/p/5711495.html
11、连接mysql设置密码
[root@cdh1 zjl]# mysql
mysql> use mysql;
Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed
mysql> update user set password=password('123') where user='root';
Query OK, 3 rows affected (0.02 sec) Rows matched: 3 Changed: 3 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
mysql> \q Bye
12、重启mysql服务
[root@cdh1 zjl]# service mysqld restart
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]
如果还不成功
一般这个错误是由密码错误引起,解决的办法自然就是重置密码。
假设我们使用的是root账户。
1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:
#vim /etc/my.cnf(注:windows下修改的是my.ini)
在文档内搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:
保存文档并退出:
#:wq
2.接下来我们需要重启MySQL:
/etc/init.d/mysql restart(有些用户可能需要使用/etc/init.d/mysqld restart)
3.重启之后输入#mysql即可进入mysql。
4.接下来就是用sql来修改root的密码
mysql> use mysql;
mysql> update user set password=password("你的新密码") where user="root";
mysql> flush privileges;
mysql> quit
到这里root账户就已经重置成新的密码了。
5.编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。大功告成!
网上有很多关于这个问题的解决说明,很多刚接触的朋友可能比较迷惑的是在自己的平台上找不到my.cnf或者my.ini文件,如果你是Linux,使用如下方式可以搜索到:
至于windows平台,去安装目录下找一下my.ini吧。