How to integrate hadoop with zookeeper and hbase - apache

I have set up a single node cluster of Hadoop 2.6 but i need to integrate zookeeper and hbase with it.
I am a beginner with no prior experience in big data tools.
How do you set up zookeeper to coordinate hadoop cluster and how do we use hbase over hdfs?
How do they combine to make a ecosystem?

For standalone mode, just follow the steps provided in this HBase guide:http://hbase.apache.org/book.html#quickstart
HBase has a standalone mode that makes it easy for starters to get going. In standalone mode hbase,hdfs, and zk runs in single JVM process.

It depends on the kind of system that you want to build. As you said, the Hadoop ecosystem is made my three major components: HBase, HDFS, and zookeeper. Although they can be installed independently from each other, sometimes there is no need to install them all depending on the kind of cluster that you want to setup.
Since you are using a single node cluster, there are two HBase run modes that you can choose: the standalone mode and the pseudo-distributed mode. In the standalone mode there is no need to install HDFS or Zookeeper. HBase will do everything in a transparent way. If you want to use the pseudo-distributed mode, you can run HBase against the local filesystem or against HDFS. If you want to use HDFS, you'll have to install Hadoop. About the zookeeper, again, the HBase will also do the job by itself (you just need to tell him that through the configuration files).
In case you want to use HDFS in the pseudo-distributed mode, downloading Hadoop you will get HDFS and MapReduce. If you don't want to execute MapReduce jobs, just ignore its tools.
If you want to learn more, I think that this guide explains it all very well: https://hbase.apache.org/book.html (check the HBase run modes).

Related

Ignite YARN deployment vs vanilla deployment vs embedded deployment

With the latest Ignite release (2.4), embedded deployment of Ignite was deprecated, and I refer to the original discussion forum link.
http://apache-ignite-developers.2346864.n4.nabble.com/Deprecate-IgniteRDD-in-embedded-mode-td24867.html
1) However, it was not clear from the documentation as to what advantage would the YARN deployment have over embedded. If this can please be explained. Wouldn't the YARN deployment have similar shortcomings as embedded?
2) My use case involves using Ignite to create a distributed cache while computing in Spark. Would vanilla deployment of Ignite in a different/same cluster make more sense vs YARN deployment in my spark cluster?
I guess it was deprecated because adding and removing server nodes to topology on a whim would lead to expensive and error-prone process of rebalancing caches between nodes. Data may be lost if there are insufficient backups, or will need to be transferred between nodes when this happens. You can also get cluster failures if during a run insufficient nodes are kept alive.
It is much better to run all the needed nodes before work is started, avoid changing topology while work is underway, and kill all nodes once they're no longer needed. That's what YARN deployment tries to do.
Vanilla deployment may make more sense if the lifecycle of Ignite cluster is longer than lifecycle of work you run on MR.

How to create a bootstrap action for Impala on EMR

The latest version of Impala that I can find an EMR bootstrap action This one this is from 2015 and installs Impala 2.2.0
Is there an easy way to update this to 2.7 or 2.8? Spinning up an Ubuntu 14.04 box to do a build is one option, but I'm unclear how to ultimately install it on an EMR cluster.
As this moment, there is no documented script to easily update impala to work on EMR. Its a sys admin thing and yes, you might look at the install script and tweak it to include your own build. Also, make sure you have all dependencies.
Once you install it, you will need to ensure you have relevant configuration files placed somewhere in the CLASSPATH established by set-classpath.sh for Impala's use of EMR's HDFS, HBase , Hive metastore or S3 .

Should I write YARN application hadoop 2.6.0?

I want to use hadoop 2.6.0 and by default it's on YARN mode. So should I write the YARN application like this :
http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/WritingYarnApplications.html
Or I'm just write some mapreduce application like usual? And what the function of this YARN application?
I nned your suggest, Thanks all.....
Think of YARN as data operating system & MapReduce as your application which runs on top of YARN.
So, you existing MapReduce code should work without any modifications even on YARN mode.
The code example you have posted shows how you could develop your own applications on top of YARN which hides the abstractions of resource allocation, multi-tenancy, distributed programming, failover and so on. For example MapReduce framework itself is re-written as YARN application so that it could run on top of YARN. This allows YARN to run multiple applications (MapReduce, Spark, Tez, Storm, etc) simultaneously on the same cluster.

How Can I Automate Running Pig Batch Jobs on Elastic MapReduce without Amazon GUI?

I have some pig batch jobs in .pig files I'd love to automatically run on EMR once every hour or so. I found a tutorial for doing that here, but that requires using Amazon's GUI for every job I setup, which I'd really rather avoid. Is there a good way to do this using Whirr? Or the Ruby Elastic-mapreduce client? I have all my files in s3, along with a couple pig jars with functions I need to use.
Though I don't know how to run pig scripts with the tools that you mention, I know of two possible ways:
To run files locally: you can use cron
To run files on the cluster: you can use OOZIE
That being said, most tools with a GUI, can be controlled via the command line as well. (Though setup may be easier if you have the GUI available).

Where to find Apache Hive Embedded

I believe Apache Hive can be embedded in Java programs. Can somebody please direct me to the page where "Embedded Hive" can be downloaded? I need to embed Hive to be able to run it on Windows, which is where I am developing my application. Further instructions for embedding and code samples will also be useful.
Hive supports embedded mode only in the sense that the RDBMS which stores the meta information for the Hive tables can run locally or on a stand alone server (ref https://cwiki.apache.org/confluence/display/Hive/HiveClient ). Furthermore, hive with it's accompanying database is merely an orchestrator for a string of MapReduce jobs, which requires the Hadoop framework to be running as well.
Use the following class org.apache.hadoop.hive.service.HiveServer.HiveServerHandler make sure that hive/conf is on the classpath. And all the hive jars from hive/lib. This embedded client needs to be run from the same machine where your hive is installed. If your hive-site.xml is using derby than the embedded client will create a .metastore folder, if your hive-site.xml is using standalone db, then the embedded client will communicate with the db directly so make sure it is running.