hadoop 配置

=========================== 在所有数据节点执行以下命令 ======================

================================ 安装ssh ==========================
ubuntu默认的ssh服务是没有安装的.SSH分客户端openssh-client和openssh-server
如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo apt-get install openssh-client)
如果要使本机开放SSH服务就需要安装openssh-server  sudo apt-get install openssh-server
然后确认sshserver是否启动了:
ps -e |grep ssh
如果看到sshd那说明ssh-server已经启动了。
如果没有则可以这样启动:sudo /etc/init.d/ssh start

======================= 创建hadoop用户 =============================

su -
useradd -s /bin/bash -m hadoop
passwd hadoop (设置密码为hadoop)

===== 设置SSH免密码登录:生成无密码登录的私匙  =================

1. 安装SSH:
$ sudo apt-get install ssh

2. 查看是否生成目录.ssh:
$ ls -al /home/hadoop/

3. 如果没有,手动创建目录.ssh:
$ mkdir /home/hadoop/.ssh
 cd /home/hadoop/.ssh

4. 生成公、私密钥:
 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

5. 将公钥加到用于认证的公钥文件中:
 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

6. 验证是否SSH安装成功:
$ ssh -version

OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 Sep 2011
Bad escape character 'rsion'.

7. 免密码登陆:
$ ssh localhost

Linux xsj-virtual-machine 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 i686 GNU/Linux
Ubuntu 10.10

Welcome to Ubuntu!
* Documentation:  
https://help.ubuntu.com/

New release 'natty' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Wed May 23 21:26:46 2012 from xsj-virtual-machine

========================== 安装jdk ===================================
安装前要查看系统版本
uname -a
下载jdk
http://www.oracle.com/technetwork/java/javase/downloads/index.html(jdk-6u22-linux-i586.bin)
cp jdk-6u22-linux-i586.bin /usr/local
cd /usr/local
chmod +x jdk-6u22-linux-i586.bin
./jdk-6u22-linux-i586.bin
这里jdk被安装到了/usr/local/jdk1.6.0_22目录下,[可能是版本问题,没有提示手动输入安装目录]

设置环境变量 vi /etc/profile
#set java
JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
使配置生效
source /etc/profile
重启系统 在终端输入java -version将会显示Java版本的相关信息

======================= 配置hadoop ======================================
1)上传hadoop文件(chown -R hadoop:hadoop hadoop/*  (把hadoop文件夹的权限改为hadoop用户))

2)配置hadoop-env.sh (该文件位于"hadoop/conf"目录下)
  export JAVA_HOME=/usr/java/jdk

3)配置core-site.xml文件 (该文件位于"hadoop/conf"目录下,这里配置的是HDFS的地址和端口号)

  <configuration>

   <property>

       <name>hadoop.tmp.dir</name>

       <value>/data/hadoop-tmp/hadoop-${user.name}</value>

       (备注:请先在建立 /data/hadoop-tmp/ 目录,并执行sudo chmod -R a+w /data/hadoop-tmp/)

       <description>A base for other temporary directories.</description>

   </property>

<!-- file system properties -->

   <property>

       <name>fs.default.name</name>

       <value>hdfs://localhost:9000</value>

   </property>

</configuration>

4)配置hdfs-site.xml文件 (该文件位于"hadoop/conf"目录下,修改Hadoop中HDFS的配置,配置的备份方式默认为3)

<configuration>

   <property>

       <name>dfs.replication</name>

       <value>1</value>

       (备注:replication 是数据副本数量,默认为3,salve少于3台就会报错)

   </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
        <description>关闭权限配置</description>
    </property>

<configuration>

5)配置mapred-site.xml文件 (该文件位于"hadoop/conf"目录下,修改Hadoop中MapReduce的配置文件,配置的是JobTracker的地址和端口)

<configuration>

   <property>

       <name>mapred.job.tracker</name>

       <value>localhost:9001</value>

   </property>

</configuration>

6) 格式化HDFS文件系统 (在"Master.Hadoop"上使用普通用户hadoop进行操作.只需一次,下次启动不再需要格式化,只需 start-all.sh)
  cd bin
  ./hadoop namenode -format

7) 启动hadoop
  cd bin
  ./start-all.sh

8) 验证hadoop
 
http://192.168.133.134:50030/  (MapReduce页面)
 
http://192.168.133.134:50070/  (HDFS页面)

====================================================== 集群 =====================================

所有机器先安装以上的步骤安装单机版hadoop(除了5与6),安装完以后再按以下操作执行

1、修改/etc/hostname
  主机:hadoop.main
  从机:hadoop.slave

2、修改/etc/hosts,都增加以下内容(主机增加全部,从机只增加主机ip和本机ip)
  192.168.133.134 hadoop.main
  192.168.133.135 hadoop.slave

3、验证一下:
  ping 192.168.133.134
  ping 192.168.133.135

4、把主机的密钥添加到从机中(以下都在主机操作)
  su - hadoop
  cd /home/hadoop/.ssh/
  scp id_rsa.pub hadoop.slave:./.ssh/
  ssh hadoop.slave
  cd /home/hadoop/.ssh/
  cat id_rsa.pub>>authorized_keys
  exit
  回到主节点(hostname):ssh hadoop.slave (出现以下信息即成功)

  Welcome to Ubuntu 12.10 (GNU/Linux 3.5.0-17-generic x86_64)
  * Documentation:  
https://help.ubuntu.com/
  Last login: Sat Jan 26 05:14:13 2013 from hadoop.main

5、把主从机上core-site.xml、mapred-site.xml中的localhost都改为hadoop.main

========================================  hive 配置 ======================================

1. 安装hive

 

  • 将hive解压至 hadoop master机器其中一个目录

     

  • 设置好 HADOOP_HOME变量

    vim /etc/profile  

    export HADOOP_HOME=/home/hadoop/hadoop
    export HIVE_HOME=/home/hadoop/hive

2. 配置 hive metadata store

 

  • hive的配置信息保存在数据库中,默认是自带的 derby数据库,需要迁移存储至 mysql,或者是oracle数据库

1) 创建 mysql 用户

 

mysql> CREATE USER 'hive'@'localhost' IDENTIFIED BY '123456789';  
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost' WITH GRANT OPTION;

2) 将mysql jdbc driver jar放在 $HIVE_HOME/lib/ 下面

3) 创建conf/hive-site.xml 数据库配置,conf/hive-site.xml的配置会覆盖 conf/hive-default.xml默认值

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
       <property>    
               <name>hive.metastore.local</name>    
               <value>true</value>    
               <description>controls whether to connect to remove metastore server or open a new metastore server in Hive Client JVM</description>  
       </property>

       <property>
         <name>javax.jdo.option.ConnectionURL</name>
         <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
         <description>JDBC connect string for a JDBC metastore</description>
       </property>

       <property>
         <name>javax.jdo.option.ConnectionDriverName</name>
         <value>com.mysql.jdbc.Driver</value>
         <description>Driver class name for a JDBC metastore</description>
       </property>

       <property>
         <name>javax.jdo.option.ConnectionUserName</name>
         <value>hive</value>
         <description>username to use against metastore database</description>
       </property>

       <property>
         <name>javax.jdo.option.ConnectionPassword</name>
         <value>123456789</value>
         <description>password to use against metastore database</description>
       </property>
</configuration>

3. 启动hadoop:./start-all.sh,验证hive

======================================================================================================

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值