Member since
05-20-2016
155
Posts
220
Kudos Received
30
Solutions
My Accepted Solutions
| Title | Views | Posted |
|---|---|---|
| 7246 | 03-23-2018 04:54 AM | |
| 2656 | 10-05-2017 02:34 PM | |
| 1481 | 10-03-2017 02:02 PM | |
| 8408 | 08-23-2017 06:33 AM | |
| 3239 | 07-27-2017 10:20 AM |
10-30-2018
12:40 AM
@Geoffrey Shelton Okot
Only a user who own the thread Or a user with 1000+ points can accept other users answers as accepted. I have marked your previous answer as "Accepted" which you answered on "Aug 09, 2017" as that answer looks more informative form this HCC thread perspective.
... View more
04-06-2017
05:21 AM
@Santhosh B Gowda This is more of a design on how JDBC client needs to be configured with the principal name of HIVESERVER2 to make sure the auth type to be Kerberos. Also, the authentication token would for the user who has valid kerberos ticket while connecting from Beeline. For example, kinit example_user@EXAMPLE.COM jdbc:hive2://zkhost:2181/db;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;principal=hive/_HOST@EXAMPLE.COM; In this case, the authentication against the KDC would be for user example_user and the auth header would have KERBEROS by specifying the principal of Hiveserver2.
... View more
03-21-2017
06:47 AM
1 Kudo
@nshetty We can search for "security_type" = Kerberos from teh following API call: http://AMBARI_HOST:8080/api/v1/clusters/CLUSTERNAME?fields=Clusters/security_type
... View more
03-16-2017
08:21 AM
7 Kudos
@Santhosh B Gowda There is no direct rest api call where we find out "isHAEnabled" for HDFS. But when we enabled HA for HDFS, "dfs.nameservices" parameter will gets set. So we get the value of dfs.nameservices from the configs and if it is empty then HA is not enabled. If it contains value HA is enabled. you can get the configs using the following API. http://<AMBARI-SERVER>/api/v1/clusters/cl1/configurations?type=hdfs-site&tag=TOPOLOGY_RESOLVED
... View more
03-08-2017
12:20 PM
10 Kudos
Storm 1.1.X provide an external storm kafka client that we could use to build storm topology. Please note this is support for Kafka 0.10 onwards. Below is the step by step guide on how to use the API's. Add below dependency to your pom.xml <dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-kafka-client</artifactId>
<version>1.1.1-SNAPSHOT</version>
</dependency>
The kafka spout implementation for the topology is configured using KafkaSpoutConfig. Below is a sample config object creation. KafkaSpoutConfig spoutConf = KafkaSpoutConfig.builder(bootStrapServers, topic)
.setGroupId(consumerGroupId)
.setOffsetCommitPeriodMs(10_000)
.setFirstPollOffsetStrategy(UNCOMMITTED_LATEST)
.setMaxUncommittedOffsets(1000000)
.setRetry(kafkaSpoutRetryService)
.setRecordTranslator
(new TupleBuilder(), outputFields, topic )
.build();
Above class follows builder pattern. bootStrapServers is the Kafka broker end point from where the consumer records are to be polled. topic is the kafka topic name. It can be a collection of kafka topic ( multiple topic or a Pattern ( regular expression ) as well. consumerGroupId would set the kafka consumer group id ( group.id). setFirstPollOffsetStrategy allows you to set from where the consumer records should be fetched. This takes an enum as input and below is the description for the same. EARLIEST - spout will fetch the first offset of the partition, irrespective of commit
LATEST - spout will fetch records greater than the last offset in partition, irrespective of commit.
UNCOMMITTED_EARLIEST - spout will fetch the first offset of the parition, if there is no commit
UNCOMMITTED_LATEST - spout will fetch records from the last offset, if there is no commit.
kafkaSpoutRetryService impl is provided below. This is making use of ExponentialBackOff. This setRetry provides a pluggable interface if in case you would want to have failed tuples retry differently. KafkaSpoutRetryService kafkaSpoutRetryService = new KafkaSpoutRetryExponentialBackoff(KafkaSpoutRetryExponentialBackoff.TimeInterval.microSeconds(500),
KafkaSpoutRetryExponentialBackoff.TimeInterval.milliSeconds(2), Integer.MAX_VALUE, KafkaSpoutRetryExponentialBackoff.TimeInterval.seconds(10));
setRecordTranslator provides a mechanism through which we can specify how the kafka consumer records should be converted to tuples. In the above given e.x the TupleBuilder is implementing Func interface. Below is the sample impl of apply method that needs to be overridden. OutputFields is the list of the fields that will be emitted in tuple. Please note there are multiple ways to set translate records to tuple. Please go through storm kafka client documentation for more details. public List<Object> apply(ConsumerRecord<String, String> consumerRecord) {
try {
String records[] = consumerRecord.value().split('|')
return Arrays.asList(records);
} catch (Exception e) {
LOGGER.debug("Failed to Parse {}. Throwing Exception {}", consumerRecord.value() , e.getMessage() );
e.printStackTrace();
}
return null;
} Once the above step is complete, topology can include above created spoutConf as below. TopologyBuilder builder = new TopologyBuilder();
Config conf = new Config();
conf.setNumWorkers(1);
builder.setSpout(KAFKA_SPOUT, new KafkaSpout(spoutConf), 1); Reference: https://github.com/apache/storm/blob/1.x-branch/docs/storm-kafka-client.md
... View more
Labels:
01-24-2017
07:28 PM
3 Kudos
If you are not setting the password on Cloudbreak directly, then the default password for every component is admin. If you wish, you can change the default password in the Advanced Options menu: http://sequenceiq.com/cloudbreak-docs/latest/aws/#advanced-options Attila
... View more
01-17-2017
02:58 PM
1. Only once 2. Use decision property https://www.infoq.com/articles/oozieexample/
... View more
01-05-2017
06:58 AM
You can access the cloudbreak API documentation here https://cloudbreak.sequenceiq.com/cb/api/index.html
... View more
12-27-2016
07:00 AM
1 Kudo
@Constantin Stanca I see this issue with both fresh and upgraded system and moving from s3n and s3a help me in uploading to S3.
... View more